Free validator
XRechnung validator. Official KoSIT, exact fix.
Drop an XRechnung XML or a ZUGFeRD / Factur-X PDF. XRechnung (UBL or CII) goes to the official KoSIT validator; ZUGFeRD / Factur-X and Peppol BIS get our structural EN 16931 check. You get every failed rule with a plain-language message, a fix, and the field in your JSON where we can map it. No account, nothing stored.
Paste or drop an e-invoice XML, or a ZUGFeRD / Factur-X PDF, to see the report — XRechnung (UBL or CII) is checked by the official KoSIT validator, ZUGFeRD / Factur-X and Peppol BIS against the structural EN 16931 rules.
What is checked
- XRechnung (UBL or CII): the official KoSIT validator 1.6.2 with the XRechnung 3.0.2 configuration, including XML schema and all business rules.
- ZUGFeRD / Factur-X (XML, or the XML inside a PDF) and Peppol BIS: normbill's structural EN 16931 check of mandatory data, totals and tax.
- A PDF is checked for its invoice XML, not as a PDF/A-3 file.
Sample files
Need a valid XRechnung to test against? UBL and CII sample files the KoSIT validator accepts, plus one with a typical error (German page).
Common failures
BR-DE-15 (buyer_reference / Leitweg-ID), BR-DE-1 (payment means), BR-DE-2 (seller contact).
Via the API
POST /v1/invoices/validate — the same report as this page. Docs.
Want a human to look at it?
Send us the invoice XML your system produces today — we'll reply with the three things most likely to break before the 2027 issuing mandate, from the same KoSIT-backed pipeline. Free, no account, one working day. Your file is reviewed by a human and deleted once we've replied.
Validator questions.
Something unclear in a report? support@normbill.com — a human replies.
Is the validator free?
Yes. No account, no card; a fair-use limit per visitor applies.
Is my invoice stored?
No. A PDF never leaves your device: we unpack its embedded XML in your browser. The XML is sent to the validator for this one check and is not stored.
Do you check ZUGFeRD with the KoSIT validator?
Only when the XML carries the XRechnung profile. KoSIT's validator checks XRechnung; other ZUGFeRD / Factur-X and Peppol BIS files get our structural EN 16931 check. We check the invoice XML inside a PDF, not the PDF/A-3 file itself.
What does an error like BR-DE-15 mean?
Every finding links to its rule page with the meaning and the fix. BR-DE-15, for example, is the missing buyer reference, which public buyers expect to hold their Leitweg-ID.
Where do I get a valid sample file?
On the XRechnung sample page (German): UBL and CII files the KoSIT validator accepts, plus one with a typical error.