Convert UBL 2.1 to XRechnung 3.0
Germany requires XRechnung for invoicing federal and most state public-sector buyers (B2G).
Deadline: Live since 2020 for federal buyers; B2B receipt of e-invoices has been mandatory since 2025, with issuance requirements phasing in through 2027–28.
XRechnung is Germany’s CIUS (Core Invoice Usage Specification) of EN 16931, maintained by KoSIT, layered on top of the same core rules every UBL invoice already satisfies — plus additional mandatory fields the plain EN 16931 core doesn’t require: a Buyer reference carrying the Leitweg-ID for B2G routing, a declared business process, Peppol-style electronic addresses for both parties, and a seller contact phone number specifically.
InvoiceHub validates against both rulesets together: the official CEN EN 16931 Schematron and KoSIT’s own XRechnung 3.0 delta ruleset (BR-DE-* and PEPPOL-EN16931-* rules) — not a hand-approximated subset. A document that is valid EN 16931 UBL but missing the extra XRechnung fields is rejected with the exact BR-DE-* rule that failed, so the fix is specific, not a guess.
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 document>"}'Real XRechnung 3.0 (UBL) output
Excerpt from actual, verified conversion output — not a mocked example.
<Invoice ...>
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0</cbc:CustomizationID>
<cbc:ID>INV-2026-0142</cbc:ID>
<cbc:BuyerReference>04011000-1234512345-06</cbc:BuyerReference>
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="9930">DE123456789</cbc:EndpointID>
...
<cac:Contact>
<cbc:Name>Support</cbc:Name>
<cbc:Telephone>+49 30 1234567</cbc:Telephone>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
</Invoice>Common validation errors
- BR-DE-6 — Seller contact telephone number (BT-42) missing — XRechnung requires a phone specifically, an email alone does not satisfy it.
- PEPPOL-EN16931-R001 — Business process (BT-23 / cbc:ProfileID) not provided.
- PEPPOL-EN16931-R010 / R020 — Buyer or seller electronic address (Peppol endpoint id, BT-49/BT-34) missing.
- BR-DE-TMP-32 (informational, not blocking) — No delivery date, invoicing period, or line period given — recommended, not mandatory.
Get an API key
Free tier includes unlimited validation and UBL 2.1 generation. This conversion requires the Pro plan or above.