Head to head · Accounting ledgers · October 2026 research run

FreshBooks API vs Puzzle API and MCP

Puzzle API and MCP and FreshBooks API score within a point of each other on agent readiness, 46.2 (D) and 45.4 (E). FreshBooks API leads on reliability, agent ergonomics, payments & pricing and transparency & trust. Both do accounting ledgers.

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

Which one, for what

FreshBooks API E

Best for An agent that bills clients, chases invoices and reads the books for a freelancer or small service firm already on FreshBooks.

Ahead on

  • Reliability, 35 against 15
  • Agent ergonomics, 61 against 56
  • Payments & pricing, 30 against 15
  • Transparency & trust, 65 against 49

Watch for

Rate limits have no numbers, status code or headers

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

  • Schema & documentation, 65 against 48
  • Security & auth, 73 against 57
  • Maintenance & community, 53 against 14

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.

Maintenance & community Puzzle API and MCP +39

FreshBooks API 14

No dated API change found on 1 October, and the docs couldn't be re-read on 5 November (terms pause). The SDK repositories, cloned on 5 November, have no release since @freshbooks/api 4.1.0 on 11 September 2024 and the Python SDK's release/1.2.1 tag of 24 April 2023 (0). Nothing dated in the last 90 days (0). Support by email at api@freshbooks.com and a one-entry changelog, per 1 October (5). Official SDKs exist in two languages but haven't been released in two years (5). Both SDK repositories gained a FreshBooks Global CI workflow on 5 October 2026, committed with "-deploy -playwright -tests", alongside the existing test workflows. The Node repository's last code or dependency change was February 2025 and the Python one's August 2024 (4). 0 + 0 + 5 + 5 + 4 = 14.

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.

Reliability FreshBooks API +20

FreshBooks API 35

Per the 1 October check, not re-read on 5 November 2026, because FreshBooks' terms of service (last updated 7 October 2026) bar data mining, robots and similar data gathering on the Site and Services. Statuspage at status.freshbooks.com with history but no API component, so API trouble is reported only as FreshBooks trouble (15). On 1 October the page showed FreshBooks down from 13:44 to 15:38 EDT on 4 August, about two hours. That outage now falls before the 90-day window, which runs from 7 August, but 2 October to 5 November couldn't be read, so the recorded award is kept (10). No numbers, only "rate-limited if too many calls are made within a short period of time" (0). No 429, Retry-After or retry guidance in the limits or errors pages (0). No SLA found (0). GA (10). 15 + 10 + 0 + 0 + 0 + 10 = 35.

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.

Schema & documentation Puzzle API and MCP +17

FreshBooks API 48

Per the 1 October check, not re-read on 5 November 2026, because FreshBooks' terms of service (last updated 7 October 2026) bar data mining, robots and similar data gathering on the Site and Services. Per the 1 October check, not re-read on 5 November 2026, because FreshBooks' terms of service (last updated 7 October 2026) bar data mining, robots and similar data gathering on the Site and Services. No OpenAPI spec. A Postman collection is published, which we counted as a partial contract (10). No llms.txt or Markdown docs (0). Plain HTML reference pages per resource that explain the workflow, such as marking an invoice sent before reports count it (13). Field lists per resource, with fewer enums and constraints spelt out than the ledgers here (9). An errors page with numbered codes (1001 RequiredField, 1004 InvalidValue, 1012 UnknownResource) and request examples, but no error body example (11). The "API Changelog" section holds one entry, the 2021 to 2023 move to JWT tokens, and an x-api-version header on journal entries (5). 10 + 0 + 13 + 9 + 11 + 5 = 48. 10 + 0 + 13 + 9 + 11 + 5 = 48.

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.

Security & auth Puzzle API and MCP +16

FreshBooks API 57

Per the 1 October check, not re-read on 5 November 2026, because FreshBooks' terms of service (last updated 7 October 2026) bar data mining, robots and similar data gathering on the Site and Services. Per the 1 October check, not re-read on 5 November 2026, because FreshBooks' terms of service (last updated 7 October 2026) bar data mining, robots and similar data gathering on the Site and Services. OAuth 2.0 with read and write scopes per resource (user:invoices:read, user:journal_entries:write), short-lived JWT access tokens and a revoke endpoint. No PKCE mentioned (28). Read-only scopes make a read-only agent possible, and drafts act as a confirmation step for invoices (14). Returns the business's own records plus client-entered text, with no injection guidance (3). No audit log or API activity view found (0). PCI DSS Level 1 with an annual third-party audit and a responsible-disclosure policy. security.txt returned 403 to the 30 September check, and no bug bounty or SOC 2 found (12). 28 + 14 + 3 + 0 + 12 = 57. 28 + 14 + 3 + 0 + 12 = 57.

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.

