What is XRechnung?
XRechnung is the German CIUS (Core Invoice Usage Specification) of the European EN 16931 standard, maintained by KoSIT. It exists in two syntaxes - UBL 2.1 and UN/CEFACT CII - and is mandatory for invoicing German public authorities (B2G).
Open a XRechnung file in the viewer → See every business term, a visual preview and the raw XML.
- Country
- Germany 🇩🇪
- Syntax
- UBL 2.1 or CII D16B
- Version
- 3.0 (KoSIT)
Key facts
- Conforms to EN 16931:2017; CustomizationID urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_3.0.
- Two interchangeable syntaxes: XRechnung UBL and XRechnung CII.
- Routing uses a Leitweg-ID (buyer reference, BT-10).
- Germany has required the ability to RECEIVE EN 16931 e-invoices since January 2025.
XRechnung and EN 16931
XRechnung is the German CIUS (Core Invoice Usage Specification) of the European standard EN 16931, maintained by KoSIT (the Coordination Office for IT Standards). EN 16931 defines the semantic model of an electronic invoice; a CIUS narrows that model for a community - it may make optional fields mandatory and add validation rules, but it cannot add new business terms. Every valid XRechnung is therefore also a valid EN 16931 invoice.
XRechnung was created so German public authorities can receive structured invoices in a single, predictable shape. Its CustomizationID, urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_3.0, states exactly that: EN 16931-compliant, further constrained by the KoSIT XRechnung 3.0 profile.
UBL or CII: the two XRechnung syntaxes
Unlike most national profiles, XRechnung is defined over both EN 16931 syntaxes. A sender may issue an XRechnung as OASIS UBL 2.1 or as UN/CEFACT CII D16B - both are equally valid XRechnung and a compliant receiver must accept either. They carry the same CustomizationID; only the XML structure differs.
| Syntax | Root element | Also used by |
|---|---|---|
| XRechnung UBL | ubl:Invoice / ubl:CreditNote | PEPPOL BIS, OIOUBL |
| XRechnung CII | rsm:CrossIndustryInvoice | Factur-X / ZUGFeRD |
Routing with the Leitweg-ID
German B2G invoices are routed to the correct authority by a Leitweg-ID, carried in the buyer reference field (BT-10). It is a structured identifier (a coarse address, a fine address and a check digit) that tells the receiving platform which public body the invoice belongs to. A missing or malformed Leitweg-ID is one of the most common reasons a B2G XRechnung is rejected, even when the invoice itself is otherwise EN 16931-valid.
XRechnung vs ZUGFeRD / Factur-X
XRechnung and ZUGFeRD are often confused because both are German EN 16931 formats. The difference is the carrier. XRechnung is pure structured XML - there is no human-readable page inside the file. ZUGFeRD (and its Franco-German twin Factur-X) is a hybrid PDF/A-3: a visible PDF with a CII XML invoice embedded as an attachment.
For German public-sector invoicing the expected deliverable is XRechnung. ZUGFeRD is common in B2B, where a readable PDF is convenient. Because XRechnung-CII and ZUGFeRD both use the CII syntax, converting between them is mostly a matter of profile identifiers and the PDF wrapper.
The German e-invoice mandate
Since January 2025 every German business must be able to RECEIVE EN 16931 e-invoices (XRechnung or compliant ZUGFeRD) - receipt capability is already mandatory. The obligation to ISSUE structured e-invoices in B2B is phased in over the following years by company size. For invoicing federal public authorities (B2G), XRechnung has been required for some time. See the Facturus guide to the German B2B mandate for the current timeline.
Validating an XRechnung
A valid XRechnung must pass the UBL 2.1 (or CII D16B) XSD, the EN 16931 business rules, and the additional XRechnung (KoSIT) rules - for example the Leitweg-ID format and German tax-handling constraints. KoSIT publishes an official validator and test suite. You can also run the EN 16931 + format checks in your browser with the Facturus validator before sending, without uploading the file to a server.
Frequently asked questions
- Is XRechnung UBL or CII?
- Both. XRechnung is defined over two syntaxes - UBL 2.1 and CII D16B - and both are valid XRechnung. A compliant receiver must accept either.
- Is XRechnung the same as ZUGFeRD?
- No. XRechnung is a pure XML B2G profile; ZUGFeRD/Factur-X is a hybrid PDF carrying CII XML. Both conform to EN 16931.
- What is a Leitweg-ID?
- A structured routing identifier carried in the buyer reference (BT-10) that tells the public-sector platform which authority an XRechnung is addressed to. It is mandatory for German B2G invoices.
- Is XRechnung mandatory in Germany?
- For invoicing federal public authorities (B2G), yes. Separately, since January 2025 all German businesses must be able to receive EN 16931 e-invoices, with the obligation to issue B2B e-invoices phased in by company size.
- Which XRechnung version is current?
- XRechnung 3.0, maintained by KoSIT. Its CustomizationID ends in urn:xoev-de:kosit:standard:xrechnung_3.0.
- Can I send an XRechnung over PEPPOL?
- Yes - XRechnung UBL is routinely transported over the PEPPOL network. XRechnung CII must be transcoded to UBL first, because PEPPOL accepts UBL only.