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.
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.
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.
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.
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.
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.
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.
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.
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.
Validation and parsing as a developer API: same engine, normalized JSON, messages in three languages. Self-hosted available.
Explore the API