Odoo is an open-source ERP and CRM platform delivering integrated business apps—accounting, CRM, sales, inventory, manufacturing, HR, and more—to roughly 15 million users worldwide. An API lets you programmatically read and write records across Odoo models like partners, sales orders, invoices, products, and employees—and push updates such as new orders, invoices, and stock moves back into Odoo across its modular suite.

Odoo is an open-source ERP and CRM platform offering a fully integrated suite of business applications for companies of all sizes, serving roughly 15 million users globally. Customers run accounting and document processing, sales pipeline and quoting, inventory and manufacturing, project delivery, HR, and eCommerce on a single connected platform—replacing disconnected point tools with modules that share one data model.
Core product areas include:
Common data entities:
Odoo exposes a powerful external API, but building durable integrations against real customer deployments is non-trivial:
Supergood delivers a resilient, normalized API layer over your Odoo instance—whether Community or Enterprise, self-hosted, Odoo Online, or Odoo.sh—abstracting away the underlying XML-RPC, JSON-RPC, and JSON-2 transport so you integrate once against stable objects.
Use Odoo with AI agents: Odoo MCP Server →
Book a 30-minute session to confirm your Odoo edition, version, deployment model, and the modules you need.
We deliver a production-ready Odoo adapter tailored to your models, custom fields, and entitlements.
Go live with continuous monitoring and automatic adjustments as Odoo evolves and deprecates legacy endpoints.
Authentication
/authenticateAuthenticate against an Odoo database with username/password or API key and obtain a uid/session for downstream calls.
Contacts
/partnersList partners and contacts (res.partner) with filters for company, customer/vendor type, and country.
Sales
/sale_ordersRetrieve sales orders and quotations (sale.order) with status, customer, and date filters, including order lines.
Sales
/create_sale_orderCreate a new quotation or sales order with order lines against existing products and a customer.
Accounting
/invoicesPull customer invoices and vendor bills (account.move) with payment status, journal, and period filters.
Inventory
/productsList products and variants (product.template/product.product) with on-hand quantities, pricelists, and categories.
- Pull sales orders, quotations, and order lines from sale.order into a warehouse - Stream customer invoices and payments from account.move to BI and finance tools - Reconcile partner records so customer 360 stays consistent across systems
- Push new quotations and sales orders into Odoo from your CRM or storefront - Attach order lines against existing products and pricelists - Trigger downstream confirmation and delivery workflows without portal clicks
- Sync products, variants, and on-hand quantities from Inventory into commerce channels - Push stock adjustments and receipts back as stock moves - Surface low-stock and reorder events to procurement workflows
- Pull employees, time off, and timesheets from HR modules into payroll and reporting - Sync projects and tasks for unified delivery dashboards - Keep employee and contact records aligned across Odoo and downstream systems
Authentication
Database authenticate() (username/password), API keys, or /web/session/authenticate session cookies, handled in a managed session
Connectivity
Odoo external API over XML-RPC (/xmlrpc/2), JSON-RPC (/jsonrpc), and the newer JSON-2 (/json/2) surface, version-selected automatically
Response format
Normalized JSON across partners, orders, invoices, products, stock, and HR models
Rate limits
Adaptive throttling tuned to your Odoo Online, Odoo.sh, or self-hosted instance to avoid server-side limits
Session management
Automatic session refresh, API-key rotation, and version-aware transport selection
Data freshness
Near real-time reads for orders, invoices, and stock with optional scheduled batch syncs
Security
Encrypted credential vault, scoped API keys, ACL/record-rule awareness, and audit logging
Webhooks
Event-style callbacks for order confirmation, invoice posting, payment, and stock changes via automated actions
Latency
Sub-second reads on cached models; multi-second writes when posting through accounting and inventory workflows
Throughput
Horizontally scaled workers sized to multi-module volume across Sales, Accounting, Inventory, and HR
Reliability
Retry, backoff, and idempotency handling for order, invoice, and stock-move writes
Adaptation
Continuous monitoring of Odoo version upgrades and the XML-RPC/JSON-RPC deprecation toward JSON-2
Yes. Supergood works across both Community and Enterprise editions and across versions, profiling your specific models and fields rather than assuming a fixed schema.
Yes. Supergood adapts to your deployment model, tuning URLs, database naming, and reachable endpoints for self-hosted, Odoo Online, and Odoo.sh instances.
Odoo plans to remove the legacy /xmlrpc/2 and /jsonrpc endpoints in Odoo 22. Supergood abstracts the transport, selecting XML-RPC, JSON-RPC, or the newer JSON-2 surface automatically so your integration keeps working through the migration.
Supergood profiles your instance against its actual installed models and fields, preserving custom modules, fields, and entitlements rather than forcing a generic schema.
Yes. Calls run under your authenticated user's entitlements, so model ACLs and per-record rules are honored and the API only returns data that user is permitted to see.