TaxLayer
Sign InGet Started Free
Technical2025-04-055 min readby TaxLayer Team

KoSIT Validator: How to Validate ZUGFeRD and XRechnung Files

The KoSIT Validator (Koordinierungsstelle für IT-Standards — Coordination Office for IT Standards) is the official tool of the German administration for validating e-invoices. Anyone sending ZUGFeRD or XRechnung files should validate them beforehand — a rejected invoice delays payment and causes unnecessary extra work.

> Quick answer: The KoSIT Validator checks e-invoices against XSD schemas, business rules, and German CIUS rules. You can use it as a local Java tool or alternatively use the free ZUGFeRD & XRechnung Validator directly in your browser.

What exactly does the KoSIT Validator check?

The Validator performs five sequential checks:

  1. Syntax check: Is the XML well-formed?
  2. Schema check: Does the structure conform to the UBL 2.1 or CII schema?
  3. Business rules (BR): Are all required fields present? (BR-01 to BR-65)
  4. Calculation rules (BR-CO): Do the totals add up? (Net + Tax = Gross)
  5. CIUS rules: German-specific rules for XRechnung (BR-DE-01 to BR-DE-25)

Only when all five levels pass is the e-invoice considered valid. A single error at any level results in rejection.

How can I use the KoSIT Validator?

Option 1: Online Validator

Various providers offer the KoSIT Validator as an online tool. You upload your XML file and immediately receive a validation result. The downside: your invoice data is transmitted to an external server.

Option 2: Command line (Java)

The official Validator is a Java program:

  1. Install Java Runtime (JRE 11+)
  2. Download the Validator ZIP
  3. Load the configuration (Scenarios) for XRechnung or ZUGFeRD
  4. Run the command: java -jar validationtool.jar -s scenarios.xml file.xml

Option 3: Free browser-based Validator

The ZUGFeRD & XRechnung Validator on our website checks your XML file directly in the browser against all EN 16931 required fields. No installation, no upload — the file never leaves your computer.

What are the most common validation errors?

ErrorCauseSolution
BR-02Invoice date missingAdd BT-2 (IssueDate)
BR-06Seller name missingAdd BT-27 (SellerName)
BR-16No line itemsAdd at least one InvoiceLine
BR-CO-10Incorrect totalCheck line item totals
BR-DE-01[Leitweg-ID](/blog/leitweg-id-explained) missingAdd BT-10 for XRechnung

A complete overview of required fields can be found in EN 16931: All Required Fields.

Why should I validate before sending?

An invalid e-invoice is immediately rejected by government agencies via the ZRE. Companies with automated invoice receipt systems also reject faulty files. The result: delayed payments and unnecessary correction effort.

Validate every e-invoice before sending with the free ZUGFeRD & XRechnung Validator — directly in your browser, without uploading to a server. Alternatively, you can create an XRechnung via the form-based XRechnung Generator — validation is built in.

How does TaxLayer validate automatically?

TaxLayer automatically validates every generated e-invoice against all EN 16931 required fields before the file is available for download. This way, you avoid rejections by the recipient — without a manual validation step. The first two conversions per month are free.

Frequently asked questions

What is the KoSIT Validator?

The KoSIT Validator is the official tool from the Coordination Office for IT Standards (Koordinierungsstelle für IT-Standards) for validating e-invoices. It validates XML files against XSD schemas, Schematron rules, and German CIUS rules for XRechnung.

What checks does the KoSIT Validator perform?

It performs five levels of checks: syntax check (well-formed XML), schema check (UBL/CII structure), business rules (BR-01 to BR-65), calculation rules (net + tax = gross), and CIUS rules (BR-DE-01 to BR-DE-25).

Is there a free online alternative to the KoSIT Validator?

Yes. The ZUGFeRD & XRechnung Validator by TaxLayer checks your file directly in the browser against all EN 16931 required fields — no installation, no upload to a server.

What does the error BR-DE-01 mean?

BR-DE-01 means that the Leitweg-ID (BT-10) is missing. This error occurs with XRechnung since the Leitweg-ID is a mandatory field there. More details in Leitweg-ID Explained.

Can I validate ZUGFeRD PDFs with the Validator?

The official KoSIT Validator only checks XML files. The TaxLayer Validator can also check ZUGFeRD PDFs directly in the browser — it extracts the embedded XML automatically.

Do I have to validate every e-invoice before sending?

It is not legally required but strongly recommended. An invalid e-invoice will be rejected by the recipient, delaying payment. TaxLayer automatically validates against EN 16931 before generating the file.

Convert PDF invoices now

Try TaxLayer for free — 2 conversions per month, no credit card required.

Get started