Head to head · Accounting ledgers · October 2026 research run

Pennylane vs Puzzle API and MCP

Pennylane scores 67.7 (B) on agent readiness against Puzzle API and MCP's 46.2 (D), and leads in 6 of 7 scored categories. Puzzle API and MCP leads on security & auth. Both do accounting ledgers.

Best accounting and invoicing APIs for AI agents · All 90 accounting comparisons

Which one, for what

Pennylane B

Best 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, 82 against 15
  • Schema & documentation, 85 against 65
  • Agent ergonomics, 66 against 56
  • Payments & pricing, 20 against 15
  • Maintenance & community, 65 against 53
  • Transparency & trust, 76 against 49

Watch for

The API agreement allows changes, suspension or revocation with or without notice and supplies the API as is

Puzzle API and MCP D

Best for Startups already on Puzzle who want an assistant to answer finance questions and draft bookkeeping. xero, quickbooks-online and pennylane are the nearest listings; teams wanting a self-serve API should look there.

Ahead on

  • Security & auth, 73 against 68

Watch for

MCP tool list and schemas not published

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Reliability Pennylane +67

Pennylane 82

Graded on the hosted lines. Atlassian Statuspage at status.pennylane.com with seven components, one of them the API on app.pennylane.com (20). The history feed, read on 1 November 2026, lists three incidents since 3 August, document uploads from mobile devices for about three hours on 27 August, slowdowns for 50 minutes on 14 September and instability with errors for 37 minutes on 25 September. Each hit one function or some requests, so all count as minor, and nothing has been posted since 25 September. The 20 July disruption, with seven minutes of unavailability, left the window (20). 25 requests per 5 seconds per token (15). 429 carries retry-after and every response carries rate limit headers. The error guide's safe-retry table says to retry 429, 500 and 503 and not 400 to 422, and warns that creation endpoints such as /customer_invoices and /ledger_entries don't enforce idempotency, so a repeated request can create duplicates. That is safe-retry guidance with no key, 12 of 15, as e2b and scalekit-agentkit. The customer terms commit to 99.9 per cent for app.pennylane.com with credits, while the API agreement supplies the API as is with no warranty, so half credit (5). v2 is described as the official stable version (10). 20+20+15+12+5+10 = 82.

Puzzle API and MCP 15

Hosted reading. status.puzzle.io exists but answered 403 to our reader, so no status page or history could be read (0, then 5 for no readable history). No rate limits found in the API docs (0). The errors page documents 409 RESOURCE_PROCESSING with retry later and 500 with retry, but no 429 or idempotency guidance (5). No SLA (0). MCP read access is live, write access is a beta, and the API docs say the API is under development (5). 0 + 5 + 0 + 5 + 0 + 5 = 15.

Transparency & trust Pennylane +27

Pennylane 76

Closed service. The API agreement of January 2024 and the customer terms of 16 December 2025 are public and name the entity and French law. The API agreement lets Pennylane change or revoke access without notice and takes an exclusive licence over integrations, and its registered office differs from the one in the customer terms (13). Privacy policy of 30 January 2026, a data processing agreement annexed to the terms, deletion 30 days after termination, EU hosting and a commitment not to train AI models on customer data. The privacy policy allows providers outside the EU while the sub-processor list shows none (24). The 2026 breaking changes had dated phases over 24 weeks and v1 had an end date, but no standing deprecation policy was found and the agreement reserves changes without notice (14). Sub-processor list with locations, dated 16 December 2025, with update notices 30 days ahead (20).

Puzzle API and MCP 49

Closed service with published terms naming Puzzle Financial Inc. (15). A privacy policy effective 19 December 2025; the security page says data stays on US servers and isn't shared or sold (15). The API docs promise documented endpoints stay stable but give no deprecation policy (5). Sub-processors not found, though the server location is stated (8). 15 + 15 + 5 + 8 = 43.

Schema & documentation Pennylane +20

Pennylane 85

