Finance & ERP · Integration
Odoo
Add Odoo to your product for your customers, and give your AI agents governed access to it.
Embed an Odoo integration so your product can post to and read from the ERP a customer already runs without you learning each deployment by hand. Odoo is a modular ERP with a real general ledger, so the records your product works with are customer and vendor invoices, journal entries against a chart of accounts, purchase and sales orders, products, and the partner records behind them. Every Odoo database is configured to the business, often with custom fields and installed modules that differ per customer, so mapping is per-tenant configuration rather than code. Writes are idempotent, because in accounting a duplicate is a number somebody has to explain rather than a bug you quietly retry. fastn owns the auth, retries, rate limits and API upkeep.
In your product
Embedded for your customers. Per-tenant auth, no per-customer code, maintained by fastn.
Let each customer connect their own Odoo database so invoices, orders and products are reachable inside your product with no per-customer code.
Post invoices or journal entries from your product against the customer's own chart of accounts, idempotently.
Read purchase and sales orders per tenant so your product can show fulfilment and billing state without a second system.
Support each deployment's own custom fields, installed modules and fiscal setup as configuration rather than a branch in your code.
For your AI agents
Governed, audited access for the agents you build, through the MCP server.
An agent answers what a customer owes by reading their own Odoo invoices and payment records, with each read audited.
An agent drafts an invoice or a purchase order within scoped permissions, with the write attributed to the tenant that authorised it.
An agent traces a journal entry back to the document that created it and explains the posting.
Example prompt
Which Odoo invoices for this customer are overdue, and what was the last payment applied?
Set up Odoo in 4 steps
- 01Enable the Odoo connector in your fastn dashboard.
- 02Have each customer supply credentials for their own Odoo database so calls run under their access.
- 03Map their chart of accounts, journals, custom fields and document types as per-tenant configuration.
- 04Call it from your product and expose the same connection to your agents through the MCP gateway.
Why teams use the Odoo integration
What you get by embedding it with fastn instead of building it yourself.
- Ship an Odoo integration without building it. Your customers connect their own Odoo account inside your product and work their invoices, payments and vendors there, with no per-customer code on your side.
- Handle the part that actually costs time: financial writes must be idempotent and reconcilable, because a duplicate is an accounting problem rather than a bug. fastn owns the auth, token refresh, rate limits, pagination and breaking-change fixes, so an Odoo update is not your on-call problem.
- One integration serves your product and your agents. The same governed Odoo connection powers in-product features and gives AI agents scoped, audited access, so you move financial records without hand-keying them between systems without wiring it twice.
Used by these teams
Compare with
Often used alongside
Tools the same teams tend to run next to Odoo, across other categories.
Odoo integration FAQ
How do I add an Odoo integration to my product?
Enable the Odoo connector in your fastn dashboard, then let each customer authenticate their own Odoo account. fastn handles the OAuth flow, token storage and refresh per tenant, so there is no Odoo client code in your app and no per-customer branch in your codebase. Setup is 4 steps.
Do my customers each connect their own Odoo account?
Yes. Every connection is scoped to the individual customer, so each authorises their own Odoo account and only ever sees their own invoices, payments and vendors. That per-tenant isolation is the point of an embedded integration: you support the long tail of customer setups without maintaining an integration per customer.
Can AI agents use this Odoo integration?
Yes. The same connection is exposed to your agents through the fastn MCP gateway, with permissions scoped per tenant and every call audited. An agent answers what a customer owes by reading their own Odoo invoices and payment records, with each read audited.
Who maintains the Odoo integration?
fastn does. When Odoo changes an endpoint, deprecates a field or alters its auth, the fix lands in the connector rather than in your backlog, and your customers' connections keep working.
Is the Odoo integration safe for financial writes?
Writes are idempotent, so a retry after a timeout does not post a document twice, and every call is logged per tenant so an entry can be traced back to the event that created it. That matters more in finance than anywhere else, because a duplicate is a number somebody has to explain.
Can it handle each customer's own chart of accounts?
Yes. ERP deployments are configured to the business, so account structures, required fields and fiscal calendars differ per customer. Those are mapped per tenant as configuration, not hard-coded.
What about Odoo rate limits during a first import?
Backfills are throttled deliberately. ERP limits are often account-wide rather than per-integration, so an unthrottled import can exhaust a customer's allowance and disrupt their other integrations.
What can I build with the Odoo integration?
A common starting point: let each customer connect their own Odoo database so invoices, orders and products are reachable inside your product with no per-customer code. Teams also use it for the other use cases listed above, and expose it to agents for governed reads and writes.
How much does the Odoo integration cost?
It is included. Pricing is based on connected accounts, not on how many connectors you enable, so adding Odoo does not change your per-connector cost. You can start free with 3 connected accounts.
Add Odoo to your product
Start free with 3 connected accounts. No sales call required, and no per-customer integration code.