Two-way sync
Changes in Box or Odoo instantly reflect in both systems. No stale data, no manual imports.
Keep Box and Odoo in sync without custom scripts. Cut weeks of integration work, eliminate silent data drift, and give your team a single, reliable source of truth.
Odoo runs the business on structured records: Projects and Tasks (project.project / project.task), Contacts (res.partner), Sales Orders (sale.order), Invoices (account.move). Box holds files and the metadata that describes them: Groups, Tasks, Events, Files. The two do not share a customer table or an order ledger. What they share is documents. Nearly every record Odoo touches produces a file that belongs in storage, whether an invoice, a purchase order, a statement, or a shipping doc, and many files that land in Box, from signed contracts to vendor bills to receipts, describe a transaction Odoo needs to record. Left unconnected, that link is maintained by hand: someone exports a PDF and drags it into a folder, or downloads a file and keys its details into a record.
Stacksync keeps Projects and Tasks (project.project / project.task), Contacts (res.partner), Sales Orders (sale.order), Invoices (account.move) in Odoo and Groups, Tasks, Events, Files in Box in sync, bi-directionally and in real time. A document and its details, the customer, the type, the date, an amount, an order or invoice number, are mapped field by field, so a file arrives in Box already labeled and filed, and metadata captured against a stored file can create or update the matching record in Odoo. Changes on either side show up within seconds, with conflict resolution in place of nightly exports and manual filing.
The result is that a transaction and the document that backs it stay together. Finance, operations, and audit teams find the file behind a record without digging through folders, and the record in Odoo and the file in Box never describe two different versions of the same document.
Record fields from Odoo, like customer, date, amount, type, and reference number, become the metadata and tags on the stored file in Box, so storage stays organized without anyone tagging by hand.
A contract, vendor bill, or receipt added to Box with its details can create or update the matching record in Odoo, so a document captured outside the finance system still reaches the books.
As records change in Odoo, the corresponding files and metadata in Box are kept in step, so a stored document reflects the latest version rather than a stale one-time export.
Representative objects on each side — any object or custom field can map to any target. Schemas are auto-detected; types are converted between the two systems.
| Box objects | Odoo objects | How this pairing syncs | |
|---|---|---|---|
| Collaborations Access grants linking a user or group to a file or folder with a role such as viewer, editor, or co-owner; written to manage sharing programmatically. | Contacts (res.partner) The unified person/company record used across sales, invoicing, and purchasing; the anchor for CRM syncs. | Collaborations is specific to Box and Contacts (res.partner) to Odoo — each maps to any object or custom field on the other side. | |
| Users Managed and app users in the enterprise; provisioned, updated, and deprovisioned to keep Box access aligned with an HR or identity source. | Sales Orders (sale.order) Quotations and confirmed orders synced with e-commerce and external CRMs. | Users is specific to Box and Sales Orders (sale.order) to Odoo — each maps to any object or custom field on the other side. | |
| Groups Named user collections used for bulk collaboration; membership synced from a directory or IdP. | Invoices (account.move) Customer invoices and journal entries synced with accounting and reporting tools. | Groups is specific to Box and Invoices (account.move) to Odoo — each maps to any object or custom field on the other side. | |
| Tasks Review or approval assignments on a file with due dates and states; read for workflow reporting or written to start approvals. | Products (product.template / product.product) Catalog and variant data distributed to storefronts and quoting tools. | Tasks is specific to Box and Products (product.template / product.product) to Odoo — each maps to any object or custom field on the other side. | |
| Events Enterprise admin event stream, an audit log of uploads, deletes, logins, and shares across the account; read-only, consumed for reporting or change feeds. | CRM Leads (crm.lead) Leads and opportunities synced with marketing and enrichment systems. | Events is specific to Box and CRM Leads (crm.lead) to Odoo — each maps to any object or custom field on the other side. | |
| Files Core content object with versions, name, size, and metadata; synced two-way so files and their attributes move between Box and a database or another store. | Purchase Orders (purchase.order) Procurement documents shared with supplier-facing systems. | Files is specific to Box and Purchase Orders (purchase.order) to Odoo — each maps to any object or custom field on the other side. |
Each direction of the sync is driven by what the source system can signal and what the destination accepts — detection, delivery, and expected latency below.
DetectionBox notifies Stacksync of record changes through webhook events. V2 webhooks fire on triggers such as FILE.UPLOADED, FILE.TRASHED, and METADATA_INSTANCE.UPDATED.
DeliveryEach detected change is written to Odoo through its API, with automatic retries and rate-limit backoff.
DetectionOdoo notifies Stacksync of record changes through webhook events. Polling on the write_date timestamp every record carries.
DeliveryEach detected change is written to Box through its API, with automatic retries and rate-limit backoff.
Real-time sync, workflow automation, event queues, EDI, and monitoring, for every Box–Odoo connection.
Changes in Box or Odoo instantly reflect in both systems. No stale data, no manual imports.
Trigger automated workflows whenever Box or Odoo data changes, update records, fire webhooks, or kick off sequences without brittle API scripts.
Handle millions of events per minute without losing a single Box or Odoo record.
Track your Box ⇄ Odoo sync health, view errors, and replay failed events in one click.
Transform legacy EDI complexity into simple database interactions between Box and Odoo.
Configure and sync within minutes, no code. Whether you sync 50k or 100M+ records, Stacksync handles the queues, infra, and plumbing. Integrations are non-invasive and need zero setup on your systems.
Authenticate Box and Odoo with each platform's native method — OAuth, API keys, or service accounts — plus secure options like SSH tunneling, IP whitelisting, and VPC peering.
Pick the Box and Odoo objects to sync — Stacksync auto-detects both schemas, including custom fields where the platform exposes them. Sync to existing tables, or let Stacksync create new ones with ideal data types.
Fields map automatically even when names and types differ. Stacksync handles transformation and type casting for you, zero configuration required.
Yes. Stacksync provides a managed, real-time two-way integration between Box and Odoo: authenticate both systems, choose the objects to sync (such as Box's Collaborations and Users), map fields visually, and changes propagate both ways in milliseconds — no code required.
Common patterns for Box and Odoo: Metadata that files itself; Where Box captures inbound files: details reach the record; An archive that stays current. Record fields from Odoo, like customer, date, amount, type, and reference number, become the metadata and tags on the stored file in Box, so storage stays organized without anyone tagging by hand.
Box: REST API (api.box.com/2.0), plus the Events API and V2 Webhooks. Authentication: OAuth 2.0 for user-delegated access, or server-to-server auth via JWT (RSA keypair) or Client Credentials Grant (CCG) using a Box app; short-lived developer tokens for testing. Odoo: XML-RPC and JSON-RPC external API exposing the full ORM (search_read, create, write, unlink). Authentication: Database user credentials or per-user API keys. Stacksync manages authentication, retries, and rate limits on both sides.
Odoo: Custom fields added through Odoo Studio or modules (prefixed x_) are exposed through the same API automatically. Box: Files and folders share the Box ID namespace but are distinct object types; the account root is always folder ID 0. Stacksync's field mapping accounts for these differences between Box and Odoo without custom code.
Stacksync is SOC 2 Type II and ISO 27001 certified with HIPAA BAA support. Data is encrypted in transit, and a zero-persistent-storage architecture means Box and Odoo records are not retained after a sync operation.
Stacksync pricing is usage-based and starts at $1,000/month, including the managed Box and Odoo connectors, real-time two-way sync, monitoring, and support. That replaces building and maintaining a custom Box–Odoo integration in-house.
As a data company, we understand the importance of keeping your data secure. Stacksync is built with security best practices to keep your data safe at every layer, and is DPF-certified for US, EU, UK and CH data transfers.
Let your users access Stacksync from your centralized user management systems. Works with Okta, Azure, Google SSO and more.
Immediately get alerted about record syncing issues over email, Slack, PagerDuty and WhatsApp. Resolve issues from a centralized dashboard with retry and revert options.
Securely connects to your systems with:
Every pair below is a real-time, two-way sync. Search all 511 integrations available for Box and Odoo.