Each reference page carries an OpenAPI 3.0.1 definition for its operation, readable through the Markdown twin. One downloadable file for the whole API was not located, and the MCP tool schemas need a signed-in session, so we did not read them (23). llms.txt indexes the guides and 185 reference pages (1 November 2026), and every page has a Markdown twin (10). Descriptions state purpose, the scopes required and side effects, such as a finalised invoice no longer being editable, and guides compare importing with creating an invoice (14). Typed parameters with minimum and maximum values and enums on the page read, though filter is a JSON array passed as a string (11). Examples in the definitions and an error guide covering nine status codes with fixes (12). Versioned as v2 with a dated changelog and RSS feed (15). Based on one reference page read in full.

Puzzle API and MCP 65

The API reference on ReadMe is generated from an OpenAPI file, though we didn't download the file itself; the MCP tool schemas aren't published (18). llms.txt and Markdown pages on puzzle-api.readme.io (10). Endpoint descriptions name the required scope and explain defaults such as cash basis (14). Typed parameters with documented limits, such as companies capped at 100 a page (11). An error table with HTTP codes and errorContext shapes, and example requests (12). No changelog or version scheme found (0). 18 + 10 + 14 + 11 + 12 + 0 = 65.

Maintenance & community Pennylane +12

Pennylane 65

Newest changelog entry 29 October 2026 (30). Eight dated entries since 3 August, on 15 and 30 September, 14 October, 22 October (two), 27 October and 29 October (two) (20). Closed service with a dated changelog, an RSS feed, a public roadmap, support by chat or account manager for customers and Zendesk for partners, and a community forum we did not read (10). No official SDK was found, and a search of the official MCP registry for pennylane on 1 November 2026 returned no server (0). No package to assess. The docs are current, with changelog entries through 29 October 2026 (5). 30+20+10+0+5 = 65.

Puzzle API and MCP 53

The MCP registry entry was published on 5 October 2026, 32 days before this check, and Puzzle's MCP post is dated 26 October (20). No release log, so changes in the 90 days can't be counted beyond the registry entry and the MCP launch (5). A help centre and support contact, but no public changelog or issue tracker (8). io.puzzle/puzzle sits under a domain-verified namespace in the official registry (15). No SDK or package to judge (5). 20 + 5 + 8 + 15 + 5 = 53.

Agent ergonomics Pennylane +10

Pennylane 66

The REST API is the main surface. Responses are sized with limit from 1 to 100, default 20, and filters, with no field selection found. The MCP server lists 31 tools, each data type switched on by its own scope (15). Cursor pagination, a filter parameter with operators and sort on list endpoints (20). Errors return error, message and details naming the field and rule, with a table of which codes to retry (17). No idempotency keys. The docs say creation endpoints do not enforce idempotency except supplier invoice imports, and a duplicate file returns 409. The MCP server is read only, and its annotations were not read (7). Sensible defaults, but no official SDK was found. The reference shows generated samples in six languages (7).

Puzzle API and MCP 56

MCP tool count and sizes unpublished, so context cost can't be read (10 of 25). API list endpoints page with count and after or limit, and filter by date and status (16). Error codes and errorContext name the field or resource at fault (17). No idempotency keys found; the MCP server asks for confirmation before writes (8). No official SDKs; few required parameters on reads (5). 10 + 16 + 17 + 8 + 5 = 56.

Security & auth Puzzle API and MCP +5

Pennylane 68

OAuth 2.0 authorisation code with 24-hour access tokens and rotating refresh tokens for partners, company and firm tokens with chosen scopes, expiry and deletion, and OAuth 2.1 with PKCE on the MCP server. No documented option to send a token in a URL (30). Every resource has a :readonly scope, tokens can be read only and the MCP server cannot write. No confirmation step for irreversible calls such as finalising an invoice (16). The API returns invoice and supplier text written by other parties. The MCP docs warn that data goes to the AI vendor and that answers can be wrong, with no prompt-injection guidance (4). The token list shows last use, and changelog endpoints and the get_changelog tool list record changes over four weeks. No per-call log for the operator was found (6). ISO 27001 with a 2026 certificate published, an annual third-party penetration test in the customer terms, a security white paper and an incident response plan. No security.txt, bug bounty or disclosure policy was found (12).

