XRechnung — the e-invoice of the German public sector
XRechnung is the German national profile of EN 16931 — a CIUS (Core Invoice Usage Specification). Since late 2020 it has been the mandatory format for invoicing the German federal administration. It does not define a new syntax: it is realised in CII or UBL, with extra German rules on top.
What is XRechnung?
EN 16931 fixes the common semantics of the European invoice. Each country may publish a CIUS: a restricted, clarified subset for its needs, never leaving the norm. XRechnung is the German CIUS. It restricts some fields, makes others mandatory (the Leitweg-ID in particular) and adds national BR-DE-* business rules on top of the European BR-* rules.
The Leitweg-ID: addressing the recipient
XRechnung's most visible specificity is the Leitweg-ID: a routing identifier
that precisely designates the recipient public authority, carried in the
BuyerReference field (BT-10). Without a valid Leitweg-ID, a B2G invoice is rejected
by the receiving platforms. See the German detail:
Leitweg-ID.
Two syntaxes: CII or UBL
An XRechnung invoice is either a CII
XML or a UBL XML — the issuer's
choice, both equally compliant. The profile is declared by the CustomizationID.
Example in UBL:
<Invoice
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_3.0</cbc:CustomizationID>
<cbc:ID>RE-2026-04127</cbc:ID>
<cbc:IssueDate>2026-06-23</cbc:IssueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<!-- BT-10: the Leitweg-ID identifies the recipient authority -->
<cbc:BuyerReference>04011000-1234512345-06</cbc:BuyerReference>
<cac:AccountingSupplierParty>
<cac:Party><cac:PartyName><cbc:Name>Digitalwerkstatt GmbH</cbc:Name></cac:PartyName></cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party><cac:PartyName><cbc:Name>Bundesamt für Beschaffung</cbc:Name></cac:PartyName></cac:Party>
</cac:AccountingCustomerParty>
</Invoice> Validation: BR-DE rules and the KoSIT validator
Conformance is checked in two layers: the EN 16931 rules (BR-*) common to Europe, then the national BR-DE-* rules specific to XRechnung, all expressed in Schematron. KoSIT publishes a reference validator (scenarios + rule sets) that platforms embed.
Transmission: ZRE, OZG-RE, PEPPOL
- ZRE — the central invoice-reception platform of the federal government.
- OZG-RE — the reception platform under the OZG act (other federal bodies).
- PEPPOL — an accepted delivery channel, XRechnung travelling as a PEPPOL BIS document.
XRechnung vs ZUGFeRD
- XRechnung: pure XML (CII or UBL), built for automated B2G processing.
- ZUGFeRD / Factur-X: a hybrid PDF/A-3 + embedded CII invoice, handy in B2B where a human also reads the PDF.
- German B2B mandate: both are accepted (ZUGFeRD from the BASIC profile up), as both are EN 16931-compliant.
Further reading
- KoSIT — XRechnung standard.
- The underlying syntaxes: CII and UBL.
- The German context: XRechnung in Germany.