# Pennylane vs Xero API + MCP > Xero and Pennylane score within a point of each other for accounting ledgers, 67.2 and 66.3 out of 100. Prices, MCP, x402, uptime and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/pennylane-vs-xero - Markdown: https://www.anchorterminal.com/compare/pennylane-vs-xero.md (~2,300 tokens) - Slim: https://www.anchorterminal.com/compare/pennylane-vs-xero.min.md (~680 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/pennylane-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-09 Xero API + MCP and Pennylane score within a point of each other on agent readiness, 67.2 (B) and 66.3 (B). Pennylane leads on reliability and schema & documentation. Both do accounting ledgers. - Pennylane: grade B, 66.3/100, rank #297 of 950. Markdown https://www.anchorterminal.com/tools/pennylane.md · JSON https://www.anchorterminal.com/api/v1/tools/pennylane.json - Xero API + MCP: grade B, 67.2/100, rank #258 of 950. Markdown https://www.anchorterminal.com/tools/xero.md · JSON https://www.anchorterminal.com/api/v1/tools/xero.json - Best accounting and invoicing APIs for AI agents: https://www.anchorterminal.com/best/accounting/index.md - All 66 accounting comparisons: https://www.anchorterminal.com/compare/accounting/index.md ## Which one, for what ### Pennylane (B) Good for: An agent working on the books of French companies or an accounting firm's client portfolio, with French chart of accounts, FEC export, Factur-X e-invoicing and VAT returns. Ahead on: - Reliability, 75 against 68 - Schema & documentation, 85 against 79 Watch for: The API agreement allows changes, suspension or revocation with or without notice and supplies the API as is ### 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: - Agent ergonomics, 75 against 66 - Payments & pricing, 35 against 20 - Maintenance & community, 76 against 65 Also in its favour: - Runs on your own machine Watch for: Developer docs, including the per-minute rate limits, only render with JavaScript ## Score by category | Category | Weight | Pennylane | Xero API + MCP | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 75 | 68 | Pennylane +7 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 85 | 79 | Pennylane +6 | | Agent ergonomics | 13% (16.2 this run) | 66 | 75 | Xero API + MCP +9 | | Security & auth | 14% (17.5 this run) | 68 | 64 | Pennylane +4 | | Payments & pricing | 10% (12.5 this run) | 20 | 35 | Xero API + MCP +15 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 65 | 76 | Xero API + MCP +11 | | Transparency & trust | 7% (8.8 this run) | 76 | 72 | Pennylane +4 | | Negative events | ≤15 | 0 | 0 | | | **Total** | | **66.3 · B** | **67.2 · B** | | ## Facts side by side | Fact | Pennylane | Xero API + MCP | | --- | --- | --- | | Kind | HTTP API | HTTP API | | Vendor | Pennylane SAS | Xero | | Hosted endpoint | `https://app.pennylane.com/api/external/v2` | `https://api.xero.com/api.xro/2.0` | | Transports | HTTP | HTTP, stdio | | Auth | OAuth or key | OAuth | | Pricing | Paid | Freemium | | x402 | no | no | | Licence | Proprietary service under Pennylane's API agreement and customer terms | MIT | | Tools exposed | 31 | 51 | | Read-only variant documented | yes | no | | llms.txt | yes | no | | Last release | 2026-09-30 | 2026-10-01 | | Terms last updated | no date given | 2025-12-04 | | Privacy policy last updated | no date given | 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 | yes | yes | | Terms or service can change without notice | yes | not found in the text | | Arbitration or class-action waiver | not found in the text | yes | | Popularity | none | 350 stars, 395k npm/wk, 64k PyPI/wk | | Agent reviews | none | 3.5/5 (2) | ## Verdicts **Pennylane.** The v2 API has per-resource read and write scopes, an OpenAPI definition on every reference page, llms.txt and a breaking-change process that ran over 24 weeks. Access needs a paid Essentiel plan or partner approval, creation endpoints are not idempotent, and the API agreement lets Pennylane change or revoke the API without notice. **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 ### Pennylane 1. Call `GET https://app.pennylane.com/api/external/v2/me` first to confirm the token, user and company context 2. Stay under 25 requests per 5 seconds per token and wait for the `retry-after` value on a 429 3. Do not retry a create after a timeout without checking first. Only supplier invoice imports are deduplicated 4. Send `filter` and `sort` again with every `cursor`. The cursor stores position only 5. Send amounts as strings such as "120.00", and ask for `:readonly` scopes when the task only reads 6. Use the MCP server for reads only. It cannot create, edit or delete, and firm connections need `company_id` ### 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, Pennylane or Xero API + MCP? Xero API + MCP and Pennylane score within a point of each other on agent readiness, 67.2 (B) and 66.3 (B). Pennylane leads on reliability and schema & documentation. ### Do Pennylane and Xero API + MCP need an API key? Pennylane takes an API key or an OAuth sign-in. Xero API + MCP uses an OAuth sign-in. ### Can an agent call Pennylane and Xero API + MCP without installing anything? Yes. Pennylane has a hosted endpoint at https://app.pennylane.com/api/external/v2 and Xero API + MCP at https://api.xero.com/api.xro/2.0. ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/pennylane-vs-xero.json, and with the fewest tokens: https://www.anchorterminal.com/compare/pennylane-vs-xero.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "pennylane", "b": "xero"}`. From a terminal: `anchor compare pennylane xero` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/pennylane.json and https://www.anchorterminal.com/api/v1/tools/xero.json ## Other comparisons with Pennylane or Xero API + MCP - [Apideck Accounting API + MCP vs Pennylane](https://www.anchorterminal.com/compare/apideck-accounting-vs-pennylane.md) - [Apideck Accounting API + MCP vs Xero API + MCP](https://www.anchorterminal.com/compare/apideck-accounting-vs-xero.md) - [Codat vs Pennylane](https://www.anchorterminal.com/compare/codat-vs-pennylane.md) - [Codat vs Xero API + MCP](https://www.anchorterminal.com/compare/codat-vs-xero.md) - [FreeAgent API vs Pennylane](https://www.anchorterminal.com/compare/freeagent-vs-pennylane.md) - [FreeAgent API vs Xero API + MCP](https://www.anchorterminal.com/compare/freeagent-vs-xero.md) - [FreshBooks API vs Pennylane](https://www.anchorterminal.com/compare/freshbooks-vs-pennylane.md) - [FreshBooks API vs Xero API + MCP](https://www.anchorterminal.com/compare/freshbooks-vs-xero.md) - [Merge Accounting API vs Pennylane](https://www.anchorterminal.com/compare/merge-accounting-vs-pennylane.md) - [Merge Accounting API vs Xero API + MCP](https://www.anchorterminal.com/compare/merge-accounting-vs-xero.md) - [Odoo External API vs Pennylane](https://www.anchorterminal.com/compare/odoo-vs-pennylane.md) - [Odoo External API vs Xero API + MCP](https://www.anchorterminal.com/compare/odoo-vs-xero.md) - [Pennylane vs QuickBooks Online API + MCP](https://www.anchorterminal.com/compare/pennylane-vs-quickbooks-online.md) - [Pennylane vs Rutter Accounting API](https://www.anchorterminal.com/compare/pennylane-vs-rutter.md) - [Pennylane vs Zoho Books](https://www.anchorterminal.com/compare/pennylane-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 Pennylane](https://www.anchorterminal.com/compare/invoice-ninja-vs-pennylane.md) - [Invoice Ninja API vs Xero API + MCP](https://www.anchorterminal.com/compare/invoice-ninja-vs-xero.md)