What Odoo gives through its API
Control.dev reads Odoo 19 or newer on Odoo Online or Odoo.sh through Odoo’s external JSON-2 API, with an API key for a dedicated integration user and one selected company per connection. The connection is read-only, and Odoo stays the book of record.
- Posted general ledger entries and lines, prior years included
- The chart of accounts, journals, currencies and counterparties
- Analytic plans, accounts and allocations
What an AI client gets from Odoo alone today
The Odoo 20.0 documentation describes an Odoo MCP server: the database itself acts as a remote MCP server at its URL plus /mcp, and an external AI client reads or modifies the database after signing in with OAuth or an API key with the MCP scope1. Its tools are generic: Search and Read group query and aggregate the records of any model the user can access, and Create Records and Update Records write to them2. By default a database exposes only the read tools, and the rest stay hidden until they are exposed one by one3.
The Odoo Apps Store also lists MCP modules from other companies, marked Third Party. AI Connector MCP Server by Atharva System runs every AI query within the user’s Odoo security groups, company boundaries and record rules4. MCP Server by much. Consulting gives Odoo a built-in MCP endpoint with an OAuth login for Claude, ChatGPT and other clients, and one checkbox at the consent screen gives a session read-only access5.
What Control.dev’s MCP adds above Odoo
Control.dev reads Odoo and every other ledger the group runs, then gives the whole group to the same AI client over MCP.
- Every entity on one group chart Each entity’s accounts are mapped to one group chart of accounts, and the eliminations, currency translation and CTA are done before the client reads. The eliminations sit in a column of their own.
- Statements first, not a raw export The client starts from the statements and the group structure, not a raw export of the general ledger. It finds what needs attention there and traces it to the entries.
- Every figure opens to its entries Every actual opens to the transactions behind it, and every row stays connected to its source system and legal entity.
- Your role decides what it sees Over MCP the client gets at most the access your role allows in Control.dev, and a read-only session rejects write tools.
- A plan with a reason on every cell The client can also draft budget values over MCP, and every value it writes carries its reason. The budget version keeps its change history, so a later variance analysis compares the actuals with the assumptions.
- Other MCP servers in the same conversation The client can use its other MCP servers in the same conversation, a CRM for example, and bring that data into a plan or an analysis next to the group’s actuals.
How each AI client connects is on the Control.dev MCP server, every tool it exposes on MCP tools and reusable instructions on finance skills, every integration and what comes in from it on the integrations page, and how the group view is built on multi-entity consolidation.
Already connected Claude to Odoo yourself? Control.dev vs building it yourself with Claude compares what you build and keep alive, what the client reads, who may change what, and what it costs.
Odoo MCP in three steps
Our team sets up the integration with you. Most companies have live data in under two hours from the first call, a larger group takes days, the hardest a few weeks, and there is no setup fee.
- 01Prepare a dedicated Odoo user On a Custom plan, which includes Odoo’s external API, your Odoo administrator creates a dedicated integration user with read access to the company’s accounting, an API key for that user and the company’s numeric ID, with Analytic Accounting turned on. You then enter the database URL, the key and the ID in Control.dev. The steps are in the Odoo integration guide.
- 02Copy the server URL and the client ID into your client In Control.dev, open Data outputs and then MCP Server. Add the server URL and the client ID from the MCP Server page to Claude, ChatGPT or Codex as a remote MCP server, then sign in with your Control.dev login. If the page shows no client ID yet, ask us: registering your client is part of setup.
- 03Ask something you already know One company, one month, one figure. Check it against the same view in Control.dev, then ask the bigger questions.
Questions
How many integrations does an Odoo group need, and what does it cost?
One per Odoo company: each connection reads one selected company, and one integration is one connected accounting system, such as one entity’s ledger. Control.dev publishes its monthly prices, excluding VAT: EUR 249 for one entity and one integration, EUR 499 for consolidation with three integrations and EUR 999 with five, where a Stripe connection counts as one integration, with no implementation fee, no multi-year contract and a notice period from one month. Larger groups are priced on request: book a demo.
Does Control.dev write to Odoo?
No. Control.dev sends only read requests to Odoo, so nothing it does changes Odoo. Eliminations and group entries stay in Control.dev.
Where does the AI process our data?
Control.dev’s own AI features process data in the EU, and Control.dev’s data is hosted on Google Cloud in Hamina, Finland, encrypted in transit and at rest. What your AI client reads is processed under your agreement with its provider, so where that data goes is your decision.
How fast does a correction in Odoo reach the group view?
Scheduled syncs run at least daily, and you can trigger a refresh on demand. Backdated entries and corrections are synced again automatically, so the next sync carries a correction into the group view and into what the client reads.
What does Odoo’s own MCP server do, and when do you use both?
Odoo documents it for Odoo 201: it gives an AI client generic tools to search, group, create and update the records of an Odoo database2, within the tools the database exposes3. Use it for work inside Odoo. Use Control.dev, which reads Odoo 19 or newer on Odoo Online or Odoo.sh, for the group: entities on Odoo and on other ledgers on one group chart of accounts, with the eliminations done. One AI client can use both servers in the same conversation.