◂ Back to examples
Odoo

Integrate Odoo with your enterprise systems

Connect Odoo from Python and integrate it with e-commerce, legacy ERPs, databases and everything else in your landscape. Read and write partners, leads, sale orders and any other model over XML-RPC or JSON-RPC, with connection pooling and credentials handled by the platform - and let Odoo call your services back through REST channels.

Tutorials

How to use the Odoo integration

More examples

About Odoo

Odoo is one of the most widely deployed business platforms in the world - CRM, sales, accounting, inventory, e-commerce and hundreds of other applications, all built on a single data model. Every one of those applications exposes its data through Odoo's external API as models such as res.partner, crm.lead or sale.order, and that API is exactly what Zato's outgoing Odoo connections speak. With Zato, you configure a connection once - host, database, credentials - and every Python service can then search, read, create and update any Odoo model, orchestrating Odoo with the rest of your integration landscape. The same works in reverse too, because Odoo's automation rules and webhooks can invoke Zato services through REST channels.

Frequently asked questions

Which protocols do the connections use?

XML-RPC and JSON-RPC, each in plain and TLS variants - you pick the protocol in the connection's form, as described in the Odoo chapter.

How does authentication work?

With a username and password for self-hosted Odoo, or with an API key for Odoo Online and odoo.sh - the key goes in the password field, as explained in the Odoo Online chapter.

How do I read data from Odoo?

Obtain a client from the connection and call search_read on any model, with domains, field lists and pagination - examples are in the reading data chapter.

Can I create and update records too?

Yes - create, write and every other method of Odoo's external API is available, as shown in the creating records and updating records chapters.

Can Odoo invoke my services?

Yes - Odoo's automation rules and webhooks can post to Zato REST channels, letting record changes in Odoo trigger integrations, as described in the Odoo calls Zato chapter.

Which Odoo editions can Zato connect to?

Self-hosted Odoo as well as the hosted Odoo Online and odoo.sh editions - the hosted ones connect over JSON-RPC with TLS and API keys, per the Odoo Online chapter.

How are connections managed in runtime?

Each connection is a server-managed pool - you change its definition in the Dashboard and the changes propagate automatically, with no restarts needed.

Ready to build Odoo integrations?

Get started with Zato and connect Odoo to your enterprise systems in minutes.