Finekot API
EN 16931 · XRechnung 3.0 · ZUGFeRD / Factur-X

Validate and create XRechnung and ZUGFeRD invoices. No signup.

Drop an XML or PDF invoice: official EN 16931 and XRechnung rules, every error with rule id and location.

10 free checks a day · €1 free with a key · then €0.02 per check

Processed on servers in Germany (Hetzner, Falkenstein). The uploaded file is checked in memory and not stored.

Result

The verdict, profile, totals and every rule violation appear here.

PDF invoice → XRechnung or ZUGFeRD

A PDF, scan or photo of an invoice becomes a structured e-invoice in two steps: read the fields, then build and validate the XML.

Free in the playground: 10 checks a day per IP. With a key: €0.10 per document.

Step 1 sends the invoice text or image to a language model via OpenRouter. The uploaded file is not stored; the built e-invoice is kept 24 hours behind a signed link, then deleted.

Result

The verdict, profile, totals and every rule violation appear here.

What exactly is checked

The file is parsed as UBL 2.1 or UN/CEFACT CII. The profile is read from the specification identifier (BT-24): XRechnung 3.0, ZUGFeRD / Factur-X EN 16931, Peppol BIS or plain EN 16931. ZUGFeRD and Factur-X PDFs are opened and the embedded XML is checked.

Rules are the official schematron sets compiled by their authors: EN 16931 validation 1.3.17 (CEN / ConnectingEurope) always, and KoSIT XRechnung schematron 2.6.0 (XRechnung 3.0.2) for XRechnung profiles. Each violation comes back with rule id (BR-CO-16, BR-DE-15 …), severity, message and XPath.

The verdict is technical validity only. XSD, PDF/A-3 conformance and Peppol BIS-specific rules are not checked, and it is not a tax or legal assessment.

Deadlines

What the law requires and when. Dates from the official sources linked under each country.

Germany

1 Jan 2025Every domestic business must be able to receive e-invoices. An email inbox is enough.
until 31 Dec 2026Issuers may still send paper or, with the buyer's consent, PDF.
1 Jan 2027Issuing e-invoices becomes mandatory for businesses with prior-year turnover above €800,000.
1 Jan 2028Mandatory for all; EDI formats that are not EN 16931 are allowed only until 31 Dec 2027.

Formats: XRechnung and ZUGFeRD from 2.0.1, except the MINIMUM and BASIC WL profiles.

Source: BMF: FAQ on the mandatory e-invoice ↗

Belgium

1 Jan 2026Structured e-invoices are compulsory for nearly all B2B transactions between Belgian VAT-registered businesses.
ChannelInvoices are sent over the Peppol network; Peppol BIS is the reference format.

Peppol BIS is built on EN 16931: the core rules are checked here, Peppol-specific rules are not.

Source: FPS Finance: from when is e-invoicing mandatory ↗

Poland

1 Feb 2026Receiving invoices through KSeF is mandatory; issuing in KSeF is mandatory for taxpayers with 2024 sales above PLN 200 million.
1 Apr 2026Issuing in KSeF is mandatory for the other taxpayers.
1 Jan 2027Taxpayers invoicing up to PLN 10,000 gross a month join.

KSeF uses the national FA(3) schema, which this tool does not validate. It covers EN 16931 invoices exchanged with DE, BE and FR partners.

Source: Ministry of Finance: scope of mandatory KSeF ↗

Price in plain numbers

A prepaid balance, no subscription. Charged only for a successful answer; errors are free.

One validationper document€0.02
One e-invoice built from JSONXML or Factur-X PDF€0.04
PDF invoice → XRechnung / ZUGFeRDread €0.06 + build €0.04€0.10

A new key comes with €1 of free credit: 50 validations.

Pack€5 250 validations or 50 PDF conversions
Pack€20 1 000 validations or 200 PDF conversions

Credits never expire. No subscription.

Apple Pay, Google Pay or card on the monobank page. The key is created for you if you have none.

Your key and balance—

No key in this browser yet.

For developers

Same checks over REST and MCP. One header, JSON out.

validate
curl https://api.finekot.com/v1/e-invoice \
  -H "Authorization: Bearer fk_live_…" \
  -F file=@invoice.xml

# → {"valid":false,"errors":2,"issues":[{"rule":"BR-DE-15",…}]}
# X-Cost: 0.02
create
curl https://api.finekot.com/v1/e-invoice \
  -H "Authorization: Bearer fk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"op":"create","output":"pdf","invoice":{…}}'

# → Factur-X PDF url + validation report · X-Cost: 0.04
MCP
claude mcp add --transport http finekot https://api.finekot.com/mcp --header "Authorization: Bearer fk_live_…"

API guides