- Home
- Apps
- SaaS Tools
- Dropbox Integration for Odoo
Illustrative previewA build-to-order Odoo module that connects your database to Dropbox
— auto-syncing attachments, mirroring a folder structure per record, offloading storage, and generating shareable links.
ECOSIRE builds, installs and supports it for Odoo 17, 18 and 19.
What is Dropbox Integration for Odoo?
A build-to-order Odoo module that connects your database to Dropbox — auto-syncing attachments, mirroring a folder structure per record, offloading storage, and generating shareable links. ECOSIRE builds, installs and supports it for Odoo 17, 18 and 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- Odoo Compatibility
- Odoo 17, Odoo 18, Odoo 19
- Editions
- Enterprise & Community
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- PostgreSQL 12+
About this Product
Teams that live in Dropbox but run operations in Odoo end up maintaining two parallel filing systems. A signed contract gets dropped into a Dropbox client folder, then re-uploaded as an ir.attachment on the sales order; a QC photo sits in Dropbox but the manufacturing order references nothing. Odoo's native attachment model stores files in the PostgreSQL filestore (or an S3-style backend if you configure ir_attachment storage), but it has no concept of Dropbox — no two-way sync, no per-record folder mapping, and no way to hand a customer a Dropbox shared link straight from a record. Beyond a certain document volume the filestore also bloats backups, and finance/legal want the canonical copy to live where the rest of the company already collaborates: Dropbox.
This is a build-to-order module that ECOSIRE designs, builds and installs against your database — not an existing apps.odoo.com download. We add a Dropbox connection layer wired to the Dropbox HTTP API v2 with OAuth2 (short-lived access tokens plus a stored refresh token, encrypted in ir.config_parameter). Attachments are intercepted at the ir.attachment ORM level via overridden create/write, so any file added to a mapped model — a sale.order, project.task, hr.employee, whatever your scope names — is pushed to Dropbox and linked back by a stored dropbox_path / dropbox_file_id on a companion model. A models.Model mixin exposes compute fields (@api.depends) for sync status and the current shared link, and the folder path per record is generated from a configurable template (for example /Odoo/Sales/{partner}/{name}).
Technically, sync runs through Odoo's scheduler: an ir.cron automated action reconciles changes both ways using Dropbox cursors/deltas, so files added in Dropbox appear as Odoo attachments and vice versa, with conflict handling and per-model selective-sync toggles. Access is governed by ir.model.access.csv plus record rules so only entitled users trigger syncs or mint shared links; a settings page (Odoo res.config.settings OWL/XML view) holds the OAuth connection, folder templates and the selective-sync matrix. Everything is exposed over the standard XML-RPC/JSON-RPC API too, so external systems can query a record's Dropbox link. Where you want offloading, large attachments are uploaded to Dropbox and the local filestore copy is dropped, with the record still serving the file through a proxied download or the shared link — shrinking your Odoo backups. The build works on Community and Enterprise; we flag the handful of places (e.g. Documents app overlap on Enterprise) where behavior differs and scope accordingly.
Delivery is build-to-order. We start with a short scoping call to pin down exactly which models sync, your folder-naming convention, offload policy and Community-vs-Enterprise target, then confirm the scope in writing. Typical delivery is one working week from confirmed scope. You get the installable source for your Odoo version, UAT on a staging database, a rollback plan, technical and user documentation, a training session, and a post-go-live support window — plus the git repository so the code is yours to keep.
What you get
- Installable module source code targeted to your Odoo version (17.0, 18.0 or 19.0), Community or Enterprise
- Installation and configuration on your environment, including Dropbox app registration, OAuth connection and folder-template setup
- Technical documentation — models, fields, `ir.cron` schedule, security rules and configuration reference
- End-user guide plus a live training session for your team
- UAT on a staging/clone database with a documented rollback plan before production go-live
- A defined post-go-live support window for defect fixes and configuration adjustments
- Git repository handover so the source is yours to keep, fork and extend
- Selective-sync and folder-template configuration matched to the models and naming convention agreed at scoping
Who this is for
Dropbox-first SMB operations lead
Runs the business day-to-day on Odoo but the company's canonical files already live in Dropbox. Wants attachments to land in the right Dropbox client/project folder automatically instead of staff filing everything twice.
Finance / compliance manager
Needs signed contracts, invoices and supporting documents stored in the company's audited Dropbox structure with controlled shared links, while keeping the Odoo record as the system of reference.
IT / systems administrator
Owns the Odoo instance and is watching filestore growth balloon backups. Wants large attachments offloaded to Dropbox, sync governed by clear security rules, and the source in a git repo they control.
Project or delivery manager
Coordinates work in Odoo Projects but shares deliverables with clients via Dropbox links. Wants a per-task folder and a one-click shared link generated straight from the task without leaving Odoo.
How Dropbox Integration for Odoo Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Two-way Dropbox sync | Built-in, `ir.cron` delta-cursor reconciliation both directions | Possible but you design cursors, conflicts and idempotency yourself | Often one-way push only, or fixed to specific models | No Dropbox concept at all |
| Per-record folder structure | Configurable template resolved from record fields | Hand-coded per model | Usually a single flat or fixed folder | Files live in the PostgreSQL filestore, no folders |
| Attachment offloading | Optional per-model offload, filestore copy dropped, backups shrink | Buildable but you handle serving/proxying yourself | Rarely offered — most only mirror | All attachments stay in the filestore |
| Odoo version & edition fit | Built for your exact 17/18/19, Community or Enterprise | Whatever you build for | May lag new Odoo releases or need paid upgrades | Ships with core, no Dropbox |
| Security & access control | `ir.model.access.csv` + record rules, encrypted OAuth tokens | Your responsibility to implement correctly | Varies; token handling not always transparent | Standard attachment ACLs only |
| Shared-link generation | One-click on record, stored in compute field, re-mintable | Extra work to wire into the UI | Sometimes available, often manual | Not available |
| Support & ownership | Post-go-live support window + git repo handover, code is yours | You own it but also own all maintenance | Vendor-dependent; source often obfuscated | Community/Enterprise support, no Dropbox feature |
| Delivery model | Build-to-order, scoped to you, one working week from confirmed scope | Full project timeline, you manage it | Instant download but generic fit | Already installed, missing the capability |
Frequently Asked Questions about Dropbox Integration
Is this an app I can download and install right now?
No. It is build-to-order: ECOSIRE builds the module against your specific Odoo version and requirements, then installs and supports it. There is no instant download — we start with a scoping call to confirm exactly which models sync and how folders are named.
How long does delivery take?
Typical delivery is one working week from confirmed scope. The timeline depends on how many models you want synced, your offloading and folder-template rules, and Community-vs-Enterprise specifics. We lock the scope in writing after the scoping call before development starts.
Does it work with my version of Odoo and with Community or Enterprise?
Yes — we build for Odoo 17.0, 18.0 or 19.0, on Community or Enterprise. On Enterprise we account for overlap with the Documents app and scope behavior accordingly; the sync itself works on Community without any Enterprise dependency.
Is the sync really two-way?
Yes. Files added as Odoo attachments on mapped records are pushed to Dropbox, and files added in the mapped Dropbox folders are pulled back as `ir.attachment` records. Reconciliation runs on an `ir.cron` schedule using Dropbox delta cursors, with conflict handling and idempotency keyed on the Dropbox file id.
How do you get support and updates after go-live?
Every build includes a post-go-live support window for defect fixes and configuration adjustments. Because you receive the git repository, the code is yours to keep. Beyond the included window we offer ongoing support and can adapt the module when you upgrade Odoo versions or Dropbox changes its API.
Is it secure, and who can trigger a sync or create a shared link?
Access is governed by `ir.model.access.csv` and record rules, so only entitled users can trigger syncs or mint shared links. OAuth tokens are stored encrypted in `ir.config_parameter` rather than hardcoded, and Dropbox rate limits and `Retry-After` responses are respected with backoff.
Will offloading attachments to Dropbox break existing downloads in Odoo?
No. When a file is offloaded, the record still serves it — either through a proxied download or the Dropbox shared link — so users experience no change while your PostgreSQL filestore and backups shrink. Offloading is optional and scoped per model during the scoping call.
Related Modules

