Convert XRechnung, ZUGFeRD, Factur-X or UBL e-invoice to JSON

$0.01 per call · failed calls are never charged · no account needed: a card key or USDC

Convert an EU e-invoice to plain JSON: send XRechnung, ZUGFeRD / Factur-X (XML or the PDF that embeds it), Peppol or other EN 16931 XML as text, as a file in a POST body or by URL. Returns number, dates, seller and buyer with VAT numbers and addresses, every line with quantity, price, VAT rate and net amount, the VAT breakdown, totals and bank account. Exact values from the file, no AI. Use to book incoming e-invoices into a sheet or ERP.

Run it free (3 free calls) Buy credits by card (from $1) Example result (JSON)

Try it with your own inputs

Absolute public http(s) URL of the e-invoice: an XML file or a ZUGFeRD / Factur-X PDF (or send `xml`, or the file in…

Uses one of your 3 free calls. Nothing is charged, and a call that fails is not counted.

Inputs

NameTypeDescription
urlstringAbsolute public http(s) URL of the e-invoice: an XML file or a ZUGFeRD / Factur-X PDF (or send `xml`, or the file in a POST body)
xmlstringThe e-invoice XML as text (CII or UBL), up to 5 MB in a POST body

Request

Over HTTP, with a card key from /credits:

curl -H "Authorization: Bearer adt_…" "https://agent-data-tools.revmesh2074.workers.dev/einvoice/to-json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fitplr-kosit%2Fxrechnung-testsuite%2Fmaster%2Fsrc%2Ftest%2Fbusiness-cases%2Fstandard%2F01.01a-INVOICE_uncefact.xml"

Or one of your 3 free calls, no key:

curl "https://agent-data-tools.revmesh2074.workers.dev/einvoice/to-json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fitplr-kosit%2Fxrechnung-testsuite%2Fmaster%2Fsrc%2Ftest%2Fbusiness-cases%2Fstandard%2F01.01a-INVOICE_uncefact.xml&trial=1"

Without a key, the same URL answers 402 Payment Required with x402 and MPP terms, so an agent with a wallet pays per call in USDC (Base, Polygon, Arbitrum or Solana over x402; Base or Tempo over MPP) and retries.

Example result

{
  "url": "https://raw.githubusercontent.com/itplr-kosit/xrechnung-testsuite/master/src/test/business-cases/standard/01.01a-INVOICE_uncefact.xml",
  "syntax": "CII",
  "standard": "XRechnung 3.0",
  "invoice": {
    "specification": "urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0",
    "businessProcess": "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0",
    "number": "123456XX",
    "issueDate": "2016-04-04",
    "typeCode": "380",
    "currency": "EUR",
    "buyerReference": "04011000-12345-03",
    "note": "Es gelten unsere Allgem. Geschäftsbedingungen, die Sie unter […] finden.",
    "seller": {
      "name": "[Seller name]",
      "vatId": "DE 123456789",
      "legalId": "[HRA-Eintrag]",
      "street": "[Seller address line 1]",
      "city": "[Seller city]",
      "postCode": "12345",
      "country": "DE",
      "endpointId": "seller@email.de",
      "endpointScheme": "EM",
      "contactName": "nicht vorhanden",
      "phone": "+49 1234-5678",
      "email": "seller@email.de"
    },
    "buyer": {
      "name": "[Buyer name]",
      "street": "[Buyer address line 1]",
      "city": "[Buyer city]",
      "postCode": "12345",
      "country": "DE",
      "endpointId": "buyer@info.de",
      "endpointScheme": "EM"
    },
    "lines": [
      {
        "id": "Zeitschrift [...]",
        "name": "Zeitschrift [...]",
        "description": "Zeitschrift Inland",
        "quantity": 1,
        "unit": "XPP",
        "unitPrice": 288.79,
        "netAmount": 288.79,
        "vatCategory": "S",
        "vatRate": 7
      },
      {
        "id": "Porto + Versandkosten",
        "name": "Porto + Versandkosten",
        "quantity": 1,
        "unit": "XPP",
        "unitPrice": 26.07,
        "netAmount": 26.07,
        "vatCategory": "S",
        "vatRate": 7
      }
    ],
    "vat": [
      {
        "category": "S",
        "rate": 7,
        "basis": 314.86,
        "tax": 22.04
      }
    ],
    "totals": {
      "lineNet": 314.86,
      "taxBasis": 314.86,
      "tax": 22.04,
      "grand": 336.9,
      "payable": 336.9
    },
    "payment": {
      "meansCode": "58",
      "iban": "DE79000000001234567890",
      "terms": "Zahlbar sofort ohne Abzug."
    }
  }
}

From an AI agent (MCP)

Add the MCP server to Claude, Cursor or any MCP client. This tool is einvoice_to_json, and the first 25 successful calls are free:

https://agent-data-tools.revmesh2074.workers.dev/mcp

Related tools