Skip to content

Validate an XRechnung — and understand the errors

Upload an XRechnung XML or a ZUGFeRD / Factur-X PDF above. The validator checks the file against the XML schema (XSD) and the official Schematron rule sets — CEN EN 16931 and the KoSIT XRechnung rules — directly in your browser. Every finding is shown with its rule ID (for example BR-DE-15) and a plain-English explanation of what to fix.

Choose files

or drag and dropXML (XRechnung, UBL, CII) or PDF (ZUGFeRD, Factur-X)

Official rules — not the KoSIT service

This check uses the official XML schemas and Schematron rule sets (CEN EN 16931, KoSIT XRechnung) with the same evaluation logic as the KoSIT validator — but runs locally in your browser. It is not the KoSIT validator itself and no certification. In our tests on 149 reference and test files the result matched the KoSIT validator 1.6.3 on every file. KoSIT · Licences

Your files never leave your device — everything runs locally in your browser.

How it works

  1. 1

    Upload the file

    XRechnung (UBL or CII) or a ZUGFeRD / Factur-X PDF.

  2. 2

    Schema check

    The XML structure is checked against the XSD.

  3. 3

    Business rules

    EN 16931 and XRechnung Schematron rules are applied.

  4. 4

    Fix and re-check

    Read the explanations, correct the invoice and validate again.

Official rules, run locally

German invoice portals check incoming invoices with the rule sets published by the KoSIT (Koordinierungsstelle für IT-Standards) on top of the European EN 16931 rules. This validator runs the same kind of checks — XSD schema plus Schematron — inside your browser, so your invoice is never uploaded. Results should match what portals report; the final decision is always made by the recipient.

Common errors and what they mean

RuleMeaningFix
BR-DE-15Buyer reference (BT-10) missingEnter the Leitweg-ID or the reference your customer gave you.
BR-DE-2Seller contact missingAdd contact name, phone and email of the seller.
BR-DE-1Payment instructions missingSpecify the payment means, e.g. credit transfer with IBAN.
BR-CO-15Total with VAT ≠ total without VAT + VATRecalculate totals; check rounding.
BR-CO-25Amount due but no due date or payment termsAdd a due date or payment terms.

Errors vs. warnings

Errors (fatal) break a mandatory rule — portals reject such invoices. Warnings point to likely problems that do not necessarily lead to rejection, for example an unusual specification identifier. Fix errors first, then look at the warnings.

Rejected because of the Leitweg-ID? Check it with the Leitweg-ID checker. Want to create invoices that pass from the start? Use the e-invoice generator.

Tips

  • Errors usually lead to rejection, warnings not necessarily — but it is worth fixing both.
  • Common causes: missing buyer reference, totals that don’t add up and missing VAT exemption reasons.
  • The file stays on your device, so confidential invoices are safe to check.

Frequently asked questions

Is this the official KoSIT validator?

It applies the official XSD and Schematron rule sets locally in your browser. Binding is the check performed by the recipient or its portal.

Can I validate ZUGFeRD and Factur-X too?

Yes, the embedded XML is extracted and validated against EN 16931 and, for the XRECHNUNG profile, the XRechnung rules.

What does BR-DE-15 mean?

The buyer reference (BT-10) is missing. For German authorities this is the Leitweg-ID; for businesses, e.g. an order number.

Is my invoice uploaded?

No. Validation runs entirely on your device.