Skip to main content
Complete API reference for the Odoo integration.

Overview

This reference covers the Odoo-specific connect flow and how Sync2Books’ generic entity endpoints map to Odoo models. Unlike QuickBooks Online, Odoo has no integration-specific read endpoints yet (no GET /connections/{connectionId}/accounts equivalent scoped to Odoo) — accounts, customers, and suppliers created through Sync2Books are tracked locally and mirrored to Odoo, rather than read live from Odoo on demand.

Connect endpoint

Connect a company to Odoo

Validates credentials against Odoo synchronously and creates the connection — no OAuth redirect. See Set up the Odoo integration for the full walkthrough.
Body:
connectionId is optional — include it to reconnect/update an existing connection (e.g. after the merchant rotates their API key) instead of creating a new one. Response 201:
Response 401: Odoo rejected the credentials — see Odoo FAQs.

Entity endpoints

These aren’t Odoo-specific routes — they’re the same generic entity endpoints used for every integration. Sync2Books routes to Odoo internally based on the connection’s integrationKey.

Create a customer

Response 201 (this exact shape is what a real Odoo-connected call returns):
Creation queues a sync batch rather than syncing inline — see Sync model for how to trigger and monitor processing.

Create a supplier

Create an account

Create a bill

Odoo model mapping

Bill → account.move mapping

Not yet supported

These return 501 Not Implemented with a clear reason, not a silent failure:

Error codes