Reference · built on requestConnectorERP & finance

Odoo

Records from any Odoo model through the external XML-RPC API, with API keys and automation-rule webhooks.

About

Odoo is an open-source business suite whose apps share one object model. The external API is XML-RPC: /xmlrpc/2/common answers version and authenticate calls, and /xmlrpc/2/object runs execute_kw against any model by its technical name, such as the contacts model. Model methods such as search_read, create, write, and unlink are the ones the web client uses, so access rights apply unchanged. ir.model and ir.model.fields describe the installed models.

An operator on Fibric authenticates as a dedicated user with an API key, reads the models you grant, and proposes creates or writes for your approval. What was proposed, why, and how to reverse it is kept on record.

This is a reference listing. It documents what Fibric would read from Odoo and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • Records of any model via search_read with a domain filter, a fields list, offset, and limit
  • Counts via search_count with the same domain as search
  • Field metadata via fields_get, and installed models via ir.model and ir.model.fields
  • Automation rules with On save and On deletion triggers whose Send Webhook Notification action posts selected fields to your URL
  • Access rights per model through check_access_rights before an operation is proposed

Proposed actions

  • Target capability: propose creating records with create on the target model
  • Target capability: propose updating records with write on a list of ids
  • Target capability: propose deleting records with unlink, after a search confirms the ids

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Hold a sales order before it ships

    Read the order and its customer with search_read, check payment and stock, and propose a hold or a note for the reviewer to approve.

    With Order Risk, Credit Hold

  • Chase overdue invoices on a cadence

    Read posted customer invoices past their due date, group them by customer, and propose the next reminder with the invoice list attached.

    With Dunning Cadence

  • Draft a purchase order at the reorder point

    Read on-hand quantities and open purchase lines, propose a purchase order draft, and create it only after approval.

    With Reorder Point, Purchase Order Draft

Requirements

  • An Odoo database on a plan with external API access; Odoo Online One App Free and Standard plans do not include it
  • A user with access rights on each model the operator touches; on Odoo Online, set a password on that user for XML-RPC
  • The database name, since every execute_kw call carries db, uid, and the key
  • Odoo Studio to create automation rules with the Send Webhook Notification action
Authentication
An Odoo user login plus an API key generated in that user's preferences, passed in place of the password to /xmlrpc/2/common authenticate and each execute_kw call.

Limits

  • search returns all matching ids by default; use offset and limit to page, and search_read to avoid a second call
  • A deleted API key cannot be recovered; every integration using it must be updated with a new key
  • Automation rules are defined per model and the available triggers depend on that model
  • Webhook payloads carry only the fields selected in the rule; a misconfigured webhook can disrupt the database

Access and pricing

Reference listing. Fibric builds the connector under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.

Request Odoo ↗

Questions and answers

Does the external API need a password or an API key?
Either. Since version 14.0 Odoo supports API keys; you pass the key in place of the password while the login stays in use. The key is shown once and cannot be retrieved later, and a deleted key cannot be restored.
How does an operator find which models and fields exist?
Query ir.model for installed models and ir.model.fields for each model's fields, or call fields_get on a model with the attributes argument to receive types and labels. This runs over the same execute_kw endpoint as any other call.
Can Odoo call out when a record changes?
Yes, with an automation rule. Choose an On save or On deletion trigger on the model, add the Send Webhook Notification action, and Odoo posts the selected fields to your URL. Rules are created in Odoo Studio.
Ask about Odoo

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.