Two-way sync
Changes in Odoo or Treasuredata instantly reflect in both systems. No stale data, no manual imports.
Keep Odoo and Treasuredata in sync without custom scripts. Cut weeks of integration work, eliminate silent data drift, and give your team a single, reliable source of truth.
ERP data is some of the most requested data for analysis and some of the hardest to pull: the record types are many, the APIs are strict, and export jobs break on every upgrade. Whether Odoo carries financials, operations, workforce data, or all three, those numbers belong in Treasuredata, next to the product, behavioral, and web data the team already measures.
Stacksync syncs Employees (hr.employee), Projects and Tasks (project.project / project.task), Contacts (res.partner), Sales Orders (sale.order) from Odoo into Treasuredata continuously, handling API limits and schema drift as it goes, so each record type arrives as Databases, Tables, Master (Parent) Segments, Segments ready to report on. The connection is bi-directional, so segments, scores, and metrics computed in Treasuredata can be written back to fields in Odoo where that is useful.
Segments, scores, or metrics computed in Treasuredata sync onto the matching records in Odoo, so operations act on what the analysis found.
Financial records from Odoo land in Treasuredata as they change, so revenue, margin, and spend dashboards read current figures rather than last night's export.
Orders, invoices, and account records from Odoo join the behavioral and usage data Treasuredata already tracks, so customer analysis spans activity and dollars in one view.
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.
| Odoo objects | Treasuredata objects | How this pairing syncs | |
|---|---|---|---|
| Inventory Transfers (stock.picking) Delivery and receipt operations synced for fulfillment visibility. | Tables Columnar log tables in TD's Plazma storage; every row carries a mandatory `time` column (Unix epoch) that Stacksync uses as the incremental watermark and partition key. Synced two-way with warehouse or database tables. | Inventory Transfers (stock.picking) is specific to Odoo and Tables to Treasuredata — each maps to any object or custom field on the other side. | |
| Employees (hr.employee) HR records read for directory and provisioning syncs. | Master (Parent) Segments Unified customer profiles assembled from multiple source tables in Audience Studio; read out to push enriched attributes onto CRM or warehouse records. | Employees (hr.employee) is specific to Odoo and Master (Parent) Segments to Treasuredata — each maps to any object or custom field on the other side. | |
| Projects and Tasks (project.project / project.task) Work items synced with external project tools. | Segments Campaign subsets of a parent segment; membership read out to activate audiences in downstream systems, or audience flags written back onto records. | Projects and Tasks (project.project / project.task) is specific to Odoo and Segments to Treasuredata — each maps to any object or custom field on the other side. | |
| Contacts (res.partner) The unified person/company record used across sales, invoicing, and purchasing; the anchor for CRM syncs. | Journeys Timeline-based event sequences in Audience Studio; stage and membership read out for reporting and cross-system activation. | Contacts (res.partner) is specific to Odoo and Journeys to Treasuredata — each maps to any object or custom field on the other side. | |
| Sales Orders (sale.order) Quotations and confirmed orders synced with e-commerce and external CRMs. | Predictive Segments AI/ML-scored segments; propensity scores read out and written onto customer records in a CRM or database for prioritization. | Sales Orders (sale.order) is specific to Odoo and Predictive Segments to Treasuredata — each maps to any object or custom field on the other side. | |
| Invoices (account.move) Customer invoices and journal entries synced with accounting and reporting tools. | Scheduled Queries Cron-scheduled Presto/Trino (or Hive) jobs that materialize results into result tables; Stacksync reads those materialized tables downstream. | Invoices (account.move) is specific to Odoo and Scheduled Queries to Treasuredata — 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.
DetectionOdoo notifies Stacksync of record changes through webhook events. Polling on the write_date timestamp every record carries.
DeliveryEach detected change is written to Treasuredata through its API, with automatic retries and rate-limit backoff.
DetectionStacksync polls Treasuredata for changes on an incremental schedule, reading only records changed since the previous pass. Polling on the mandatory `time` column (Unix-epoch partition key) or an updated-at column.
DeliveryEach detected change is written to Odoo through its API, with automatic retries and rate-limit backoff.
Real-time sync, workflow automation, event queues, EDI, and monitoring, for every Odoo–Treasuredata connection.
Changes in Odoo or Treasuredata instantly reflect in both systems. No stale data, no manual imports.
Trigger automated workflows whenever Odoo or Treasuredata data changes, update records, fire webhooks, or kick off sequences without brittle API scripts.
Handle millions of events per minute without losing a single Odoo or Treasuredata record.
Track your Odoo ⇄ Treasuredata sync health, view errors, and replay failed events in one click.
Transform legacy EDI complexity into simple database interactions between Odoo and Treasuredata.
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 Odoo and Treasuredata 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 Odoo and Treasuredata 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 Odoo and Treasuredata: authenticate both systems, choose the objects to sync (such as Odoo's Inventory Transfers (stock.picking) and Employees (hr.employee)), map fields visually, and changes propagate both ways in milliseconds — no code required.
On the Treasuredata side: Databases, Tables, Master (Parent) Segments, Segments, plus custom fields where Treasuredata exposes them. On the Odoo side: Employees (hr.employee), Projects and Tasks (project.project / project.task), Contacts (res.partner), Sales Orders (sale.order). Stacksync auto-detects both schemas and converts types between the two systems.
Yes. Each object mapping can be bidirectional or restricted to a single direction (both systems accept writes). Read-only mirrors, one-way pushes, and full two-way sync can be mixed in the same integration.
Common patterns for Odoo and Treasuredata: Write-back where Odoo exposes writable fields: segments and scores return; Where Odoo holds the books: revenue and finance dashboards from live data; Where Odoo runs order-to-cash: customer and account analytics. Segments, scores, or metrics computed in Treasuredata sync onto the matching records in Odoo, so operations act on what the analysis found.
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. Treasuredata: TD API v3 (REST) for databases, tables, and jobs, plus the Audience API (REST) for CDP segments and journeys. Authentication: API key sent as an `Authorization: TD1 <api_key>` header (per-user or account key from the TD Console); requests go to the region-specific endpoint (e.g. api.treasuredata.com for US, with separate EU and Tokyo endpoints). Stacksync manages authentication, retries, and rate limits on both sides.
Treasuredata: TD storage (Plazma) is append/columnar-oriented — there is no native per-row change-data-capture stream, so incremental reads rely on polling a time or updated-at column. Odoo: The external API exposes the ORM generically: any model (res.partner, sale.order, account.move) is accessed with the same execute_kw call pattern rather than per-object endpoints. Stacksync's field mapping accounts for these differences between Odoo and Treasuredata without custom code.
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 394 integrations available for Odoo and Treasuredata.