A build-to-order Odoo module that stores, syncs, and edits your Odoo attachments directly in Microsoft 365 SharePoint and OneDrive — with two-way linking, Office Online editing, and filestore offload over the Microsoft Graph API. ECOSIRE scopes, builds, installs, and supports it for your tenant. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $399.00 USD; request a quote for a scoped proposal.

A build-to-order Odoo module that stores, syncs, and edits your Odoo attachments directly in Microsoft 365 SharePoint and OneDrive — with two-way linking, Office Online editing, and filestore offload over the Microsoft Graph API. ECOSIRE scopes, builds, installs, and supports it for your tenant.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Odoo's native attachment handling was designed to keep files inside the Odoo filestore, not inside your document platform. For a Microsoft 365-centric organization this creates a painful split: contracts, quotes, and delivery notes live as ir.attachment blobs in Odoo, while the rest of the business collaborates, co-authors, and version-controls documents in SharePoint and OneDrive. Teams download from one system and re-upload to the other, the Odoo filestore balloons on every server and backup it touches, and there is no single place where a file's permissions, version history, and audit trail actually live. Odoo core (base, mail, web) gives you the chatter attachment widget, and Enterprise adds Documents, but neither connects your records to a Microsoft 365 tenant or lets a user co-author a spreadsheet in Office Online straight from a sale order.
OAuth2 connection to your Microsoft 365 tenant via a customer-owned Microsoft Entra ID app registration, with token refresh handled server-side and no third-party credential storage
Background auto-upload of Odoo `ir.attachment` files to a mapped SharePoint document library or OneDrive folder on the Microsoft Graph API
Per-model folder-mapping rules so each nominated `res.model` (e.g. `sale.order`, `project.project`) routes to a specific site, library, and folder path
Two-way linking that shows live SharePoint/OneDrive files on the Odoo record without duplicating storage — the record points to the Graph item, not a copied blob
'Open in Office Online' Word/Excel/PowerPoint co-authoring links surfaced from the chatter attachment widget and from Documents
Storage offload mode that keeps the master copy in Microsoft 365 and shrinks the Odoo filestore, reducing backup and disk footprint
This is a made-to-order Odoo module that ECOSIRE builds against your specific tenant and record model. At its core is a clean-room connector to the Microsoft Graph API, authenticated with OAuth2 through a Microsoft Entra ID app registration that you own — so tokens, consent, and data residency stay entirely inside your Microsoft 365 environment. We extend ir.attachment and add supporting models (models.Model with typed fields, @api.depends computes for live sync state, and locked-down ir.model.access.csv plus record rules) so that when a document is attached to a record it is uploaded in the background to a mapped SharePoint document library or OneDrive folder. The Odoo record then shows the live file through a two-way link rather than a duplicated copy, and an "Open in Office Online" action launches Word, Excel, or PowerPoint editing in the browser directly from the chatter and from Documents.
Technically, the sync runs on Graph through a queued, retrying worker (built on Odoo automated actions / ir.cron) that respects Graph throttling and rate limits, records a per-document status (uploaded, linked, failed, retried) in an audit log, and provisions folders from a configurable per-record naming template — for example a dedicated SharePoint folder per sale order or per project. Folder-mapping rules are defined per model, so each res.model you nominate routes to the right site and library, with multi-site and multi-library support for large tenants. Permission mapping aligns Odoo record access with SharePoint sharing links, storage offload shrinks the filestore by keeping the master copy in Microsoft 365, and a one-click bulk migration tool moves your existing Odoo attachments into SharePoint on go-live. Everything is delivered as clean __manifest__.py-declared source with XML/OWL views and works across Odoo 17.0, 18.0, and 19.0 (Community or Enterprise — we confirm your edition during scoping since Enterprise Documents changes some integration points).
Because this is build-to-order, nothing is auto-downloaded. After you request a quotation we run a short scoping call to confirm your tenant setup, the models and libraries in scope, permission rules, and migration volume; then we build, test on a staging database, and install on your Odoo. Typical delivery is 2–4 weeks from confirmed scope. Pricing starts from $399 (indicative, single-company base scope); multi-company routing, additional models and SharePoint sites, deeper permission/sharing-link mapping, and large existing-attachment migration volumes increase the quoted scope. You receive a fixed quote after the scoping call — never a surprise on delivery.
Runs a business where SharePoint and OneDrive are the document backbone. Wants Odoo records to reference the same files everyone else co-authors, instead of maintaining parallel copies that drift out of sync.
Owns the Odoo instance and the Entra ID tenant. Needs a governed OAuth2 connection they control, admin-only connection settings, and an audit log showing exactly what synced, failed, or retried.
Watches the Odoo filestore grow on every server and backup. Wants storage offload to Microsoft 365 so the database and filestore stay lean while files keep a single authoritative home.
Requires document access to match record access and sharing to be traceable. Values the permission mapping between Odoo record rules and SharePoint sharing links, plus the per-document audit trail.
Buy the license on ecosire.com and download the Microsoft 365 SharePoint & OneDrive Document Integration module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for Microsoft 365 SharePoint & OneDrive Document Integration, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Availability | Build-to-order for your tenant; installed after scoping | Built from scratch by your own devs | Instant download, generic to all tenants | |
| SharePoint / OneDrive sync | Two-way linking with no duplicated storage | Whatever you have time to build and maintain | Often one-way upload with copied files | |
| Office Online editing | Word/Excel/PowerPoint co-authoring from chatter | Rarely built due to Graph complexity | Varies; sometimes download-only | |
| Storage offload | Master copy in M365; filestore shrinks | Possible but you own the edge cases | Sometimes duplicates rather than offloads | |
| Sync reliability | Queued worker, retry, Graph rate-limit handling, audit log | Depends on your engineering depth | Black-box; limited visibility on failures | |
| Permission alignment | Record access mapped to SharePoint sharing links | Manual mapping to design and test | Typically not mapped to Odoo record rules | |
| Fit to your models | Per-model mapping and naming templates you specify | Fully bespoke but slow and costly | Fixed model coverage, hard to extend | |
| Support & version upgrades | Post-go-live window + 17/18/19 upgrade retainers | Falls on your internal team | Vendor-generic, no tailoring to your build |
No. This is a build-to-order Odoo module that ECOSIRE builds specifically for your Microsoft 365 tenant and record model. There is no instant download — after you request a quotation we scope, build, test on staging, and install it on your Odoo.
Typical delivery is 2–4 weeks from confirmed scope. The exact timeline depends on how many models and SharePoint sites are in scope, your permission-mapping rules, and the volume of existing attachments to migrate. We confirm dates in writing after the scoping call.
Pricing starts from $399 as an indicative single-company base scope. Drivers such as multi-company routing, additional models and SharePoint libraries, deeper permission/sharing-link mapping, and large migration volumes increase the quoted scope. You get a fixed quote after a short scoping call — no firm price is committed until scope is confirmed.
No. Authentication uses OAuth2 against a Microsoft Entra ID app registration that you own inside your own tenant. Tokens and consent stay in your Microsoft 365 environment; the connector holds only what your admins configure, protected by admin-only access rules in Odoo.
We build for Odoo 17.0, 18.0, and 19.0 on Community or Enterprise. We confirm your edition during scoping because Enterprise Documents changes some integration points; the delivered module targets your exact version.
Every engagement includes a post-go-live support window for fixes and adjustments to the delivered scope. Beyond that, we offer ongoing support and version-upgrade retainers — for example moving your module from Odoo 18.0 to 19.0 — quoted separately based on your needs.
No. Sync runs on a queued background worker built on `ir.cron` with exponential-backoff retry and explicit Microsoft Graph rate-limit handling. Uploads happen out of the user's request cycle, and every document carries a status (`uploaded`, `linked`, `failed`, `retried`) so nothing fails silently.
A build-to-order Odoo module that stores, syncs, and edits your Odoo attachments directly in Microsoft 365 SharePoint and OneDrive — with two-way linking, Office Online editing, and filestore offload over the Microsoft Graph API. ECOSIRE scopes, builds, installs, and supports it for your tenant.