Skip to Content

OneDrive and SharePoint — Attachments Stored in Microsoft 365

OneDrive and SharePoint integration for Odoo via Microsoft Graph — mirror attachments into Microsoft 365: OAuth2 admin consent, one folder per record, transfer queue, Retry-After honoured, token expiry detected, three remote deletion policies, call log. Document cloud storage sync, Community.

149.00 € 149.00 €

Free
Cette application n'est pas vendue ici : utilisez les boutons Odoo Apps Store ou Omnifloo ci-dessous.
Terms and Conditions
30-day money-back guarantee
Shipping: 2-3 Business Days

OneDrive and SharePoint integration for Odoo via Microsoft Graph — mirror attachments into Microsoft 365: OAuth2 admin consent, one folder per record, transfer queue, Retry-After honoured, token expiry detected, three remote deletion policies, call log. Document cloud storage sync, Community.

View on the Odoo Apps StoreTry it on Omnifloo

Overview

OneDrive and SharePoint — Odoo attachments in Microsoft 365

Odoo attachments live in Odoo. The company's documents live in SharePoint. In between, someone copies things over — and that someone forgets.

Also searched as: OneDrive Odoo, SharePoint Odoo, Microsoft 365 Odoo, Microsoft Graph Odoo, SharePoint attachments Odoo, cloud storage Odoo, OneDrive connector Odoo 19, Microsoft documents Odoo Community.

One folder per record, following a folder structure you decide. {modele}/{annee}/{enregistrement} by default, and the tokens can be rearranged. Names are sanitized before upload: characters Windows rejects, reserved names — CON, NUL — and path traversal attempts are neutralized, rather than letting the upload fail with an obscure message.

The refresh token expires, and the module says so. This is the case connectors handle poorly, because it is rare in testing and certain in production. Here, the connection switches to the “token expired” state, displays the reason returned by Microsoft with its date, stops the queue for that connection — tasks stay pending, none is lost or marked as failed — and waits for human action. No retry loop: hammering a dead token does not revive it, and eventually gets the account locked.

Rate limiting is respected, not suffered. On a 429, the module reads the Retry-After header, pauses the connection until that time and puts the task back in the queue. It is the module's only automatic retry, and it is justified: on a 429, we know the call did nothing.

Deletion is your decision, never ours. Three policies, selectable per connection: keep the remote file — this is the default —, move it to the trash, or delete it permanently. Removing a duplicate in Odoo is not the same as deciding the fate of a company's supporting document.

No network call in a process that serves a page. Uploading a document only writes a record: sending happens from the cron job or from a “now” action. A call attempted from a computed field is refused — this is a safeguard verified by a test, not a guideline.

An orphaned task is flagged, never retried. A task whose process died mid-upload may have succeeded. Running it again would create a duplicate in SharePoint that would have to be tracked down by hand. It is marked, counted, and awaits a decision.

Nothing is sent until you have named something. No model is tracked by default.

Not proven in production

This module has not been tested against a real Microsoft tenant. The Microsoft 365 Developer Program, which used to provide a free trial tenant, is now restricted to Visual Studio Professional or Enterprise subscribers and members of qualifying programs — verified on September 14, 2026. Exchanges with Microsoft Graph are tested against recorded responses, including errors, expired tokens and quota rejections. The logic is tested; end-to-end conformance with a real tenant is not, and we would rather state that here than let you find out for yourself.

What the module does not do

It does not upload files larger than four megabytes: beyond that, Graph requires a chunked upload session, which this version does not include — the file stays in Odoo, intact, and the task says so. It does not bring files created in SharePoint back into Odoo. It does not sync in both directions. It does not replace the Documents app of Odoo Enterprise.

Specifications

Price€149 excl. VAT
LicenseOPL-1
Odoo series19.0: published on the Odoo Apps Store; 20.0: published on the Odoo Apps Store
Version1.0.0
EditionOdoo Community / on-premise
Technical namedyo_ms_graph_documents
DomainConnectors and automation

Price excluding VAT as displayed on the Odoo Apps Store; purchase and installation are done on the Store or through your Omnifloo instance.