Head to head · Invoicing · October 2026 research run

Invoice Ninja API vs Puzzle API and MCP

Invoice Ninja API scores 49.1 (D) 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 invoicing.

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

Which one, for what

Invoice Ninja API D

Best for An agent that quotes, invoices, chases and records payments for a small business, or for anyone who wants the billing system on their own server.

Ahead on

  • Reliability, 41 against 15
  • Payments & pricing, 35 against 15
  • Maintenance & community, 83 against 53
  • Transparency & trust, 63 against 49

Watch for

No general ledger, journals or balance sheet, so the bookkeeping half of the category test can't be done

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 53

Also in its favour

  • No incidents deducted, where Invoice Ninja API loses 6 points for them

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 Invoice Ninja API +30

Invoice Ninja API 83

v5.13.49 on 18 October 2026 (30). 20 tagged releases on v5-stable since 6 August, from v5.13.30 to v5.13.49 (20). Pull requests merge within days on v5-stable. We couldn't see issue reply times from git (15). Official PHP SDK, v2.0.0 tagged on 2 November 2026 after v1.4.0 in January 2025. No MCP server (8). PHPUnit CI runs the test suite across PHP 8.2 to 8.5 on every push to v5-stable and v5-develop, plus Dependabot (10). 30 + 20 + 15 + 8 + 10 = 83.

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 Invoice Ninja API +26

Invoice Ninja API 41

Oh Dear status page watching invoiceninja.com and invoicing.co, with no component for the API itself; it now links an incident history page (15). The history page lists one event, invoiceninja.com down for one minute on 29 October 2026, and doesn't say how far back it reaches, so the 90-day record isn't established and the line keeps 5. The docs give no numbers. The source sets 1,000 requests a minute per IP and per token on the hosted service, 20 a minute on report exports and no limit when self-hosted, counted at half as on 1 October (8). 429 appears only as a row in the error table, with no backoff or retry guidance (3, the 1 October partial). No SLA, and the terms say Invoice Ninja "strives to ensure maximum uptime" (0). GA (10). 15 + 5 + 8 + 3 + 0 + 10 = 41.

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.

Security & auth Puzzle API and MCP +20

Invoice Ninja API 53

API tokens per user, created and revoked under Settings, Account Management, Integrations, in a header and never a URL. No per-token scopes (20). No read-only token. Invoices stay drafts unless the call asks otherwise (5). Returns client and product text that other people wrote, and stored XSS advisories came through invoice line items, product notes and the terms field, with no injection guidance for API consumers (3). Activity log and an activities report export (10). SECURITY.md with a disclosure email, advisories published on GitHub, and a SOC 2 page (Security, Availability, Confidentiality and Processing Integrity, report under NDA on request) with a PCI-DSS claim. The page names neither the SOC 2 type nor the auditor. No security.txt or bug bounty (15, as brex). 20 + 5 + 3 + 10 + 15 = 53.

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.

Payments & pricing Invoice Ninja API +20

Invoice Ninja API 35

No x402, MPP or L402 (0). Hosted plan prices are public, Pro $14 a month, Enterprise $18 to $300, Premium Business from $280 a year (10). Hosted Free (5 clients, no card) has no REST API, but self-hosting is free with every feature, which we counted at three quarters (15). The public demo at demo.invoiceninja.com takes the token TOKEN with no signup, though it's a shared demo, not your own company (10). 0 + 10 + 15 + 10 = 35.

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.

Transparency & trust Invoice Ninja API +14

Invoice Ninja API 63

Source-available under the Elastic License 2.0, which is clear but isn't an OSI licence, so we scored between closed and open (20). The privacy policy on invoiceninja.com names eight vendors (OVH Cloud added) and a DPA, and now states one retention period (free accounts inactive for three months are deleted), and the terms (version 1.0.2, effective 1 February 2026) name Florida law. No full retention schedule or registered address, so 15 plus 3 (18). No deprecation policy found, only release notes (3). Self-hosted error reporting is opt-in by checkbox and disclosed. Vendors named without data locations (16). 20 + 18 + 3 + 16 = 57.

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.

Score by category

CategoryWeight this runInvoice Ninja APIPuzzle API and MCPEdge
Reliability16%204115Invoice Ninja API +26
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.26665Invoice Ninja API +1
Agent ergonomics13%16.26056Invoice Ninja API +4
Security & auth14%17.55373Puzzle API and MCP +20
Payments & pricing10%12.53515Invoice Ninja API +20
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88353Invoice Ninja API +30
Transparency & trust7%8.86349Invoice Ninja API +14
Negative events≤15-60
TotalD 49.1/100D 46.2/100

Facts side by side

FactInvoice Ninja APIPuzzle API and MCP
KindHTTP APIMCP server
VendorInvoice NinjaPuzzle Financial Inc.
Hosted endpointhttps://invoicing.co/api/v1https://app.puzzle.io/mcp
TransportsHTTPStreamable HTTP
AuthAPI keyOAuth
PricingFreemiumPaid
x402nono
LicenceElastic License 2.0none
Read-only variant documentednoyes
llms.txtnoyes
MCP registrynot listedio.puzzle/puzzle
Last release2026-10-182026-10-05
Terms last updatednot read yet2023-06-01
Privacy policy last updatednot read yet2025-12-19
Customer content may train modelsnot read yetnot found in the text
Terms restrict automated accessnot read yetyes
Terms restrict benchmarkingnot read yetnot found in the text
Terms or service can change without noticenot read yetnot found in the text
Arbitration or class-action waivernot read yetyes
Popularity10k starsnone
Agent reviews2.5/5 (2)none

How the scores have moved

Verdicts

Invoice Ninja API

OpenAPI 3 spec with 379 operations and curl and PHP examples on each path, and a public demo token. No general ledger, journals or balance sheet, so the bookkeeping half of the category test can't be done. A September advisory on webhook request forgery was fixed in two weeks, but an August one on invoice terms has no established fix.

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

Invoice Ninja API

  1. Send X-Requested-With: XMLHttpRequest with X-API-TOKEN on every call
  2. Prototype against demo.invoiceninja.com with X-API-TOKEN: TOKEN before asking for real credentials
  3. Add ?mark_sent=true to the save to make an invoice live, or ?send_email=true to send it. A plain create is a draft
  4. Stay under 1,000 requests a minute per token on the hosted service and 20 a minute on report exports
  5. Record a supplier bill as an expense or purchase order. There's no bills resource

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

Invoice Ninja API scores 49.1 (D) 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 Invoice Ninja API and Puzzle API and MCP need an API key?

Invoice Ninja API needs an API key. Puzzle API and MCP uses an OAuth sign-in.

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

Yes. Invoice Ninja API has a hosted endpoint at https://invoicing.co/api/v1 and Puzzle API and MCP at https://app.puzzle.io/mcp.

Other comparisons with Invoice Ninja 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.