XRechnung Validator
Validate an XRechnung online for free. Drop the XML file (UBL or CII) and see every EN16931 rule it breaks, with the rule ID, the XML location and a fix hint. No signup.
Honest scope: we check EN16931 and the German BR-DE rules from KoSIT. Peppol BIS rules are not applied to an XRechnung, and there is no XSD schema validation. See what is and is not checked.
Rules: EN16931 1.3.16 and Peppol BIS Billing 3.0.20 for UBL · EN16931 1.3.16 for CII · XRechnung 3.0.2 (KoSIT schematron 2.6.0) · last updated 15 October 2026
Drag and drop XML invoices
or click to browse · UBL and CII / Factur-X supported
What is an XRechnung?
XRechnung is Germany's national e-invoice standard. It started as the format for invoicing public authorities (B2G) and is now also widely used between businesses, because the German B2B mandate accepts any format that follows the European standard EN16931.
An XRechnung is a CIUS of EN16931: it uses the same semantic model (business terms BT-1 to BT-165 and business groups BG-1 to BG-32) and tightens it with German rules prefixed BR-DE-. Examples: the buyer reference BT-10 is mandatory, seller contact details are required, and the payment instructions must be complete. KoSIT publishes the specification and an official schematron; the current release line is XRechnung 3.0.x.
XRechnung can be expressed in two syntaxes, UBL 2.1 and UN/CEFACT CII. It is always a pure XML file. For a hybrid PDF with embedded XML, see ZUGFeRD and the ZUGFeRD validator.
What we check, and what we do not
Most XRechnung errors come from the EN16931 core or the German rules: wrong totals, a VAT breakdown that does not match the lines, missing mandatory fields, a missing Leitweg-ID. This tool finds those. It does not replace a binding check with the official KoSIT validator.
Checked
- EN16931 CEN business rules 1.3.16 for UBL 2.1 and CII (BR-, BR-CO-, BR-DEC-, VAT category rules such as BR-S- and BR-AE-)
- KoSIT XRechnung rules (XRechnung 3.0.2, schematron 2.6.0): BR-DE-, BR-DEX- and BR-TMP-, for example BR-DE-15 buyer reference and BR-DE-2 seller contact
- Severity levels from the KoSIT scenarios, for example an unknown unit code (BR-CL-23) is only a warning
- Code lists used by the EN16931 rules: currencies, countries, VAT categories, units
- Whether the file is well-formed XML, whether it is UBL or CII, and whether it carries the XRechnung identifier
Not checked
- Leitweg-ID structure and check digit
- Full XSD schema validation of UBL or CII
- The formal “acceptable” or “reject” recommendation of the KoSIT validator; this is not an official KoSIT tool
- PDF/A-3 conformance or the visual part of ZUGFeRD / Factur-X (PDF upload is not supported)
- Peppol BIS Billing 3.0 rules: an XRechnung is not a Peppol BIS invoice, so they are not applied
Rule source: the KoSIT xrechnung-schematron, release 2.6.0, Apache-2.0. Need a binding check with schema validation? The KoSIT validator guide explains how to run the official tool, and how its results relate to ours.
How to validate an XRechnung in three steps
Export the XML
Save the XRechnung from your invoicing or ERP software as an .xml file. Both UBL (root element Invoice or CreditNote) and CII (root element rsm:CrossIndustryInvoice) work.
Upload and wait a few seconds
The tool detects the syntax and the XRechnung identifier. An XRechnung runs through the EN16931 CEN rules and the KoSIT XRechnung rules, for UBL or for CII. The Peppol BIS rules are not applied.
Read the results by rule
Errors (fatal) must be fixed before the invoice is compliant. Warnings point to recommended fixes. Each finding shows the rule ID and the XML location.
XRechnung in UBL vs CII
| XRechnung UBL | XRechnung CII | |
|---|---|---|
| Root element | Invoice / CreditNote | rsm:CrossIndustryInvoice |
| Buyer reference (BT-10) | cbc:BuyerReference | ram:BuyerReference |
| Credit notes | Separate CreditNote document | Same structure, type code 381 |
| Rules run here | EN16931 CEN UBL | EN16931 CEN CII |
| Typical sender | Peppol-connected and public-sector suppliers | Software that also produces ZUGFeRD |
Comparing formats? Read ZUGFeRD vs Factur-X vs XRechnung.
Common XRechnung errors
Buyer reference missing
XRechnung requires BT-10 Buyer reference (cbc:BuyerReference or ram:BuyerReference), usually the Leitweg-ID for public buyers.
Total with VAT does not add up
BT-112 must equal BT-109 (total without VAT) plus BT-110 (total VAT). The usual cause is rounding per line instead of per VAT breakdown.
Taxable amount per VAT rate is wrong
For standard-rated lines, the VAT breakdown taxable amount (BT-116) must equal the sum of line net amounts plus charges minus allowances at that rate.
Sum of line net amounts mismatch
BT-106 must equal the sum of all invoice line net amounts (BT-131). Often caused by hidden lines or a discount applied twice.
Every rule explained: validation rules reference.
Leitweg-ID and public-sector invoices
When you invoice a German public authority, the authority gives you its Leitweg-ID. It goes into BT-10 and tells the receiving platform (ZRE for the federal level, OZG-RE or a state portal) which office gets the invoice. A wrong or missing Leitweg-ID is one of the most frequent reasons for a rejected B2G invoice.
The validator checks that BT-10 is present (BR-DE-15), but not whether the Leitweg-ID is the right one for your buyer, so check that by hand before you submit. For the bigger picture of German B2G and Peppol, see Peppol in Germany.
German e-invoicing timeline
Suppliers to federal authorities must send structured e-invoices (B2G).
Every German business must be able to receive EN16931 e-invoices (B2B).
Issuing e-invoices becomes mandatory for businesses with prior-year turnover above €800,000.
Issuing e-invoices becomes mandatory for all remaining domestic B2B invoices.
Exemptions and details: German e-invoicing mandate.
Free XRechnung check
Validate your XRechnung now
Drop an XRechnung XML in UBL or CII. You get every EN16931 finding in seconds, no signup.
Drag and drop XML invoices
or click to browse · UBL and CII / Factur-X supported
No invoice?
Frequently asked questions
What is XRechnung?
XRechnung is the German standard for structured electronic invoices. Technically it is a CIUS (Core Invoice Usage Specification) of the European standard EN16931: it keeps the EN16931 data model and adds national business rules with the prefix BR-DE. It is maintained by KoSIT (Koordinierungsstelle für IT-Standards) on behalf of the German federal and state governments. The current major version is XRechnung 3.0.x.
Is XRechnung UBL or CII?
Both. XRechnung allows two XML syntaxes: OASIS UBL 2.1 (Invoice and CreditNote) and UN/CEFACT Cross Industry Invoice (CII). Both carry the same EN16931 content. An XRechnung is always pure XML with no PDF wrapper. A PDF with embedded XML is ZUGFeRD or Factur-X, not XRechnung (although ZUGFeRD has an XRECHNUNG profile).
Does this validator check the German BR-DE rules?
Yes. When the file carries the XRechnung identifier (urn:xeinkauf.de:kosit:xrechnung_3.0), this tool runs the EN16931 CEN schematron 1.3.16 and the official KoSIT XRechnung schematron 2.6.0 (XRechnung 3.0.2), for UBL or CII. That covers the BR-DE, BR-DEX and BR-TMP rules, such as BR-DE-15 (buyer reference / Leitweg-ID), with the severity levels of the KoSIT scenarios. It does not do XSD schema validation and it is not an official KoSIT tool. For a binding check, also run the KoSIT validator.
Are the Peppol BIS rules applied to an XRechnung?
No. An XRechnung is not a Peppol BIS Billing invoice. When the specification identifier contains the XRechnung identifier (urn:xeinkauf.de:kosit:xrechnung_3.0), the tool runs the EN16931 rules and the KoSIT XRechnung rules (BR-DE) and notes in the result that the Peppol rules were not applied. So you do not get false errors such as PEPPOL-EN16931-R004. Without that identifier, a UBL file is treated as Peppol BIS Billing 3.0 and checked against EN16931 and the Peppol BIS rules.
Can I upload a PDF?
No. The validator accepts XML files only. An XRechnung is pure XML anyway. If you have a ZUGFeRD or Factur-X PDF, extract the embedded factur-x.xml or zugferd-invoice.xml first and upload that file. It will then be checked against the EN16931 CII rules.
Is XRechnung mandatory?
For invoices to federal public authorities, structured e-invoices have been required since 27 November 2020; most federal states have their own B2G rules. For domestic B2B invoices, all German businesses must be able to receive e-invoices since 1 January 2025. Issuing becomes mandatory from 1 January 2027 for businesses with prior-year turnover above €800,000 and from 1 January 2028 for all others. XRechnung is one accepted format; any EN16931-compliant format, including ZUGFeRD from the EN16931 profile, also qualifies for B2B.
Where does the Leitweg-ID go in an XRechnung?
The Leitweg-ID is the routing identifier of a German public buyer. It goes into the buyer reference (BT-10), which is cbc:BuyerReference in UBL and ram:BuyerReference in CII. XRechnung makes BT-10 mandatory (rule BR-DE-15). On the federal platforms the Leitweg-ID can also be used as a Peppol electronic address under scheme 0204. You get it from the authority you invoice.
Is the XRechnung validator free?
Yes. You can validate XRechnung files without an account or payment. You can also upload several XML files at once and get one result per file.
Related pages
E-Rechnung Validator
Validate any German e-invoice: XRechnung, ZUGFeRD XML, Factur-X XML
ZUGFeRD Validator
Check the CII XML inside a ZUGFeRD invoice
KoSIT Validator
The official XRechnung check and how it compares
Leitweg-ID
Structure, check digit and where it goes in the invoice
German e-invoicing mandate
2025, 2027 and 2028 deadlines and exemptions
ZUGFeRD explained
Profiles, versions and the hybrid PDF format
Factur-X Validator
Validate Factur-X / ZUGFeRD CII XML
Peppol in Germany
How XRechnung, Leitweg-ID and Peppol fit together