DPO Pay Gateway for Odoo
A build-to-order Odoo payment provider that connects checkout, invoicing and subscriptions to DPO Group so African merchants can take card, mobile-money and bank payments in local currencies. ECOSIRE scopes, builds, installs and supports it — it is not an instant apps.odoo.com download.

Drag & Drop PDF Report Designer
A drag-and-drop layout designer for Odoo QWeb PDF reports with real-time preview, so your team can restyle invoices, quotations, and delivery slips without touching XML. Built to order, installed, and supported by ECOSIRE.

Dynamic Financial Statements (IFRS/GAAP)
Custom multi-level IFRS/GAAP Balance Sheet, P&L and cash-flow statements in Odoo with comparative-period columns and consolidation.

Easypaisa Payment Gateway for Odoo
Accept Easypaisa wallet & OTC payments in Odoo eCommerce and customer portal — built-to-order for Odoo 17, 18 & 19.
Dropbox Integration
A build-to-order Odoo module that connects your database to Dropbox — auto-syncing attachments, mirroring a folder structure per record, offloading storage, and generating shareable links. ECOSIRE builds, installs and supports it for Odoo 17, 18 and 19.
- OAuth2 connection to the Dropbox HTTP API v2 with refresh-token rotation; tokens stored encrypted in `ir.config_parameter` (not hardcoded)
- Two-way sync via an `ir.cron` job using Dropbox delta cursors, so Odoo attachments and Dropbox files reconcile in both directions with conflict handling
- `ir.attachment` `create`/`write` overrides that transparently push any new attachment on a mapped model to Dropbox and store `dropbox_path` + `dropbox_file_id`
- Per-record folder auto-generation from a configurable template (e.g. `/Odoo/{model}/{partner}/{name}`) with placeholder resolution from record fields