{
  "data": {
    "a": {
      "slug": "fonoa",
      "name": "Fonoa",
      "vendor": "Fonoa Technologies Limited",
      "vendorUrl": "https://www.fonoa.com",
      "kind": "http-api",
      "category": "tax",
      "summary": "Fonoa is a hosted indirect tax platform for VAT, GST and sales tax. Its REST API validates tax identification numbers, calculates tax on a transaction and reports e-invoices to tax authorities, with a sandbox and a demo environment.",
      "url": "https://www.anchorterminal.com/tools/fonoa",
      "markdownUrl": "https://www.anchorterminal.com/tools/fonoa.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/fonoa.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/fonoa.json",
      "license": "Proprietary service. The API contract is not published. The public Terms of Service took effect on 14 May 2020 and name older seller sites",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.fonoa.com",
      "packages": [],
      "auth": "api-key",
      "authNotes": "Every request needs a subscription key in the `Ocp-Apim-Subscription-Key` header. Fonoa issues a primary and a secondary key once a client is onboarded, on request by email or through the sales form, with separate keys for the sandbox and production. No self-serve key page, scopes, read-only keys or expiry were found in the docs. Countries are enabled per tenant, and a call for a country that is not enabled returns `COUNTRIES_NOT_ALLOWED`. Webhooks are set up by asking a Fonoa contact.",
      "pricing": "paid",
      "pricingNotes": "No public prices. www.fonoa.com/pricing returns 404 and the site's buttons read \"Get in touch\". No free tier or self-serve trial was found. The sandbox has unlimited usage with fixed data and the demo environment has limited usage, and a key for either comes from Fonoa after contact (https://docs.fonoa.com/reference/environments, checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI definitions or the website (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.fonoa.com",
      "llmsTxt": "https://docs.fonoa.com/llms.txt",
      "capabilities": [
        "tax.calculate",
        "tax.transactions",
        "tax.invoicing"
      ],
      "tags": [
        "hosted",
        "paid",
        "closed-source",
        "api-key",
        "openapi",
        "llms-txt",
        "sandbox",
        "webhooks",
        "sales-led",
        "status-page",
        "iso27001"
      ],
      "lastRelease": "2026-10-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 51.7,
        "grade": "D",
        "agentReady": false,
        "rank": 575,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 64,
          "maintenance": 49,
          "payments": 3,
          "reliability": 66,
          "schema": 68,
          "security": 47,
          "transparency": 48
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The API reference is served as Markdown with an OpenAPI definition on each endpoint page, and e-invoicing submissions are idempotent by `transaction_id`. API keys are issued by Fonoa staff after contact, no price, rate limit or changelog is published, and the only public terms date from May 2020 and cover older seller sites.",
        "bestFor": "An agent working for a company that already has a Fonoa contract and needs tax ID validation, VAT or GST calculation, or e-invoice reporting across many countries through one API.",
        "strengths": [
          "Every reference page is served as Markdown with its OpenAPI 3.0 definition inline, indexed by docs.fonoa.com/llms.txt",
          "E-invoicing submissions are idempotent by `transaction_id`, and the docs say a transaction can be replayed any number of times",
          "The sandbox at sandbox.fonoa.com returns fixed outcomes for documented test inputs, including errors, delays and HTTP 500",
          "Webhooks carry a signed OIDC token with a SHA-256 checksum of the body, valid for one hour",
          "status.fonoa.com shows 100 per cent over 90 days for its E-Invoicing, Lookup and Tax monitors on 8 October 2026"
        ],
        "weaknesses": [
          "No self-serve signup. Sandbox, demo and production keys are issued by Fonoa after contact by email or the sales form",
          "No pricing page. www.fonoa.com/pricing returns 404 and the site's buttons read \"Get in touch\"",
          "No rate limit numbers found. The 429 response says \"Try again a bit later\" with no `Retry-After` documented",
          "No changelog, deprecation policy, official SDK or MCP server found. docs.fonoa.com/changelog returns 404",
          "The only public terms took effect on 14 May 2020 and cover older seller sites. They bar benchmarking and automated access without written permission"
        ],
        "agentNotes": [
          "Send the key in the `Ocp-Apim-Subscription-Key` header. Use the sandbox key at https://sandbox.fonoa.com and the production key at https://api.fonoa.com",
          "Treat validations and e-invoicing submissions as asynchronous. POST, then poll the GET endpoint or wait for the webhook, and avoid tight polling",
          "Reuse the same `transaction_id` on a retry of `/v1/transactions`. A transaction already processed is not processed again",
          "Commit a calculation with POST `/tax/v2/calculations/\u003cuuid\u003e/commit` only when the sale is final. The commit adds it to revenue tracking",
          "Ask the Fonoa contact to configure webhooks. There is no API for it, and always fetch `resource_url` as given in the webhook"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 51.7
          }
        ],
        "editorialScores": {
          "ergonomics": 64,
          "maintenance": 49,
          "payments": 3,
          "reliability": 66,
          "schema": 68,
          "security": 47,
          "transparency": 27
        },
        "provenanceScore": 69
      },
      "connect": {
        "http": "curl --location 'https://sandbox.fonoa.com/lookup/v2/single-validations' \\\n--header 'Content-Type: application/json' \\\n--header 'Ocp-Apim-Subscription-Key: \u003cyour-sandbox-API-key\u003e' \\\n--data '{\n    \"country_iso_code\": \"pl\",\n    \"tax_identification_number\": \"2000\"\n}'"
      },
      "letme": {
        "capability": "https://letme.dev/tax.calculate",
        "tool": "https://letme.dev/fonoa"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Fonoa Technologies Limited",
        "domain": "fonoa.com",
        "domainRegistered": "2004-08-24",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "https://www.fonoa.com/legal/privacy-notice",
        "statusPage": "https://status.fonoa.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The privacy notice names Fonoa Technologies Limited, 6th Floor, South Bank House, Barrow Street, Dublin 4, Ireland as data controller. The site footer gives Irish company number 677236.",
          "No terms URL is recorded. The only terms Fonoa publishes, at www.fonoa.com/legal/terms-of-service, took effect on 14 May 2020, apply to fonoatech.com, efacturacion.net, efiscal.biz, portugal.fonoatech.com and efatture.net, name Fonoa Technologies ltd. and are governed by Croatian law. No service agreement or API terms for fonoa.com customers were found.",
          "The privacy notice says it does not apply to personal data Fonoa processes on behalf of customers using its software, where Fonoa is a processor under the customer's contract. No date of last update was found on the page.",
          "The API answers at api.fonoa.com, sandbox.fonoa.com and api-demo.fonoa.com, all on the vendor's domain.",
          "www.fonoa.com/.well-known/security.txt and www.fonoa.com/security.txt return 404. The security page describes a vulnerability disclosure programme with an email address.",
          "No changelog was found. docs.fonoa.com/changelog returns 404, and product news is published as blog posts.",
          "RDAP for fonoa.com gives a registration date of 2004-08-24."
        ],
        "score": 69
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/fonoa.json",
      "live": {
        "slug": "fonoa",
        "probe": {
          "target": "https://api.fonoa.com",
          "method": "get",
          "lastAt": "2026-10-08T22:39:47.920769227Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 63,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 68,
          "p95ms24h": 161,
          "samples24h": 36,
          "samples30d": 36,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 36,
              "ok": 36
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.fonoa.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:38:33.601208747Z"
        },
        "updatedAt": "2026-10-08T22:39:47.920769227Z"
      }
    },
    "answer": "Quaderno scores 59.5 (C) on agent readiness against Fonoa's 51.7 (D), and leads in 4 of 7 scored categories. Fonoa leads on agent ergonomics, security \u0026 auth and maintenance \u0026 community.",
    "b": {
      "slug": "quaderno",
      "name": "Quaderno",
      "vendor": "Recrea Systems, SL",
      "vendorUrl": "https://quaderno.io",
      "kind": "http-api",
      "category": "tax",
      "summary": "Sales tax, VAT and GST software for online businesses from Recrea Systems, a Visma company in Spain. Its REST API calculates tax for a sale, records sales and refunds, issues invoices and credit notes and exports tax reports.",
      "url": "https://www.anchorterminal.com/tools/quaderno",
      "markdownUrl": "https://www.anchorterminal.com/tools/quaderno.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/quaderno.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/quaderno.json",
      "repo": "https://github.com/quaderno/quaderno-ruby",
      "license": "Proprietary service under Quaderno's terms of service. The Ruby library on GitHub is MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://quadernoapp.com/api",
      "packages": [
        {
          "registry": "rubygems",
          "name": "quaderno"
        },
        {
          "registry": "packagist",
          "name": "quaderno/quaderno"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve API key. Sign up at quadernoapp.com (or sandbox-quadernoapp.com for the sandbox), copy the key from the API keys page and send it as the HTTP Basic username with an empty password to https://ACCOUNT_NAME.quadernoapp.com/api. The docs say anyone holding the key can read and modify everything the account has access to. Platforms on Quaderno Connect use OAuth 2.0 authorisation code instead, with an app created in the dashboard, scopes read_only (the default) or read_write, access tokens that expire after 25 days and refresh tokens. No app review or sales approval was found for either route.",
      "pricing": "paid",
      "pricingNotes": "Four monthly plans by recorded transactions. Hobby $29 (25 transactions, 1 user, 1 jurisdiction, 1 integration), Startup $49 (250), Business $99 (1,000) and Growth $149 (2,500), with Enterprise on request above that. Yearly billing costs ten months. API calls are capped at ten times the plan's transactions, and passing the transaction limit moves the account up a plan, with no overage fee. An agent can start without a contract through the 7-day trial, which needs no card, or the free sandbox, which is capped at 200 documents. Registration and filing are sold as an add-on service (https://quaderno.io/pricing/, checked 2026-10-08).",
      "priceSummary": "$29 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OpenAPI spec or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 15,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.quaderno.io",
      "llmsTxt": "https://quaderno.io/llms.txt",
      "openapi": "https://developers.quaderno.io/redocusaurus/openapi-v20241028.yaml",
      "capabilities": [
        "tax.calculate",
        "tax.transactions",
        "tax.invoicing"
      ],
      "tags": [
        "hosted",
        "paid",
        "free-trial",
        "sandbox",
        "api-key",
        "oauth",
        "openapi",
        "llms-txt",
        "webhooks",
        "ruby",
        "php",
        "status-page",
        "sla",
        "vat",
        "sales-tax",
        "e-invoicing"
      ],
      "lastRelease": "2026-07-04",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.5,
        "grade": "C",
        "agentReady": false,
        "rank": 427,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 56,
          "maintenance": 28,
          "payments": 30,
          "reliability": 91,
          "schema": 77,
          "security": 39,
          "transparency": 76
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "A public OpenAPI 3.1 spec covers 92 operations, with a free sandbox and a status page showing no incident since July 2025. The API key has full account access, there are no idempotency keys, and the newest public API version is dated October 2024.",
        "bestFor": "An agent working for a SaaS, digital-goods or e-commerce seller that needs a tax rate at checkout, a record of each sale with location evidence, and compliant invoices, including Spanish Verifactu and TicketBAI.",
        "strengths": [
          "Public OpenAPI 3.1 spec with 92 operations across tax rates, transactions, invoices, credit notes, reporting and webhooks",
          "Separate free sandbox at sandbox-quadernoapp.com with test tax IDs and a purge endpoint, and a 7-day production trial without a card",
          "Statuspage with API and web application components and no incident recorded since 16 July 2025",
          "Published rate limit of 100 calls per 15 seconds, with X-RateLimit headers and a /ping endpoint that reports remaining calls",
          "Subprocessors and hosting locations listed on the Visma Trust Centre (DigitalOcean in the Netherlands, AWS in Ireland)"
        ],
        "weaknesses": [
          "One API key reads and writes everything its user can reach. Scopes exist only on Connect OAuth tokens (read_only, read_write)",
          "No idempotency keys, and the docs say retry logic is the integration's responsibility",
          "The newest public API version is 20241028. A preview of 20260309 is in the docs but not yet available",
          "No security.txt, the bug bounty is marked temporarily closed, and no SOC 2 or ISO 27001 report was found for Quaderno itself",
          "Registration and filing are a done-for-you service booked by call, not API operations. Monthly API calls are capped at ten times the plan's transactions"
        ],
        "agentNotes": [
          "Call GET https://quadernoapp.com/api/authorization first. Its `href` gives the account subdomain that every other call needs",
          "Before retrying a failed POST /transactions, list invoices by `processor_id` to check whether the sale was recorded. There is no idempotency key",
          "Treat GET /invoices/{id}/deliver as a write. It emails the invoice to the customer",
          "Correct a final invoice with a credit note. DELETE on invoices returns 410 and PUT accepts only notes, tags, metadata and address fields",
          "Read X-RateLimit-Remaining and X-RateLimit-Reset, and page with `created_before` and `limit` up to 100"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.5
          }
        ],
        "editorialScores": {
          "ergonomics": 56,
          "maintenance": 28,
          "payments": 30,
          "reliability": 91,
          "schema": 77,
          "security": 39,
          "transparency": 69
        },
        "provenanceScore": 83
      },
      "connect": {
        "install": "gem install quaderno",
        "http": "curl \"https://ACCOUNT_NAME.quadernoapp.com/api/tax_rates/calculate?to_country=US\u0026to_postal_code=10128\" \\\n  -u YOUR_API_KEY:x"
      },
      "letme": {
        "capability": "https://letme.dev/tax.calculate",
        "tool": "https://letme.dev/quaderno"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Hobby plan, 25 transactions",
          "unit": "month",
          "usd": 29,
          "note": "1 user, 1 jurisdiction, 1 integration. $24 a month billed yearly"
        },
        {
          "item": "Startup plan, 250 transactions",
          "unit": "month",
          "usd": 49,
          "note": "$41 a month billed yearly"
        },
        {
          "item": "Business plan, 1,000 transactions",
          "unit": "month",
          "usd": 99,
          "note": "$83 a month billed yearly"
        },
        {
          "item": "Growth plan, 2,500 transactions",
          "unit": "month",
          "usd": 149,
          "note": "$124 a month billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "Recrea Systems, SL",
        "domain": "quaderno.io",
        "domainRegistered": "2012-10-22",
        "endpointOnVendorDomain": true,
        "terms": "https://quaderno.io/legal/terms/",
        "privacy": "https://quaderno.io/legal/privacy/",
        "statusPage": "https://quaderno.statuspage.io",
        "changelog": "https://developers.quaderno.io/api-changelog/",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms (updated 15 September 2026, effective 1 October 2026) name Recrea Systems, SL, company registration number B35635648, Venegas 2A, Local 1, 35003 Las Palmas, Spain, under Spanish law. The DPA calls it a company in the Visma Group.",
          "The API and dashboard answer at quadernoapp.com and its account subdomains, a second domain the vendor's docs and terms point to. RDAP gives its registration date as 2012-04-27.",
          "RDAP for quaderno.io gives a registration date of 2012-10-22 and an expiry of 2026-10-22.",
          "quaderno.io/.well-known/security.txt and quadernoapp.com/.well-known/security.txt both return 404. The security policy says the bug bounty programme is temporarily closed.",
          "Subprocessors are listed on the Visma Trust Centre at https://www.visma.com/trust-centre-products/quaderno, which shows the legal unit as Recrea Systems SL, ES."
        ],
        "score": 83
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/quaderno.json",
      "live": {
        "slug": "quaderno",
        "probe": {
          "target": "https://quadernoapp.com/api",
          "method": "get",
          "lastAt": "2026-10-08T22:39:56.53839742Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 117,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 107,
          "p95ms24h": 155,
          "samples24h": 79,
          "samples30d": 79,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 79,
              "ok": 79
            }
          ]
        },
        "vendorStatus": {
          "page": "https://quaderno.statuspage.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T22:39:38.303000782Z"
        },
        "githubStars": 15,
        "securityTxt": {
          "url": "https://quaderno.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:48.301371426Z"
        },
        "pages": [
          {
            "url": "https://developers.quaderno.io/api-changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:58.645813139Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "69ea7b5187a7"
          },
          {
            "url": "https://quaderno.io/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:37.065141515Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0674c9e74b70"
          },
          {
            "url": "https://quaderno.io/legal/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:32.930235875Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "02d941cfbb26"
          },
          {
            "url": "https://quaderno.io/legal/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:35.074640255Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9b2392893a86"
          }
        ],
        "updatedAt": "2026-10-08T22:39:56.53839742Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Fonoa Technologies Limited",
        "b": "Recrea Systems, SL",
        "name": "Vendor"
      },
      {
        "a": "https://api.fonoa.com",
        "b": "https://quadernoapp.com/api",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service. The API contract is not published. The public Terms of Service took effect on 14 May 2020 and name older seller sites",
        "b": "Proprietary service under Quaderno's terms of service. The Ruby library on GitHub is MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-02",
        "b": "2026-07-04",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2026-09-15",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2024-05-16",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "15 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Quaderno scores 59.5 (C) on agent readiness against Fonoa's 51.7 (D), and leads in 4 of 7 scored categories. Fonoa leads on agent ergonomics, security \u0026 auth and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Fonoa or Quaderno?"
      },
      {
        "answer": "Fonoa needs an API key. Quaderno takes an API key or an OAuth sign-in.",
        "question": "Do Fonoa and Quaderno need an API key?"
      },
      {
        "answer": "Yes. Fonoa has a hosted endpoint at https://api.fonoa.com and Quaderno at https://quadernoapp.com/api.",
        "question": "Can an agent call Fonoa and Quaderno without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 64 against 56",
          "Security \u0026 auth, 47 against 39",
          "Maintenance \u0026 community, 49 against 28"
        ],
        "also": null,
        "goodFor": "An agent working for a company that already has a Fonoa contract and needs tax ID validation, VAT or GST calculation, or e-invoice reporting across many countries through one API.",
        "slug": "fonoa",
        "watchFor": "No self-serve signup. Sandbox, demo and production keys are issued by Fonoa after contact by email or the sales form"
      },
      {
        "aheadOn": [
          "Reliability, 91 against 66",
          "Schema \u0026 documentation, 77 against 68",
          "Payments \u0026 pricing, 30 against 3",
          "Transparency \u0026 trust, 76 against 48"
        ],
        "also": null,
        "goodFor": "An agent working for a SaaS, digital-goods or e-commerce seller that needs a tax rate at checkout, a record of each sale with location evidence, and compliant invoices, including Spanish Verifactu and TicketBAI.",
        "slug": "quaderno",
        "watchFor": "One API key reads and writes everything its user can reach. Scopes exist only on Connect OAuth tokens (read_only, read_write)"
      }
    ],
    "job": {
      "capability": "tax.calculate",
      "name": "Tax calculate"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/anrok-vs-fonoa.json",
        "title": "Anrok vs Fonoa",
        "url": "https://www.anchorterminal.com/compare/anrok-vs-fonoa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anrok-vs-quaderno.json",
        "title": "Anrok vs Quaderno",
        "url": "https://www.anchorterminal.com/compare/anrok-vs-quaderno"
      },
      {
        "json": "https://www.anchorterminal.com/compare/avalara-vs-fonoa.json",
        "title": "Avalara AvaTax vs Fonoa",
        "url": "https://www.anchorterminal.com/compare/avalara-vs-fonoa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/avalara-vs-quaderno.json",
        "title": "Avalara AvaTax vs Quaderno",
        "url": "https://www.anchorterminal.com/compare/avalara-vs-quaderno"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fonoa-vs-kintsugi.json",
        "title": "Fonoa vs Kintsugi",
        "url": "https://www.anchorterminal.com/compare/fonoa-vs-kintsugi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fonoa-vs-numeral.json",
        "title": "Fonoa vs Numeral",
        "url": "https://www.anchorterminal.com/compare/fonoa-vs-numeral"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fonoa-vs-taxcloud.json",
        "title": "Fonoa vs TaxCloud",
        "url": "https://www.anchorterminal.com/compare/fonoa-vs-taxcloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fonoa-vs-taxjar.json",
        "title": "Fonoa vs TaxJar",
        "url": "https://www.anchorterminal.com/compare/fonoa-vs-taxjar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fonoa-vs-vertex-tax.json",
        "title": "Fonoa vs Vertex O Series",
        "url": "https://www.anchorterminal.com/compare/fonoa-vs-vertex-tax"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fonoa-vs-zamp.json",
        "title": "Fonoa vs Zamp",
        "url": "https://www.anchorterminal.com/compare/fonoa-vs-zamp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kintsugi-vs-quaderno.json",
        "title": "Kintsugi vs Quaderno",
        "url": "https://www.anchorterminal.com/compare/kintsugi-vs-quaderno"
      },
      {
        "json": "https://www.anchorterminal.com/compare/numeral-vs-quaderno.json",
        "title": "Numeral vs Quaderno",
        "url": "https://www.anchorterminal.com/compare/numeral-vs-quaderno"
      },
      {
        "json": "https://www.anchorterminal.com/compare/quaderno-vs-taxcloud.json",
        "title": "Quaderno vs TaxCloud",
        "url": "https://www.anchorterminal.com/compare/quaderno-vs-taxcloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/quaderno-vs-taxjar.json",
        "title": "Quaderno vs TaxJar",
        "url": "https://www.anchorterminal.com/compare/quaderno-vs-taxjar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/quaderno-vs-vertex-tax.json",
        "title": "Quaderno vs Vertex O Series",
        "url": "https://www.anchorterminal.com/compare/quaderno-vs-vertex-tax"
      },
      {
        "json": "https://www.anchorterminal.com/compare/quaderno-vs-zamp.json",
        "title": "Quaderno vs Zamp",
        "url": "https://www.anchorterminal.com/compare/quaderno-vs-zamp"
      }
    ],
    "scores": [
      {
        "by": 25,
        "edge": "quaderno",
        "fonoa": 66,
        "key": "reliability",
        "name": "Reliability",
        "quaderno": 91,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "edge": "quaderno",
        "fonoa": 68,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "quaderno": 77,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "fonoa",
        "fonoa": 64,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "quaderno": 56,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "fonoa",
        "fonoa": 47,
        "key": "security",
        "name": "Security \u0026 auth",
        "quaderno": 39,
        "weight": 14
      },
      {
        "by": 27,
        "edge": "quaderno",
        "fonoa": 3,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "quaderno": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 21,
        "edge": "fonoa",
        "fonoa": 49,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "quaderno": 28,
        "weight": 7
      },
      {
        "by": 28,
        "edge": "quaderno",
        "fonoa": 48,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "quaderno": 76,
        "weight": 7
      }
    ],
    "summary": "Quaderno scores 59.5 (C) on agent readiness against Fonoa's 51.7 (D), and leads in 4 of 7 scored categories. Fonoa leads on agent ergonomics, security \u0026 auth and maintenance \u0026 community. Both do tax calculate.",
    "verdicts": {
      "fonoa": "The API reference is served as Markdown with an OpenAPI definition on each endpoint page, and e-invoicing submissions are idempotent by `transaction_id`. API keys are issued by Fonoa staff after contact, no price, rate limit or changelog is published, and the only public terms date from May 2020 and cover older seller sites.",
      "quaderno": "A public OpenAPI 3.1 spec covers 92 operations, with a free sandbox and a status page showing no incident since July 2025. The API key has full account access, there are no idempotency keys, and the newest public API version is dated October 2024."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/fonoa-vs-quaderno",
    "json": "https://www.anchorterminal.com/compare/fonoa-vs-quaderno.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/fonoa-vs-quaderno.md",
    "slim": "https://www.anchorterminal.com/compare/fonoa-vs-quaderno.min.md"
  },
  "markdown": "Quaderno scores 59.5 (C) on agent readiness against Fonoa's 51.7 (D), and leads in 4 of 7 scored categories. Fonoa leads on agent ergonomics, security \u0026 auth and maintenance \u0026 community. Both do tax calculate.\n\n- Fonoa: grade D, 51.7/100, rank #575 of 722. Markdown https://www.anchorterminal.com/tools/fonoa.md · JSON https://www.anchorterminal.com/api/v1/tools/fonoa.json\n- Quaderno: grade C, 59.5/100, rank #427 of 722. Markdown https://www.anchorterminal.com/tools/quaderno.md · JSON https://www.anchorterminal.com/api/v1/tools/quaderno.json\n\n## Which one, for what\n\n### Fonoa (D)\n\nGood for: An agent working for a company that already has a Fonoa contract and needs tax ID validation, VAT or GST calculation, or e-invoice reporting across many countries through one API.\n\nAhead on:\n- Agent ergonomics, 64 against 56\n- Security \u0026 auth, 47 against 39\n- Maintenance \u0026 community, 49 against 28\n\nWatch for: No self-serve signup. Sandbox, demo and production keys are issued by Fonoa after contact by email or the sales form\n\n### Quaderno (C)\n\nGood for: An agent working for a SaaS, digital-goods or e-commerce seller that needs a tax rate at checkout, a record of each sale with location evidence, and compliant invoices, including Spanish Verifactu and TicketBAI.\n\nAhead on:\n- Reliability, 91 against 66\n- Schema \u0026 documentation, 77 against 68\n- Payments \u0026 pricing, 30 against 3\n- Transparency \u0026 trust, 76 against 48\n\nWatch for: One API key reads and writes everything its user can reach. Scopes exist only on Connect OAuth tokens (read_only, read_write)\n\n\n## Score by category\n\n| Category | Weight | Fonoa | Quaderno | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 66 | 91 | Quaderno +25 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 68 | 77 | Quaderno +9 |\n| Agent ergonomics | 13% (16.2 this run) | 64 | 56 | Fonoa +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 47 | 39 | Fonoa +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 3 | 30 | Quaderno +27 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 49 | 28 | Fonoa +21 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 48 | 76 | Quaderno +28 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **51.7 · D** | **59.5 · C** | |\n\n## Facts side by side\n\n| Fact | Fonoa | Quaderno |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Fonoa Technologies Limited | Recrea Systems, SL |\n| Hosted endpoint | `https://api.fonoa.com` | `https://quadernoapp.com/api` |\n| Transports | HTTP | HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service. The API contract is not published. The public Terms of Service took effect on 14 May 2020 and name older seller sites | Proprietary service under Quaderno's terms of service. The Ruby library on GitHub is MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-02 | 2026-07-04 |\n| Terms last updated | no document linked | 2026-09-15 |\n| Privacy policy last updated | no date given | 2024-05-16 |\n| Customer content may train models |  | not found in the text |\n| Terms restrict automated access |  | yes |\n| Terms restrict benchmarking |  | yes |\n| Terms or service can change without notice |  | yes |\n| Arbitration or class-action waiver |  | not found in the text |\n| Popularity | none | 15 stars |\n\n## Verdicts\n\n**Fonoa.** The API reference is served as Markdown with an OpenAPI definition on each endpoint page, and e-invoicing submissions are idempotent by `transaction_id`. API keys are issued by Fonoa staff after contact, no price, rate limit or changelog is published, and the only public terms date from May 2020 and cover older seller sites.\n\n**Quaderno.** A public OpenAPI 3.1 spec covers 92 operations, with a free sandbox and a status page showing no incident since July 2025. The API key has full account access, there are no idempotency keys, and the newest public API version is dated October 2024.\n\n## Before you call either\n\n### Fonoa\n\n1. Send the key in the `Ocp-Apim-Subscription-Key` header. Use the sandbox key at https://sandbox.fonoa.com and the production key at https://api.fonoa.com\n2. Treat validations and e-invoicing submissions as asynchronous. POST, then poll the GET endpoint or wait for the webhook, and avoid tight polling\n3. Reuse the same `transaction_id` on a retry of `/v1/transactions`. A transaction already processed is not processed again\n4. Commit a calculation with POST `/tax/v2/calculations/\u003cuuid\u003e/commit` only when the sale is final. The commit adds it to revenue tracking\n5. Ask the Fonoa contact to configure webhooks. There is no API for it, and always fetch `resource_url` as given in the webhook\n\n### Quaderno\n\n1. Call GET https://quadernoapp.com/api/authorization first. Its `href` gives the account subdomain that every other call needs\n2. Before retrying a failed POST /transactions, list invoices by `processor_id` to check whether the sale was recorded. There is no idempotency key\n3. Treat GET /invoices/{id}/deliver as a write. It emails the invoice to the customer\n4. Correct a final invoice with a credit note. DELETE on invoices returns 410 and PUT accepts only notes, tags, metadata and address fields\n5. Read X-RateLimit-Remaining and X-RateLimit-Reset, and page with `created_before` and `limit` up to 100\n\n## Questions\n\n### Which is better for AI agents, Fonoa or Quaderno?\n\nQuaderno scores 59.5 (C) on agent readiness against Fonoa's 51.7 (D), and leads in 4 of 7 scored categories. Fonoa leads on agent ergonomics, security \u0026 auth and maintenance \u0026 community.\n\n### Do Fonoa and Quaderno need an API key?\n\nFonoa needs an API key. Quaderno takes an API key or an OAuth sign-in.\n\n### Can an agent call Fonoa and Quaderno without installing anything?\n\nYes. Fonoa has a hosted endpoint at https://api.fonoa.com and Quaderno at https://quadernoapp.com/api.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/fonoa-vs-quaderno.json, and with the fewest tokens: https://www.anchorterminal.com/compare/fonoa-vs-quaderno.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"fonoa\", \"b\": \"quaderno\"}`. From a terminal: `anchor compare fonoa quaderno`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/fonoa.json and https://www.anchorterminal.com/api/v1/tools/quaderno.json\n\n## Other comparisons with Fonoa or Quaderno\n\n- [Anrok vs Fonoa](https://www.anchorterminal.com/compare/anrok-vs-fonoa.md)\n- [Anrok vs Quaderno](https://www.anchorterminal.com/compare/anrok-vs-quaderno.md)\n- [Avalara AvaTax vs Fonoa](https://www.anchorterminal.com/compare/avalara-vs-fonoa.md)\n- [Avalara AvaTax vs Quaderno](https://www.anchorterminal.com/compare/avalara-vs-quaderno.md)\n- [Fonoa vs Kintsugi](https://www.anchorterminal.com/compare/fonoa-vs-kintsugi.md)\n- [Fonoa vs Numeral](https://www.anchorterminal.com/compare/fonoa-vs-numeral.md)\n- [Fonoa vs TaxCloud](https://www.anchorterminal.com/compare/fonoa-vs-taxcloud.md)\n- [Fonoa vs TaxJar](https://www.anchorterminal.com/compare/fonoa-vs-taxjar.md)\n- [Fonoa vs Vertex O Series](https://www.anchorterminal.com/compare/fonoa-vs-vertex-tax.md)\n- [Fonoa vs Zamp](https://www.anchorterminal.com/compare/fonoa-vs-zamp.md)\n- [Kintsugi vs Quaderno](https://www.anchorterminal.com/compare/kintsugi-vs-quaderno.md)\n- [Numeral vs Quaderno](https://www.anchorterminal.com/compare/numeral-vs-quaderno.md)\n- [Quaderno vs TaxCloud](https://www.anchorterminal.com/compare/quaderno-vs-taxcloud.md)\n- [Quaderno vs TaxJar](https://www.anchorterminal.com/compare/quaderno-vs-taxjar.md)\n- [Quaderno vs Vertex O Series](https://www.anchorterminal.com/compare/quaderno-vs-vertex-tax.md)\n- [Quaderno vs Zamp](https://www.anchorterminal.com/compare/quaderno-vs-zamp.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Fonoa vs Quaderno",
        "url": ""
      }
    ],
    "description": "Quaderno scores 59.5 (C) on agent readiness against Fonoa's 51.7 (D), and leads in 4 of 7 scored categories. Fonoa leads on agent ergonomics, security \u0026 auth and maintenance \u0026 community. Both do tax calculate. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Fonoa D 51.7",
      "Quaderno C 59.5",
      "scores"
    ],
    "h1": "Fonoa vs Quaderno",
    "image": "https://www.anchorterminal.com/assets/og/compare-fonoa-vs-quaderno.png",
    "path": "/compare/fonoa-vs-quaderno",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Fonoa vs Quaderno for AI agents, D 51.7 vs C 59.5 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/fonoa-vs-quaderno"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 730
  },
  "version": 1
}
