Create XRechnung, ZUGFeRD or Factur-X e-invoice from JSON

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

Create an EU e-invoice from plain JSON: seller, buyer, lines with quantity, price and VAT rate, bank account. Returns XRechnung 3.0 XML (CII or UBL), a ZUGFeRD / Factur-X PDF with the XML inside, its XML alone, or EN 16931 UBL. Totals and VAT breakdown are computed and checked against the business rules first; data that breaks a rule is refused uncharged with the rule numbers. Use to issue German B2B e-invoices from a shop, ERP or workflow.

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

Try it with your own inputs

The invoice as JSON: number, issueDate, dueDate, buyerReference (Leitweg-ID or order reference), seller and buyer…

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

Inputs

NameTypeDescription
invoice (required)stringThe invoice as JSON: number, issueDate, dueDate, buyerReference (Leitweg-ID or order reference), seller and buyer {name, vatId, street, postCode, city, country, contactName, phone, email}, lines [{name, quantity, unit, unitPrice, vatRate}], payment {iban, bic, terms}. In a POST body send it as a JSON object. The flat fields /document/extract returns (invoice_number, seller_name, line_items…) are read too
formatstringxrechnung (default: XRechnung 3.0, CII syntax), xrechnung-ubl, zugferd-pdf (a readable A4 invoice as PDF/A-3 with the factur-x.xml embedded, returned as pdfBase64), zugferd (that factur-x.xml alone, EN 16931 profile) or ubl (EN 16931 UBL). One of: xrechnung, xrechnung-ubl, zugferd, ubl, zugferd-pdf.
languagestringLanguage of the labels on a zugferd-pdf page: de or en (default: de when the seller is in Germany or Austria, otherwise en). One of: de, en.

Request

Over HTTP, with a card key from /credits:

curl -H "Authorization: Bearer adt_…" "https://agent-data-tools.revmesh2074.workers.dev/einvoice/create?invoice=%7B%22number%22%3A%22RE-2026-0042%22%2C%22issueDate%22%3A%222026-11-14%22%2C%22dueDate%22%3A%222026-12-14%22%2C%22buyerReference%22%3A%2204011000-12345-06%22%2C%22seller%22%3A%7B%22name%22%3A%22Muster%20Software%20GmbH%22%2C%22vatId%22%3A%22DE123456789%22%2C%22street%22%3A%22Hauptstrasse%201%22%2C%22postCode%22%3A%2210115%22%2C%22city%22%3A%22Berlin%22%2C%22country%22%3A%22DE%22%2C%22contactName%22%3A%22Erika%20Muster%22%2C%22phone%22%3A%22%2B49%2030%201234567%22%2C%22email%22%3A%22rechnung%40muster-software.example%22%7D%2C%22buyer%22%3A%7B%22name%22%3A%22Kunde%20AG%22%2C%22street%22%3A%22Marktplatz%205%22%2C%22postCode%22%3A%2220095%22%2C%22city%22%3A%22Hamburg%22%2C%22country%22%3A%22DE%22%2C%22email%22%3A%22einkauf%40kunde.example%22%7D%2C%22lines%22%3A%5B%7B%22name%22%3A%22Beratung%22%2C%22quantity%22%3A8%2C%22unit%22%3A%22HUR%22%2C%22unitPrice%22%3A120%2C%22vatRate%22%3A19%7D%2C%7B%22name%22%3A%22Softwarelizenz%22%2C%22quantity%22%3A1%2C%22unitPrice%22%3A49.9%2C%22vatRate%22%3A19%7D%5D%2C%22payment%22%3A%7B%22iban%22%3A%22DE02120300000000202051%22%2C%22terms%22%3A%22Zahlbar%20innerhalb%20von%2030%20Tagen%22%7D%7D"

Or one of your 3 free calls, no key:

curl "https://agent-data-tools.revmesh2074.workers.dev/einvoice/create?invoice=%7B%22number%22%3A%22RE-2026-0042%22%2C%22issueDate%22%3A%222026-11-14%22%2C%22dueDate%22%3A%222026-12-14%22%2C%22buyerReference%22%3A%2204011000-12345-06%22%2C%22seller%22%3A%7B%22name%22%3A%22Muster%20Software%20GmbH%22%2C%22vatId%22%3A%22DE123456789%22%2C%22street%22%3A%22Hauptstrasse%201%22%2C%22postCode%22%3A%2210115%22%2C%22city%22%3A%22Berlin%22%2C%22country%22%3A%22DE%22%2C%22contactName%22%3A%22Erika%20Muster%22%2C%22phone%22%3A%22%2B49%2030%201234567%22%2C%22email%22%3A%22rechnung%40muster-software.example%22%7D%2C%22buyer%22%3A%7B%22name%22%3A%22Kunde%20AG%22%2C%22street%22%3A%22Marktplatz%205%22%2C%22postCode%22%3A%2220095%22%2C%22city%22%3A%22Hamburg%22%2C%22country%22%3A%22DE%22%2C%22email%22%3A%22einkauf%40kunde.example%22%7D%2C%22lines%22%3A%5B%7B%22name%22%3A%22Beratung%22%2C%22quantity%22%3A8%2C%22unit%22%3A%22HUR%22%2C%22unitPrice%22%3A120%2C%22vatRate%22%3A19%7D%2C%7B%22name%22%3A%22Softwarelizenz%22%2C%22quantity%22%3A1%2C%22unitPrice%22%3A49.9%2C%22vatRate%22%3A19%7D%5D%2C%22payment%22%3A%7B%22iban%22%3A%22DE02120300000000202051%22%2C%22terms%22%3A%22Zahlbar%20innerhalb%20von%2030%20Tagen%22%7D%7D&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

{
  "format": "xrechnung",
  "syntax": "CII",
  "specification": "urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0",
  "filename": "RE-2026-0042.xml",
  "totals": {
    "lineNet": 1009.9,
    "taxBasis": 1009.9,
    "tax": 191.88,
    "grand": 1201.78,
    "payable": 1201.78
  },
  "valid": true,
  "warnings": [],
  "xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<rsm:CrossIndustryInvoice xmlns:rsm=\"urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100\" …>…</rsm:CrossIndustryInvoice>",
  "note": "Checked against a subset of the EN 16931 and XRechnung 3.0 business rules; this is not the official KoSIT validator and not tax advice."
}

From an AI agent (MCP)

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

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

Related tools