Two-way sync
Changes in Odoo or Splunk instantly reflect in both systems. No stale data, no manual imports.
Keep Odoo and Splunk 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 Splunk, next to the product, behavioral, and web data the team already measures.
Stacksync syncs Projects and Tasks (project.project / project.task), Contacts (res.partner), Sales Orders (sale.order), Invoices (account.move) from Odoo into Splunk continuously, handling API limits and schema drift as it goes, so each record type arrives as Search Results, Saved Searches, Fired Alerts, KV Store Collections ready to report on. The connection is bi-directional, so segments, scores, and metrics computed in Splunk can be written back to fields in Odoo where that is useful.
Financial records from Odoo land in Splunk 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 Splunk already tracks, so customer analysis spans activity and dollars in one view.
Operational records from Odoo become measurable in Splunk, joinable with the rest of what the company tracks for supply and fulfillment reporting.
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 | Splunk objects | How this pairing syncs | |
|---|---|---|---|
| Invoices (account.move) Customer invoices and journal entries synced with accounting and reporting tools. | Search Results SPL searches dispatched via POST /services/search/jobs return a search ID (SID); results are pulled from /services/search/jobs/{sid}/results once the job completes, or synchronously via oneshot/export mode. The primary read path for streaming indexed events out to a warehouse. | Invoices (account.move) is specific to Odoo and Search Results to Splunk — each maps to any object or custom field on the other side. | |
| Products (product.template / product.product) Catalog and variant data distributed to storefronts and quoting tools. | Saved Searches Scheduled searches, reports, and the definitions behind alerts at /services/saved/searches with full create, update, and delete. Read out for governance and coverage review, or provisioned and updated from a config source. | Products (product.template / product.product) is specific to Odoo and Saved Searches to Splunk — each maps to any object or custom field on the other side. | |
| CRM Leads (crm.lead) Leads and opportunities synced with marketing and enrichment systems. | Fired Alerts Triggered alert instances listed at /services/alerts/fired_alerts; alert configuration (conditions, schedule, actions) lives on the corresponding saved search. Landed in a database for alert-trend and detection-coverage reporting. | CRM Leads (crm.lead) is specific to Odoo and Fired Alerts to Splunk — each maps to any object or custom field on the other side. | |
| Purchase Orders (purchase.order) Procurement documents shared with supplier-facing systems. | KV Store Collections App-scoped, MongoDB-backed key-value collections at /servicesNS/{owner}/{app}/storage/collections/data/{collection} with full CRUD and batch endpoints. Genuinely bidirectional lookup/state store — read records out or write records in. | Purchase Orders (purchase.order) is specific to Odoo and KV Store Collections to Splunk — each maps to any object or custom field on the other side. | |
| Inventory Transfers (stock.picking) Delivery and receipt operations synced for fulfillment visibility. | Indexes Index inventory and settings (retention, max size, event counts) via /services/data/indexes, with create and edit; loaded into a database for capacity, retention, and data-onboarding tracking. | Inventory Transfers (stock.picking) is specific to Odoo and Indexes to Splunk — each maps to any object or custom field on the other side. | |
| Employees (hr.employee) HR records read for directory and provisioning syncs. | HTTP Event Collector The write-in path: POST events and metrics to /services/collector (port 8088, or 443 on Splunk Cloud) authenticated with a per-input HEC token, so external records are indexed alongside logs for search and correlation. | Employees (hr.employee) is specific to Odoo and HTTP Event Collector to Splunk — 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 Splunk through its API, with automatic retries and rate-limit backoff.
DetectionSplunk notifies Stacksync of record changes through webhook events. Time-range searches over indexed events (earliest/latest on _time or _indextime).
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–Splunk connection.
Changes in Odoo or Splunk instantly reflect in both systems. No stale data, no manual imports.
Trigger automated workflows whenever Odoo or Splunk 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 Splunk record.
Track your Odoo ⇄ Splunk sync health, view errors, and replay failed events in one click.
Transform legacy EDI complexity into simple database interactions between Odoo and Splunk.
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 Splunk 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 Splunk 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 Splunk: authenticate both systems, choose the objects to sync (such as Odoo's Invoices (account.move) and Products (product.template / product.product)), map fields visually, and changes propagate both ways in milliseconds — no code required.
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 Splunk: Where Odoo holds the books: revenue and finance dashboards from live data; Where Odoo runs order-to-cash: customer and account analytics; Where Odoo runs operations: inventory and fulfillment metrics. Financial records from Odoo land in Splunk as they change, so revenue, margin, and spend dashboards read current figures rather than last night's export.
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. Splunk: REST API (management API + HTTP Event Collector). Authentication: HTTP Basic (username/password), or a session key from POST /services/auth/login sent as Authorization: Splunk <key>, or a bearer authentication token (Authorization: Bearer <token>). The HTTP Event Collector uses its own per-input token (Authorization: Splunk <hec-token>). Management API defaults to port 8089; HEC to port 8088 (443 on Splunk Cloud). Stacksync manages authentication, retries, and rate limits on both sides.
Splunk: Authentication supports HTTP Basic, a session key from /services/auth/login (Authorization: Splunk <key>), and bearer authentication tokens; the HTTP Event Collector uses its own per-input token. 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 Splunk 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 Odoo and Splunk records are not retained after a sync operation.
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 492 integrations available for Odoo and Splunk.