← Back to all docs

Odoo API

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. This page is an independent design exercise that asks what a well-designed Odoo API could look like: the resources it would expose, the authentication it would need, and the workflows it could unlock. Below: a hypothetical endpoint design, the technical requirements a production implementation would face, the use cases programmatic access could serve, and where to start if your team needs this kind of access today.

By Alex KlarfeldJuly 8, 2026
Odoo API

This page is an independent analysis by Supergood of what a well-designed Odoo API could look like. It draws on publicly available information, vendor materials, and general integration experience in this category. Nothing on this page describes an existing Odoo product, and Supergood is not affiliated with or endorsed by the vendor. If the vendor offers an official API, we highly recommend it.

What is Odoo?

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:

  • Finance (Accounting, Invoicing, Expenses, Spreadsheet/BI, Documents, Sign)
  • Sales (CRM, Sales, POS Shop, POS Restaurant, Subscriptions, Rental)
  • Supply Chain (Inventory, Manufacturing, PLM, Purchase, Maintenance, Quality)
  • Human Resources (Employees, Recruitment, Time Off, Appraisals, Referrals, Fleet)
  • Services (Project, Timesheets, Field Service, Helpdesk, Planning, Appointments)
  • Websites & Marketing (Website Builder, eCommerce, Email/SMS/Social Marketing, Events)

An API for a platform like this would naturally organize around its core data entities:

  • Partners/Contacts (res.partner), Leads & Opportunities (crm.lead)
  • Sales Orders (sale.order), Quotations, Subscriptions
  • Invoices & Bills (account.move), Payments, Journal Entries
  • Products & Variants (product.template, product.product), Pricelists
  • Stock Moves, Quants, Deliveries, Manufacturing Orders
  • Employees (hr.employee), Time Off, Timesheets, Projects & Tasks

The Odoo Integration Challenge

Odoo exposes a powerful external API, but building durable integrations against real customer deployments is non-trivial:

  • Self-hosted vs. Odoo Online vs. Odoo.sh: each deployment model differs in URL, database naming, and which endpoints and ports are reachable
  • Version drift: Community and Enterprise editions across versions 13–19 differ in models, fields, and method signatures
  • Protocol churn: the legacy XML-RPC and JSON-RPC endpoints (/xmlrpc/2, /jsonrpc) are slated for removal in Odoo 22, with a newer JSON-2 (/json/2) surface replacing them
  • Custom modules and fields: heavily customized installs add bespoke models and fields that generic connectors don't anticipate
  • Authentication variety: database password authenticate(), API keys, and /web/session/authenticate session cookies each behave differently for headless automation
  • Access rules and record rules: model-level ACLs and per-record rules silently filter results unless the integration respects the user's entitlements

What a Odoo API Could Look Like

If Odoo exposed a modern, general-purpose API, the integration challenges above suggest what it would need to get right. This is a design sketch, not documentation of anything that exists today:

  • First-class authentication: session handling with support for MFA and enterprise sign-on where the platform uses them
  • Consistent resources: normalized JSON schemas and pagination across the platform's core objects
  • Reliable writes: idempotency keys and validation that mirrors the platform's own workflow rules
  • Entitlement awareness: endpoints scoped to what each customer's licensing actually permits

The endpoint sketches, technical requirements, and use cases below flesh out this hypothetical design.

How AI agents could connect to software like Odoo: MCP servers for software without a public API →

Need This Kind of Access Today?

If your team needs this kind of access today, Supergood builds integrations on request, one customer at a time. We act at the direction of our customers, within the access they already hold. Customers bring their own accounts, licenses, and entitlements. If the vendor offers an official API, we highly recommend it.

  1. Schedule an Integration Assessment
    A 30-minute session to review your product mix, licensing, and authentication model.
  2. Scope the Integration
    We design the access pattern around your workflows and entitlements.
  3. Deploy with Monitoring
    Go live with continuous monitoring as your platforms evolve.

Odoo on the API Report Card

Potential API Endpoints

Authentication

POST/authenticate

Would authenticate against an Odoo database with username/password or API key and obtain a uid/session for downstream calls.

Contacts

GET/partners

Would list partners and contacts (res.partner) with filters for company, customer/vendor type, and country.

Sales

GET/sale_orders

Would retrieve sales orders and quotations (sale.order) with status, customer, and date filters, including order lines.

Sales

POST/create_sale_order

Would create a new quotation or sales order with order lines against existing products and a customer.

Accounting

GET/invoices

Would pull customer invoices and vendor bills (account.move) with payment status, journal, and period filters.

Inventory

GET/products

Would list products and variants (product.template/product.product) with on-hand quantities, pricelists, and categories.

Use Cases

Sync Odoo orders and invoices into your data stack

- 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

Automate order and quote creation from external 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

Keep inventory and product catalog in sync

- 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

Integrate HR and project data across tools

- 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

Technical Requirements

Authentication

Would require database authenticate() (username/password), API keys, or /web/session/authenticate session cookies, with managed session handling

Connectivity

Would build on 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

Would need 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

Design target: sub-second reads on cached models; multi-second writes when posting through accounting and inventory workflows

Throughput

Design target: 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

Versioning

Clear versioning and change management would matter as Odoo evolves

Frequently asked questions

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.

Availability of official interfaces varies by product, plan, and licensing. Many platforms in this category gate access behind partner programs or paid modules, and there is often no broadly available, self-serve public API. Check the vendor's developer resources for current offerings.

The hard parts would be authentication (MFA, session management, enterprise controls), consistent schemas across the platform's products, and write semantics that reconcile the way the platform's own workflows do.

No. This page is an independent analysis by Supergood and is not affiliated with, sponsored by, or endorsed by the vendor. All product names and trademarks belong to their respective owners and are used for identification only. Nothing here documents an actual Odoo product or service.

Supergood acts at the direction of its customers, within the access those customers already have. We respect each customer's agreements with their software vendors, and how those agreements apply to a customer's use is a determination the customer makes. If the vendor offers an official API, we highly recommend it.

Supergood builds managed API access to enterprise software for customers on request, scoped to each customer's own licensing and entitlements. If your team needs programmatic access to a platform like this, schedule an integration assessment to discuss options.

Ready to get a real API?