Odoo
Adds Odoo 19 invoices, bills, purchasing, order lines, projects, tasks, employees, CRM leads and partner lookups via JSON-2.
Reduce manual data entry between business systems.
Source actions
30
Destination actions
13
Data types
19
Validation status
Implemented · fixture tested.
Implementation is checked against provider-shaped fixtures for every action, authentication failures, rate limits, pagination and duplicate safety. Provider sandbox and authorised account validation are recorded separately when credential-backed runs are completed.
What you can map
bills
- Get vendor billSource
One vendor bill by record ID.
- List vendor bills and refundsSourceIncremental
Vendor bills and refunds (account.move) ordered by ID.
- Find vendor bills and refunds by number or vendor referenceSource
Exact match on name or ref or payment_reference.
- Update vendor billDestinationDuplicate protected
Writes supplied fields to an existing vendor bill (account.move.write).
customers
- List CustomersSource
List operation for Customers.
- Upsert CustomersDestinationDuplicate protected
Upsert operation for Customers.
deliveries
- List DeliveriesSource
List operation for Deliveries.
- Update DeliveriesDestinationDuplicate protected
Update operation for Deliveries.
employees
- Get employeeSource
One employee by record ID.
- List employeesSourceIncremental
Employees (hr.employee) ordered by ID.
- Update employeeDestinationDuplicate protected
Writes supplied fields to an existing employee (hr.employee.write).
inventory
- List InventorySource
List operation for Inventory.
invoice lines
- List invoice and bill linesSourceIncremental
Invoice and bill lines (account.move.line) ordered by ID.
invoices
- Get customer invoiceSource
One customer invoice by record ID.
- List customer invoices and credit notesSourceIncremental
Customer invoices and credit notes (account.move) ordered by ID.
- Find customer invoices and credit notes by number or referenceSource
Exact match on name or ref or payment_reference.
- Update customer invoiceDestinationDuplicate protected
Writes supplied fields to an existing customer invoice (account.move.write).
leads
- Get CRM lead or opportunitySource
One CRM lead or opportunity by record ID.
- List CRM leads and opportunitiesSourceIncremental
CRM leads and opportunities (crm.lead) ordered by ID.
- Update CRM lead or opportunityDestinationDuplicate protected
Writes supplied fields to an existing CRM lead or opportunity (crm.lead.write).
partners
- List partnersSourceIncremental
Partners (res.partner) ordered by ID.
- Find partners by internal reference or tax IDSource
Exact match on ref or vat.
prices
- List PricesSource
List operation for Prices.
- Update PricesDestinationDuplicate protected
Update operation for Prices.
products
- List ProductsSource
List operation for Products.
- Upsert ProductsDestinationDuplicate protected
Upsert operation for Products.
projects
- Get projectSource
One project by record ID.
- List projectsSourceIncremental
Projects (project.project) ordered by ID.
- Update projectDestinationDuplicate protected
Writes supplied fields to an existing project (project.project.write).
purchase order lines
- List purchase order linesSourceIncremental
Purchase order lines (purchase.order.line) ordered by ID.
purchase orders
- Get purchase orderSource
One purchase order by record ID.
- List purchase ordersSourceIncremental
Purchase orders (purchase.order) ordered by ID.
- Find purchase orders by number or vendor referenceSource
Exact match on name or partner_ref or origin.
- Update purchase orderDestinationDuplicate protected
Writes supplied fields to an existing purchase order (purchase.order.write).
sales order lines
- List sales order linesSourceIncremental
Sales order lines (sale.order.line) ordered by ID.
sales orders
- Create Sales OrdersDestinationDuplicate protected
Create operation for Sales Orders.
- List Sales OrdersSource
List operation for Sales Orders.
- Update Sales OrdersDestinationDuplicate protected
Update operation for Sales Orders.
tasks
- Get taskSource
One task by record ID.
- List tasksSourceIncremental
Tasks (project.task) ordered by ID.
- Update taskDestinationDuplicate protected
Writes supplied fields to an existing task (project.task.write).
vendors
- List vendorsSourceIncremental
Vendors (res.partner) ordered by ID.
warehouses
- List WarehousesSource
List operation for Warehouses.
Authentication
Odoo API key (same credential as the built-in adapter)
Plans and access
Odoo 19 or later. On odoo.com the external API requires a Custom plan; self-hosted and Odoo.sh databases are supported. Access rights, record rules and field access of the API key's user apply. API keys expire after at most three months.
Test environment
Odoo trial databases and Odoo.sh staging branches can be used for testing.
Rate limits
No published request quota; odoo.com applies fair-use throttling (HTTP 429).
Provider events
Automation rules can send webhooks on record changes. Nexra event triggers are not yet available; flows run on demand or on a schedule.
Before you build a flow
- The operational adapter targets the official JSON-RPC external API used by Odoo 14-18.
- Odoo 19 JSON-2 is not enabled until a separate version-detected transport is implemented and tested.
- Live credential-backed provider validation remains pending.
- The added operations use the documented JSON-2 API (/json/2), available from Odoo 19. The built-in adapter uses /jsonrpc, which carries the password in the request body; the recipe runtime only places credentials in headers, so these operations cannot run on Odoo 14-18 databases.
- Base URLs with a path prefix are not supported by the added operations.
- Record creation is not exposed: JSON-2 create has no idempotency key and the Connect SDK requires every Odoo write to be retry-safe. Updates are keyed by record ID. Each JSON-2 call is its own transaction.
- Invoice and bill updates only succeed while the move is in draft; posting, payment registration and deletion are not exposed.
- Customers, products, product variants, prices, stock, warehouses, sales orders and deliveries remain served by the built-in adapter.