Transparency & trust FreshBooks API +16

FreshBooks API 65

Closed service with dated terms under Ontario law naming 2NDSITE Inc., last updated 7 October 2026 (read on 5 November), and MIT SDKs (15). Per the 1 October check, not re-read on 5 November 2026 (terms pause). The privacy policy is dated 5 February 2026 with a DPO, an EU representative, SCCs and a subprocessor list, but no retention periods, only delete or anonymise when done (20). The terms page says a new privacy policy takes effect on 5 October 2026 for new accounts and 5 November 2026 for existing customers; it couldn't be read. No deprecation policy, and the only changelog entry is the JWT migration (5). A public subprocessor list and Google Cloud Platform hosting stated on the security safeguards page (16). 15 + 20 + 5 + 16 = 56.

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.

Payments & pricing FreshBooks API +15

FreshBooks API 30

Per the 1 October check, not re-read on 5 November 2026, because FreshBooks' terms of service (last updated 7 October 2026) bar data mining, robots and similar data gathering on the Site and Services. Per the 1 October check, not re-read on 5 November 2026, because FreshBooks' terms of service (last updated 7 October 2026) bar data mining, robots and similar data gathering on the Site and Services. No x402, MPP or L402 (0). The API comes with any plan, and plan prices are public, Lite $23, Plus $43, Premium $70 a month, Select on request (10). 30-day trial with no card, per the pricing page (20). Browser signup and app registration (0). 0 + 10 + 20 + 0 = 30. 0 + 10 + 20 + 0 = 30.

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.

Score by category

CategoryWeight this runFreshBooks APIPuzzle API and MCPEdge
Reliability16%203515FreshBooks API +20
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.24865Puzzle API and MCP +17
Agent ergonomics13%16.26156FreshBooks API +5
Security & auth14%17.55773Puzzle API and MCP +16
Payments & pricing10%12.53015FreshBooks API +15
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.81453Puzzle API and MCP +39
Transparency & trust7%8.86549FreshBooks API +16
Negative events≤1500
TotalE 45.4/100D 46.2/100

Facts side by side

FactFreshBooks APIPuzzle API and MCP
KindHTTP APIMCP server
VendorFreshBooksPuzzle Financial Inc.
Hosted endpointhttps://api.freshbooks.comhttps://app.puzzle.io/mcp
TransportsHTTPStreamable HTTP
AuthOAuthOAuth
PricingYour planPaid
x402nono
LicenceMITnone
Read-only variant documentednoyes
llms.txtnoyes
MCP registrynot listedio.puzzle/puzzle
Last release2024-09-112026-10-05
Terms last updated2026-10-072023-06-01
Privacy policy last updated2026-10-052025-12-19
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessyesyes
Terms restrict benchmarkingyesnot found in the text
Terms or service can change without noticeyesnot found in the text
Arbitration or class-action waiveryesyes
Agent reviews3/5 (2)none

How the scores have moved

Verdicts

FreshBooks API

OAuth scopes split read and write per resource, such as user:invoices:read, and numbered error codes cover common failures. Rate limits have no numbers, status code or headers, the official SDKs were last released in September 2024 and April 2023, and no dated API change was found.

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

FreshBooks API

  1. Call /auth/api/v1/users/me first and keep both ids. Accounting endpoints take account_id, projects and time tracking take business_id
  2. Serialise token refreshes. Issuing a new refresh token kills the old one at once
  3. Mark an invoice as sent (action_mark_as_sent) or email it. Reports ignore drafts
  4. Send x-api-version: 2023-09-25 on journal entry calls
  5. Back off on any throttling response yourself. There's no Retry-After to read and no published limit

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, FreshBooks API or Puzzle API and MCP?

Puzzle API and MCP and FreshBooks API score within a point of each other on agent readiness, 46.2 (D) and 45.4 (E). FreshBooks API leads on reliability, agent ergonomics, payments & pricing and transparency & trust.

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

Both use an OAuth sign-in.

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

Yes. FreshBooks API has a hosted endpoint at https://api.freshbooks.com and Puzzle API and MCP at https://app.puzzle.io/mcp.

Other comparisons with FreshBooks API 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.