Validate XRechnung — right in your browser

Check XRechnung files (UBL or CII) against EN 16931 and the German BR-DE rules — including the Leitweg-ID. Your file never leaves your machine.

Drop your invoice here
XRechnung (XML), ZUGFeRD / Factur-X (PDF or XML)
Checking invoice …

Most common errors

What is XRechnung?

XRechnung is Germany’s standard for electronic invoices, published by KOSIT (the coordination office for IT standards). Technically it is a CIUS — a national specialisation — of the European norm EN 16931, and it exists in two syntaxes: UBL and UN/CEFACT CII. An XRechnung is pure XML; unlike ZUGFeRD there is no PDF visual layer.

Who needs to support it?

For invoices to German public bodies (B2G), XRechnung has been mandatory since November 2020. For B2B: every German company has had to be able to receive e-invoices since January 1, 2025. The obligation to issue follows in stages — from 2027 for companies above €800k annual revenue, from 2028 for everyone. If you build software that creates or processes invoices for the German market, this is not a 2028 problem.

Common pitfalls

Most rejected XRechnung files don’t fail on exotic rules but on a handful of recurring ones: a missing buyer reference (always mandatory in XRechnung, not just for public bodies), missing payment instructions, and totals that deviate from the norm’s arithmetic by cents. The validator shows a rule id for every finding — and every rule has an explainer page with cause and fix in English, German and French.

For software makers

If your product creates or receives XRechnung, the browser validator is the start: the same engine is available as a developer API — validate and parse over HTTP, error messages in three languages, self-hosted in your infrastructure if you need it.

Frequently asked questions

What exactly does the validator check?

Syntax (UBL or UN/CEFACT CII), the detected profile (CustomizationID), the EN 16931 business rules (BR, BR-CO), the German XRechnung rules (BR-DE) including the Leitweg-ID pattern, and totals arithmetic. Every finding carries a rule id with its own explainer page.

Is my invoice uploaded?

No. Validation runs as WebAssembly entirely in your browser. The file never leaves your machine — which makes the validator safe to use with real invoices containing real data.

Which XRechnung versions are supported?

XRechnung 1.2 through 3.0, in both syntaxes (UBL and CII). Older versions are detected and flagged with a pointer to the currently valid version.

Does this replace the official KOSIT validation?

The validator is a fast, practical check of the rules that actually reject invoices — not a replacement for the full KOSIT Schematron validation. To integrate checking into your software, the same engine is available as an API.

Validating is the start — the API does the rest

Validation and parsing as a developer API: same engine, normalized JSON, messages in three languages. Self-hosted available.

Explore the API