Head to head · Accounting ledger · October 2026 research run

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.

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

CategoryWeight this runOdoo External APIXero API + MCPEdge
Reliability16%204468Xero API + MCP +24
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.25179Xero API + MCP +28
Agent ergonomics13%16.26775Xero API + MCP +8
Security & auth14%17.56164Xero API + MCP +3
Payments & pricing10%12.52235Xero API + MCP +13
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87376Xero API + MCP +3
Transparency & trust7%8.89372Odoo External API +21
Negative events≤1500
Total55.9 · C67.2 · B

Facts side by side

FactOdoo External APIXero API + MCP
KindHTTP APIHTTP API
VendorOdoo SAXero
Hosted endpointno (local only)https://api.xero.com/api.xro/2.0
TransportsHTTPHTTP, stdio
AuthAPI keyOAuth
PricingPaidFreemium
x402nono
LicenceCommunity 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 AgreementMIT
Tools exposednone51
Read-only variant documentedyesno
llms.txtnono
Last release2026-10-082026-10-01
Terms last updatedno date given2025-12-04
Privacy policy last updated2026-09-242025-02-11
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessnot found in the textyes
Terms restrict benchmarkingnot found in the textyes
Terms or service can change without noticenot found in the textnot found in the text
Arbitration or class-action waivernot found in the textyes
Popularity55k stars350 stars, 395k npm/wk, 64k PyPI/wk
Agent reviewsnone3.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/<model>/<method> with Authorization: bearer <key> 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.

Other comparisons with Odoo External API or Xero API + MCP

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.