XRechnung: the German CIUS for electronic invoicing

XRechnung is Germany's national specification for electronic invoices — the layer that turns the abstract European standard into something concrete enough for the German tax administration to act on. It is not a file format; it is a Core Invoice Usage Specification (CIUS) that sits on top of EN 16931, tightening the European baseline to match what German law and German receiving systems require. XRechnung is maintained by KoSIT (Koordinierungsstelle für IT-Standards), a body jointly run by the German federation and the länder.

Legal scope and timeline

The XRechnung mandate has rolled out in several phases:

The legal basis is the Wachstumschancengesetz of 2024, which amends §14 UStG to make the electronic invoice the default and the paper invoice the exception. For the broader legal and operational context — accepted formats, transmission channels, archival, and the Leitweg-ID system for the public sector — see E-invoicing in Germany.

Two syntaxes, one specification

A common source of confusion: XRechnung is not a single XML format. The specification permits invoices to be expressed in either of EN 16931's two endorsed syntaxes — UBL 2.1 or UN/CEFACT CII — and a compliant invoice in either form is equally valid. Receiving systems must handle both. In practice, the public sector tends to favour UBL while industry-issued invoices lean towards CII, but neither preference has the force of law. See UBL vs CII for the trade-offs.

XRechnung is also not the only legally valid format for the German B2B market. The hybrid PDF/XML format Factur-X / ZUGFeRD is equally accepted, and the choice between the two is a real architectural decision rather than a matter of legal preference — see XRechnung vs ZUGFeRD for the trade-offs.

What XRechnung adds to EN 16931

XRechnung's contribution is a set of additional business rules — the BR-DE-* family — that constrain or require fields the European baseline leaves optional. The most consequential additions are:

A typical XRechnung invoice is checked against perhaps 200 rules: the EN 16931 baseline plus around 30 BR-DE-* rules plus the additional BR-CO-* and BR-CL-* checks the European standard already provides.

The Leitweg-ID

For invoices to German public administration, the buyer reference (BT-10) is not a free-text field. It must be a Leitweg-ID — a structured routing identifier issued by the receiving authority to the supplier in advance. The Leitweg-ID tells the receiving portal which department, agency, or sub-unit the invoice belongs to, and is the precondition for the invoice being routed through the public-sector e-invoicing portals (ZRE for federal authorities, OZG-RE for several länder, dedicated portals elsewhere).

In B2B invoicing the buyer reference is also mandatory but can be any value the parties have agreed on — typically an order number, a contract reference, or a customer-internal identifier.

The XRechnung Extension

Standard XRechnung covers the EN 16931 information set. Some real-world German invoicing scenarios — sub-line items for composite services, third-party payment splits, additional reference structures — require fields that are not part of the European baseline. The XRechnung Extension adds these as optional elements, validated by the BR-DEX-* family. An invoice using Extension fields is no longer pure EN 16931, but it remains processable by Extension-aware receiving systems.

The Extension is opt-in. Most invoices do not need it.

Validating an XRechnung

The official validator is published by KoSIT and runs the schematron against your file. It is the source of truth for "is this XRechnung-compliant", and any disagreement between a third-party validator and KoSIT should be resolved in KoSIT's favour. Our validator bundles the same schematron rules, so a green report from us corresponds to a green report from KoSIT — but the official tool is the one that matters in a dispute.

What XRechnung does not solve

The boundaries of the specification are worth being explicit about. XRechnung says nothing about:

For anyone evaluating an "XRechnung-capable" product, the right questions are: which versions does it support, does it validate against the bundled KoSIT schematron, does it handle both UBL and CII, and how does it integrate with the transmission channels the customers actually use.