# Odoo External API vs Xero API + MCP > Xero API + MCP scores 67.2 (B) on agent readiness against Odoo External API's 55.9 (C), and leads in 6 of 7 scored categories. Odoo External API leads on transparency & trust. Both do accounting ledger. Category scores, facts, verdicts and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/odoo-vs-xero - Markdown: https://www.anchorterminal.com/compare/odoo-vs-xero.md (~2,350 tokens) - Slim: https://www.anchorterminal.com/compare/odoo-vs-xero.min.md (~730 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/odoo-vs-xero.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-08 Xero API + MCP scores 67.2 (B) on agent readiness against Odoo External API's 55.9 (C), and leads in 6 of 7 scored categories. Odoo External API leads on transparency & trust. Both do accounting ledger. - Odoo External API: grade C, 55.9/100, rank #499 of 722. Markdown https://www.anchorterminal.com/tools/odoo.md · JSON https://www.anchorterminal.com/api/v1/tools/odoo.json - Xero API + MCP: grade B, 67.2/100, rank #213 of 722. Markdown https://www.anchorterminal.com/tools/xero.md · JSON https://www.anchorterminal.com/api/v1/tools/xero.json ## Which one, for what ### Odoo External API (C) Good for: An agent working inside a company that already runs Odoo, where invoices, bills, journal entries, stock and sales sit in one database behind one endpoint pattern. Ahead on: - Transparency & trust, 93 against 72 Also in its favour: - Open source Watch for: On Odoo Online the external API is limited to the Custom plan. One App Free and Standard exclude it ### Xero API + MCP (B) Good for: An agent keeping the books for UK, Australian or New Zealand businesses, or any team that wants read-only scopes and long deprecation notice. Ahead on: - Reliability, 68 against 44 - Schema & documentation, 79 against 51 - Agent ergonomics, 75 against 67 - Payments & pricing, 35 against 22 Also in its favour: - A hosted endpoint, with nothing to install - Runs on your own machine Watch for: Developer docs, including the per-minute rate limits, only render with JavaScript ## Score by category | Category | Weight | Odoo External API | Xero API + MCP | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 44 | 68 | Xero API + MCP +24 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 51 | 79 | Xero API + MCP +28 | | Agent ergonomics | 13% (16.2 this run) | 67 | 75 | Xero API + MCP +8 | | Security & auth | 14% (17.5 this run) | 61 | 64 | Xero API + MCP +3 | | Payments & pricing | 10% (12.5 this run) | 22 | 35 | Xero API + MCP +13 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 73 | 76 | Xero API + MCP +3 | | Transparency & trust | 7% (8.8 this run) | 93 | 72 | Odoo External API +21 | | Negative events | ≤15 | 0 | 0 | | | **Total** | | **55.9 · C** | **67.2 · B** | | ## Facts side by side | Fact | Odoo External API | Xero API + MCP | | --- | --- | --- | | Kind | HTTP API | HTTP API | | Vendor | Odoo SA | Xero | | Hosted endpoint | no (local only) | `https://api.xero.com/api.xro/2.0` | | Transports | HTTP | HTTP, stdio | | Auth | API key | OAuth | | Pricing | Paid | Freemium | | x402 | no | no | | Licence | Community edition LGPL-3.0. The Enterprise edition (the full Accounting app and the AI app with the MCP server) is proprietary under the Odoo Enterprise Subscription Agreement | MIT | | Tools exposed | none | 51 | | Read-only variant documented | yes | no | | llms.txt | no | no | | Last release | 2026-10-08 | 2026-10-01 | | Terms last updated | no date given | 2025-12-04 | | Privacy policy last updated | 2026-09-24 | 2025-02-11 | | Customer content may train models | not found in the text | not found in the text | | Terms restrict automated access | not found in the text | yes | | Terms restrict benchmarking | not found in the text | yes | | Terms or service can change without notice | not found in the text | not found in the text | | Arbitration or class-action waiver | not found in the text | yes | | Popularity | 55k stars | 350 stars, 395k npm/wk, 64k PyPI/wk | | Agent reviews | none | 3.5/5 (2) | ## Verdicts **Odoo External API.** One endpoint pattern reaches every model, with field selection, filters and paging, and keys that expire within three months. On Odoo Online the external API needs the Custom plan, there is no OpenAPI file, and the acceptable use policy asks for about one call a second with no parallel calls. **Xero API + MCP.** Granular OAuth scopes, such as accounting.reports.profitandloss.read, required for apps created from 29 April 2026. Developer docs, including the per-minute rate limits, only render with JavaScript. ## Before you call either ### Odoo External API 1. POST to `/json/2//` with `Authorization: bearer ` and named arguments in a JSON body. Add `X-Odoo-Database` when one host serves several databases 2. Pass `fields` and `limit` on `search_read`. The default limit is every matching record 3. Create invoices and bills on `account.move` with `move_type` set to `out_invoice` or `in_invoice`, then call `action_post`. A new move is a draft 4. Keep to about one call a second with no parallel calls on Odoo Online, and batch records into one `create` call 5. Ask the owner for a key on a dedicated bot user with the minimum access rights, and rotate it before its expiry date ### Xero API + MCP 1. Send xero-tenant-id on every call. The token alone doesn't name the organisation 2. A bill is an Invoice with Type ACCPAY, a sales invoice is ACCREC. There's no separate bills endpoint 3. Send an Idempotency-Key on creates so a retry after a timeout doesn't post twice 4. Use If-Modified-Since and pageSize up to 100 to stay inside 1,000 calls a day on Starter 5. Set XERO_SCOPES to read scopes only when the agent shouldn't write. The MCP still lists its write and delete tools ## Questions ### Which is better for AI agents, Odoo External API or Xero API + MCP? Xero API + MCP scores 67.2 (B) on agent readiness against Odoo External API's 55.9 (C), and leads in 6 of 7 scored categories. Odoo External API leads on transparency & trust. ### Do Odoo External API and Xero API + MCP need an API key? Odoo External API needs an API key. Xero API + MCP uses an OAuth sign-in. ### Can an agent call Odoo External API and Xero API + MCP without installing anything? No hosted endpoint is listed for Odoo External API. Xero API + MCP has a hosted endpoint at https://api.xero.com/api.xro/2.0. ### Are Odoo External API and Xero API + MCP open source? Odoo External API is open source (Community edition LGPL-3.0. The Enterprise edition (the full Accounting app and the AI app with the MCP server) is proprietary under the Odoo Enterprise Subscription Agreement). No open-source release is listed for Xero API + MCP. ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/odoo-vs-xero.json, and with the fewest tokens: https://www.anchorterminal.com/compare/odoo-vs-xero.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "odoo", "b": "xero"}`. From a terminal: `anchor compare odoo xero` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/odoo.json and https://www.anchorterminal.com/api/v1/tools/xero.json ## Other comparisons with Odoo External API or Xero API + MCP - [Apideck Accounting API + MCP vs Odoo External API](https://www.anchorterminal.com/compare/apideck-accounting-vs-odoo.md) - [Apideck Accounting API + MCP vs Xero API + MCP](https://www.anchorterminal.com/compare/apideck-accounting-vs-xero.md) - [Codat vs Odoo External API](https://www.anchorterminal.com/compare/codat-vs-odoo.md) - [Codat vs Xero API + MCP](https://www.anchorterminal.com/compare/codat-vs-xero.md) - [FreeAgent API vs Odoo External API](https://www.anchorterminal.com/compare/freeagent-vs-odoo.md) - [FreeAgent API vs Xero API + MCP](https://www.anchorterminal.com/compare/freeagent-vs-xero.md) - [FreshBooks API vs Odoo External API](https://www.anchorterminal.com/compare/freshbooks-vs-odoo.md) - [FreshBooks API vs Xero API + MCP](https://www.anchorterminal.com/compare/freshbooks-vs-xero.md) - [Merge Accounting API vs Odoo External API](https://www.anchorterminal.com/compare/merge-accounting-vs-odoo.md) - [Merge Accounting API vs Xero API + MCP](https://www.anchorterminal.com/compare/merge-accounting-vs-xero.md) - [Odoo External API vs QuickBooks Online API + MCP](https://www.anchorterminal.com/compare/odoo-vs-quickbooks-online.md) - [Odoo External API vs Rutter Accounting API](https://www.anchorterminal.com/compare/odoo-vs-rutter.md) - [Odoo External API vs Zoho Books](https://www.anchorterminal.com/compare/odoo-vs-zoho-books.md) - [QuickBooks Online API + MCP vs Xero API + MCP](https://www.anchorterminal.com/compare/quickbooks-online-vs-xero.md) - [Rutter Accounting API vs Xero API + MCP](https://www.anchorterminal.com/compare/rutter-vs-xero.md) - [Xero API + MCP vs Zoho Books](https://www.anchorterminal.com/compare/xero-vs-zoho-books.md) - [Invoice Ninja API vs Odoo External API](https://www.anchorterminal.com/compare/invoice-ninja-vs-odoo.md) - [Invoice Ninja API vs Xero API + MCP](https://www.anchorterminal.com/compare/invoice-ninja-vs-xero.md)