Puzzle API and MCP 73

OAuth for MCP with a per-company choice and read-only default, and OAuth 2.0 with granular scopes on the API, defaulting to read-only scopes (28). Read-only by default, writes an opt-in beta with confirmation for each change (18). Bank descriptions and vendor names are third-party text, and no prompt-injection guidance was found (3). Every API request is logged per the docs, and a firm activity endpoint returns an audit log (12). A SOC 2 claim in the API docs and a bug bounty policy page; no security.txt (12). 28 + 18 + 3 + 12 + 12 = 73.

Score by category

CategoryWeight this runPennylanePuzzle API and MCPEdge
Reliability16%208215Pennylane +67
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28565Pennylane +20
Agent ergonomics13%16.26656Pennylane +10
Security & auth14%17.56873Puzzle API and MCP +5
Payments & pricing10%12.52015Pennylane +5
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.86553Pennylane +12
Transparency & trust7%8.87649Pennylane +27
Negative events≤1500
TotalB 67.7/100D 46.2/100

Facts side by side

FactPennylanePuzzle API and MCP
KindHTTP APIMCP server
VendorPennylane SASPuzzle Financial Inc.
Hosted endpointhttps://app.pennylane.com/api/external/v2https://app.puzzle.io/mcp
TransportsHTTPStreamable HTTP
AuthOAuth or keyOAuth
PricingPaidPaid
x402nono
LicenceProprietary service under Pennylane's API agreement and customer termsnone
Tools exposed31none
Read-only variant documentedyesyes
llms.txtyesyes
MCP registrynot listedio.puzzle/puzzle
Last release2026-10-292026-10-05
Terms last updatedno date given2023-06-01
Privacy policy last updatedno date given2025-12-19
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessnot found in the textyes
Terms restrict benchmarkingyesnot found in the text
Terms or service can change without noticeyesnot found in the text
Arbitration or class-action waivernot found in the textyes
Agent reviews2.8/5 (4)none

How the scores have moved

Pennylane

Puzzle API and MCP

No score change since it was listed.

Verdicts

Pennylane

The v2 API has per-resource read and write scopes, an OpenAPI definition on every reference page, llms.txt and a dated changelog with eight entries since August. Access needs a paid Essentiel plan or partner approval, creation endpoints aren't idempotent, and the API agreement lets Pennylane change or revoke the API without notice.

Puzzle API and MCP

Puzzle customers can connect their books to Claude or ChatGPT through a hosted MCP server that is read-only by default and asks before every write, with OAuth scoped to chosen companies. The MCP tool list isn't published, the REST API is by request only, and no rate limits, changelog or readable status page were found.

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. Handle public_file_url: null on a new customer invoice and fetch the invoice again until the PDF URL is set
  5. Send filter and sort again with every cursor. The cursor stores position only
  6. Send amounts as strings such as "120.00", and ask for :readonly scopes when the task only reads
  7. Use the MCP server for reads only. It cannot create, edit or delete, and firm connections need company_id

Puzzle API and MCP

  1. Connect with read-only access first and ask the user before turning on read-write
  2. Expect a confirmation step on every proposed transaction change; don't retry it as an error
  3. On 409 RESOURCE_PROCESSING wait for the sync to finish, then retry
  4. Treat bank and vendor text as untrusted input

Questions

Which is better for AI agents, Pennylane or Puzzle API and MCP?

Pennylane scores 67.7 (B) on agent readiness against Puzzle API and MCP's 46.2 (D), and leads in 6 of 7 scored categories. Puzzle API and MCP leads on security & auth.

Do Pennylane and Puzzle API and MCP need an API key?

Pennylane takes an API key or an OAuth sign-in. Puzzle API and MCP uses an OAuth sign-in.

Can an agent call Pennylane and Puzzle API and MCP without installing anything?

Yes. Pennylane has a hosted endpoint at https://app.pennylane.com/api/external/v2 and Puzzle API and MCP at https://app.puzzle.io/mcp.

Other comparisons with Pennylane or Puzzle API and 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.