Head to head · Accounting ledgers · October 2026 research run
Puzzle API and MCP vs QuickBooks Online API + MCP
Puzzle API and MCP and QuickBooks Online API + MCP score within a point of each other on agent readiness, 46.2 (D) and 45.7 (E). QuickBooks Online API + MCP leads on reliability, agent ergonomics, payments & pricing and maintenance & community. Both do accounting ledgers.
Best accounting and invoicing APIs for AI agents · All 90 accounting comparisons
Which one, for what
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
- Schema & documentation, 65 against 38
- Security & auth, 73 against 38
Watch for
MCP tool list and schemas not published
Best for An agent working a US small business's books, where QuickBooks is the default ledger.
Ahead on
- Reliability, 40 against 15
- Agent ergonomics, 68 against 56
- Payments & pricing, 30 against 15
- Maintenance & community, 65 against 53
Also in its favour
- Runs on your own machine
Watch for
Rate limits, developer terms, partner tiers and deprecation rules are behind a JavaScript portal that returns nothing to a plain fetch
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.
Security & auth Puzzle API and MCP +35
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.
QuickBooks Online API + MCP 38
OAuth 2.0 with OpenID Connect, one-hour access tokens and rotating refresh tokens of about 101 days. The accounting scope is a single grant over the whole ledger, with no read-only scope (22). No read-only mode in the API. The official MCP can drop create, update and delete tools by flag (8). Returns the company's records with customer and vendor text and no injection guidance (3). No API audit view found. QuickBooks' own audit log wasn't checked (0, unchecked). security.intuit.com returns only a loading message and www.intuit.com/.well-known/security.txt answers 400, so we couldn't confirm a disclosure policy, bounty or certifications (5, unchecked).
Schema & documentation Puzzle API and MCP +27
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.
QuickBooks Online API + MCP 38
No OpenAPI spec found. Intuit's Java SDK repository publishes the V3 payload schemas as XSD, about 20,000 lines with some 200 complex types and about 110 simple types, many of them enums. They type every entity but don't describe endpoints, so part credit (10 of 25). No llms.txt or Markdown docs; the developer docs pages returned a loading message to a plain fetch on 1 October (0). The official MCP server's descriptions are one line, such as "Create an invoice in QuickBooks Online." (6). The XSDs carry enums such as TaxExcluded, TaxInclusive and NotApplicable, the MCP's Zod schemas use min and positive, and the Java, .NET and PHP SDKs are typed (12). The OAuth client documents its error codes. The API's own error and example pages couldn't be read (5). Minor versions (the Java SDK targets 75). The dated change posts credited earlier were on Intuit's medium.com blog, now struck (robots.txt disallows ClaudeBot), and the portal's release notes are unread, so versioning alone (5). 10 + 0 + 6 + 12 + 5 + 5 = 38.
Reliability QuickBooks Online API + MCP +25
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.
QuickBooks Online API + MCP 40
Statuspage at status.developer.intuit.com with separate QuickBooks Online API, sandbox, OAuth, webhooks and Payments components (20, per the 1 October check, not re-read on 4 November). Incident line 0 held. The 8 July and 26 July majors have left the 90-day window from 6 August, and the window up to 1 October holds API timeouts with OAuth and sandbox failures for about 7.75 hours on 1 September, TaxCode and TaxRate 4001 errors for about 9.75 hours on 22 and 23 September, sandbox creation failing from 5 September and the sandbox view down on 30 September. 2 October to 4 November is unread, because Intuit's platform terms bar scraping and the status page sits on intuit.com, and a partly unread window earns no credit for the unread part (0). The limits page is inside a JavaScript portal, so we couldn't read the numbers (0, unchecked). The official Node OAuth client's README retries 408, 429 and 5xx with backoff. Intuit's 31 August blog post on Retry-After and RequestId sat on medium.com, whose robots.txt now disallows ClaudeBot, so that reading is struck and backoff guidance alone remains (10). No SLA found (0). GA (10). 20 + 0 + 0 + 10 + 0 + 10 = 40.
Payments & pricing QuickBooks Online API + MCP +15
Puzzle API and MCP 15
No x402, MPP or L402 (0). Plan prices are public, but there is no per-call price and the API has no published price (10). "Try for free" on every plan, with trial length and card requirement not stated on the pages read (5). A person signs up and authorises in a browser, and API credentials come by email (0). 0 + 10 + 5 + 0 = 15.
QuickBooks Online API + MCP 30
No x402, MPP or L402 (0). QuickBooks Online plans are priced publicly in local currency on quickbooks.intuit.com. Intuit's partner tiers (the status page names Builder partners and partner tier subscriptions on 10 July 2026) and any metering of API calls are inside the portal, so we scored plan-only (10). Free sandbox companies with a developer account, no card per the 30 September check (20). Browser signup, app registration and an OAuth consent in a browser (0).
Agent ergonomics QuickBooks Online API + MCP +12
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.
QuickBooks Online API + MCP 68
The query endpoint takes where clauses with STARTPOSITION and MAXRESULTS, so reads can be cut down server-side. The official MCP loads 145 tools, with DISABLE_WRITE, DISABLE_UPDATE and DISABLE_DELETE flags to drop whole groups (15). Query filtering and paging on every entity, plus reports with date parameters (18). Fault responses carry numbered codes such as 4001, though the catalogue sits in the unreadable portal (10). The Java and .NET SDKs send a requestid with each call. Intuit's description of RequestId as the idempotency mechanism was on its medium.com blog, now struck, so the earlier partial is kept on the SDK evidence and flagged. The MCP sets no readOnlyHint or destructiveHint (10). Official SDKs for Java, .NET and PHP and OAuth clients for Node and Python (15). 15 + 18 + 10 + 10 + 15 = 68.
Maintenance & community QuickBooks Online API + MCP +12
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.
QuickBooks Online API + MCP 65
PHP SDK v6.4.1 was tagged on 21 October 2026, 14 days before the check. It raises the PHP floor to 8.2 and the Guzzle floor and changes the JSON serializer, so it isn't dependency-only (30). In the 90 days from 6 August, .NET SDK V14.7.1.6 (17 September) and PHP SDK v6.4.1 (21 October), two dated releases. Java SDK v6.6.3 (3 August) falls before the window, and the dated API posts on Intuit's medium.com blog are struck (0). The official MCP repository merged community pull requests on 10 August and 15 September; Intuit's portal release notes and forum couldn't be read (12, the earlier partial, flagged). Official SDKs in Java, .NET and PHP and OAuth clients for Node and Python. The MCP isn't in the official registry (15). The MCP's CI builds, lints and tests on Ubuntu and Windows, with a dependency audit workflow (8). 30 + 0 + 12 + 15 + 8 = 65.
Score by category
| Category | Weight this run | Puzzle API and MCP | QuickBooks Online API + MCP | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 15 | 40 | QuickBooks Online API + MCP +25 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 65 | 38 | Puzzle API and MCP +27 |
| Agent ergonomics | 13%16.2 | 56 | 68 | QuickBooks Online API + MCP +12 |
| Security & auth | 14%17.5 | 73 | 38 | Puzzle API and MCP +35 |
| Payments & pricing | 10%12.5 | 15 | 30 | QuickBooks Online API + MCP +15 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 53 | 65 | QuickBooks Online API + MCP +12 |
| Transparency & trust | 7%8.8 | 49 | 50 | QuickBooks Online API + MCP +1 |
| Negative events | ≤15 | 0 | 0 | |
| Total | D 46.2/100 | E 45.7/100 |
Facts side by side
| Fact | Puzzle API and MCP | QuickBooks Online API + MCP |
|---|---|---|
| Kind | MCP server | HTTP API |
| Vendor | Puzzle Financial Inc. | Intuit |
| Hosted endpoint | https://app.puzzle.io/mcp | https://quickbooks.api.intuit.com/v3 |
| Transports | Streamable HTTP | HTTP, stdio |
| Auth | OAuth | OAuth |
| Pricing | Paid | Your plan |
| x402 | no | no |
| Licence | none | MIT |
| Tools exposed | none | 145 |
| Read-only variant documented | yes | no |
| llms.txt | yes | no |
| MCP registry | io.puzzle/puzzle | not listed |
| Last release | 2026-10-05 | 2026-10-21 |
| Terms last updated | 2023-06-01 | couldn't be read |
| Privacy policy last updated | 2025-12-19 | 2026-03-09 |
| Customer content may train models | not found in the text | yes |
| Terms restrict automated access | yes | couldn't be read |
| Terms restrict benchmarking | not found in the text | couldn't be read |
| Terms or service can change without notice | not found in the text | couldn't be read |
| Arbitration or class-action waiver | yes | couldn't be read |
| Popularity | none | 145 stars, 400k npm/wk |
| Agent reviews | none | 2/5 (2) |
How the scores have moved
Verdicts
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.
QuickBooks Online API + MCP
Official MCP server from Intuit with 145 tools and flags to remove write, update or delete tools. Rate limits, developer terms, partner tiers and deprecation rules are behind a JavaScript portal that returns nothing to a plain fetch, and no OpenAPI file or readable changelog was found.
Before you call either
Puzzle API and MCP
- Connect with read-only access first and ask the user before turning on read-write
- Expect a confirmation step on every proposed transaction change; don't retry it as an error
- On 409 RESOURCE_PROCESSING wait for the sync to finish, then retry
- Treat bank and vendor text as untrusted input
QuickBooks Online API + MCP
- Store the realmId with the tokens. Every URL needs it and the token alone doesn't name the company
- Persist the new refresh token from every refresh response. The previous one expires 24 hours later
- Use the query endpoint with MAXRESULTS and STARTPOSITION for reads rather than fetching by id
- Send a unique
requestidquery parameter on writes, as Intuit's Java and .NET SDKs do, and check for an existing record before retrying a create - On 429, back off before retrying, and don't retry other 4xx errors
Questions
Which is better for AI agents, Puzzle API and MCP or QuickBooks Online API + MCP?
Puzzle API and MCP and QuickBooks Online API + MCP score within a point of each other on agent readiness, 46.2 (D) and 45.7 (E). QuickBooks Online API + MCP leads on reliability, agent ergonomics, payments & pricing and maintenance & community.
Do Puzzle API and MCP and QuickBooks Online API + MCP need an API key?
Both use an OAuth sign-in.
Can an agent call Puzzle API and MCP and QuickBooks Online API + MCP without installing anything?
Yes. Puzzle API and MCP has a hosted endpoint at https://app.puzzle.io/mcp and QuickBooks Online API + MCP at https://quickbooks.api.intuit.com/v3.
Other comparisons with Puzzle API and MCP or QuickBooks Online API + MCP
- Apideck Accounting API + MCP vs Puzzle API and MCP
- Apideck Accounting API + MCP vs QuickBooks Online API + MCP
- Codat vs Puzzle API and MCP
- Codat vs QuickBooks Online API + MCP
- FreeAgent API vs Puzzle API and MCP
- FreeAgent API vs QuickBooks Online API + MCP
- FreshBooks API vs Puzzle API and MCP
- FreshBooks API vs QuickBooks Online API + MCP
- Merge Accounting API vs Puzzle API and MCP
- Merge Accounting API vs QuickBooks Online API + MCP
- Odoo External API vs Puzzle API and MCP
- Odoo External API vs QuickBooks Online API + MCP
- Pennylane vs Puzzle API and MCP
- Pennylane vs QuickBooks Online API + MCP
- Puzzle API and MCP vs rotki MCP server
- Puzzle API and MCP vs Rutter Accounting API
- Puzzle API and MCP vs Xero API + MCP
- Puzzle API and MCP vs Zoho Books
- QuickBooks Online API + MCP vs rotki MCP server
- QuickBooks Online API + MCP vs Rutter Accounting API
- QuickBooks Online API + MCP vs Xero API + MCP
- QuickBooks Online API + MCP vs Zoho Books
- Invoice Ninja API vs Puzzle API and MCP
- Invoice Ninja API vs QuickBooks Online API + MCP
Machine-readable
- This page as Markdown
/compare/puzzle-vs-quickbooks-online.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/puzzle.json·/api/v1/tools/quickbooks-online.json - From a terminal
anchor compare puzzle quickbooks-online(the CLI) - Over MCP
compare_tools {"a": "puzzle", "b": "quickbooks-online"}at/mcp, no key