XRechnung 3.0 e-invoice format (Germany)
UBL 2.1 or UN/CEFACT CII (both supported)
Mandatory for invoicing German federal and most state public-sector buyers (B2G). B2B receipt has been mandatory since 2025.
Deadline: B2G: live since 2020. B2B: receipt mandatory since January 2025; issuance phases in through 2027–28 depending on company size.
XRechnung is Germany’s CIUS (Core Invoice Usage Specification) of EN 16931, maintained by KoSIT, supporting both UBL and CII syntax. It adds mandatory fields the EN 16931 core leaves optional: a Buyer reference carrying the Leitweg-ID (routes the invoice to the correct German public-sector unit), a declared business process, Peppol-style electronic addresses for both parties, and a seller contact phone number.
InvoiceHub validates against the official CEN EN 16931 Schematron and KoSIT’s own compiled XRechnung 3.0 delta ruleset together — real BR-DE-* and PEPPOL-EN16931-* identifiers, not an approximation of what KoSIT requires.
Try it
curl -X POST https://api.invoicehub.dev/api/v1/convert \
-H "Authorization: Bearer ih_live_xxx" \
-H "Content-Type: application/json" \
-d '{"from": "UBL_2.1", "to": "XRechnung_UBL", "document": "<source UBL document>"}'Structure
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0</cbc:CustomizationID>
<cbc:BuyerReference>04011000-1234512345-06</cbc:BuyerReference> <!-- Leitweg-ID -->
<cbc:EndpointID schemeID="9930">DE123456789</cbc:EndpointID>
<cac:Contact>
<cbc:Telephone>+49 30 1234567</cbc:Telephone>
</cac:Contact>Common validation errors
- BR-DE-6 — Seller contact telephone (BT-42) missing — mandatory specifically, not optional like in plain EN 16931.
- PEPPOL-EN16931-R001 — Business process (BT-23) not declared.
- PEPPOL-EN16931-R010 / R020 — Buyer or seller Peppol electronic address missing.
Generate or convert to XRechnung 3.0
POST /api/v1/generate for structured JSON in, or POST /api/v1/convert from any other supported format.