Free XRechnung Validator (UBL & CII)

Check any XRechnung 3.x e-invoice against the official KOSIT schematron — both UBL and CII syntax variants supported. Free, no signup, instant results with the exact rule ID (BR-DE-*, CII-DE-*, EN 16931) for every error.

How the XRechnung validator works

1

Upload your XRechnung XML

Drag and drop or pick the XML file — either UBL (Invoice / CreditNote) or CII (CrossIndustryInvoice). The validator auto-detects the syntax from the root element and CustomizationID URN.

2

Run EN 16931 + XRechnung 3.x rules

The validator runs the underlying EN 16931 European norm followed by all XRechnung-specific rules (BR-DE-*, CII-DE-*, profile constraints) using the official KOSIT schematron release.

3

Read the detailed report

Errors and warnings come back with the exact KOSIT rule ID, the XPath location in the document, and a plain-English description, so you know exactly what to fix and where.

What the XRechnung validator checks

EN 16931 European norm

Full EN 16931 ruleset: mandatory fields (BT-*), business rules (BR-*), calculation chain (BR-CO-*), VAT category logic (BR-S-*, BR-Z-*, BR-E-*, BR-AE-*, BR-K-*, BR-G-*, BR-O-*) and decimal-precision rules (BR-DEC-*).

XRechnung-specific rules

All BR-DE-* (UBL) and CII-DE-* (CII) constraints required by German federal and state public-sector buyers. Includes mandatory Leitweg-ID (BR-DE-1), valid German VAT identifiers, banking details for SEPA, and the German- specific date and currency formats.

UBL and CII syntax both supported

UBL XRechnung (used by PEPPOL access points and modern e-invoicing software) and CII XRechnung (UN/CEFACT Cross Industry Invoice, used by SAP Document Compliance, DATEV and ZUGFeRD tooling) are both detected and routed to the right pipeline automatically.

XSD schema validation (UBL)

UBL 2.1 schema-level checks catch structural errors before the business rules ever run — wrong element order, missing required types, namespace mistakes, invalid enumeration values from the official UBL code lists.

Why XRechnung validation matters

Since 27 November 2020, every supplier invoicing a German federal public-sector buyer must send the invoice as XRechnung. Most German federal states extended the same requirement to state and municipal contracts over the following years. Submitting a non-compliant invoice through ZRE (Zentrale Rechnungseingangs- plattform des Bundes), OZG-RE or any state portal results in immediate rejection — no human review — and the payment clock does not start until you resubmit a passing invoice.

The aiDoks XRechnung validator uses the same official schematron files distributed by KOSIT (Koordinierungsstelle für IT-Standards) that the government portals use. If aiDoks says "valid", your invoice passes at the portal. If aiDoks reports errors, every rule comes with the exact ID (e.g. BR-DE-15 for the Leitweg-ID, BR-CO-13 for tax-total mismatch) so the next iteration is fast.

Common XRechnung validation errors

  • BR-DE-1 — The Buyer reference (Leitweg-ID) is missing. German federal/state buyers always send a Leitweg-ID with the order — it must be repeated in the invoice's cbc:BuyerReference (UBL) or ram:BuyerReference (CII).
  • BR-DE-15 — Buyer contact information is incomplete. XRechnung requires either an electronic address or a postal address — most validators require both.
  • BR-DE-21 — Specification identifier missing or wrong. The CustomizationID must be urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0.
  • BR-CO-15 — Total payable amount mismatch. Sum of line totals + charges - allowances must equal the payable amount, rounded to 2 decimal places.
  • BR-S-08 — Standard-rated VAT but rate is missing. Add the correct VAT rate to the relevant cac:TaxCategory / ram:CategoryTradeTax element.

Beyond XRechnung: PEPPOL, Factur-X, EN 16931 and more

The aiDoks validator is a single tool for every major European e-invoice format. Upload a PEPPOL BIS 3.0 invoice, a Factur-X / ZUGFeRD PDF, a plain EN 16931 CII document or an Estonian e-arve XML and the tool auto-detects the format and applies the right validation pipeline. Useful if you exchange invoices across multiple EU markets or operate in both PEPPOL and XRechnung corridors.

XRechnung validator: FAQ

What is XRechnung and who needs to use it?

XRechnung is the German Core Invoice Usage Specification (CIUS) of EN 16931. Since 27 November 2020, all suppliers to German federal public-sector buyers must send invoices in XRechnung format; many German federal states and municipalities require it for state and local public procurement too. The validator checks both UBL and CII syntax variants against the latest XRechnung 3.x rules — the same rule set used by the official KOSIT validator.

What does the XRechnung validator check?

Two layers of rules run in sequence: the underlying EN 16931 European norm (BR-CO-*, BR-S-*, BR-DEC-* and friends) followed by XRechnung-specific rules (BR-DE-*, CII-DE-* and the XRechnung profile constraints). XSD schema checks run for UBL invoices, and full Schematron validation runs for both UBL and CII. Errors come back with the exact KOSIT rule ID and a plain-English description.

Does the validator support both UBL and CII XRechnung?

Yes. UBL XRechnung (used by PEPPOL access points and most modern e-invoicing software) and CII XRechnung (UN/CEFACT Cross Industry Invoice, used by SAP Document Compliance, DATEV and ZUGFeRD/Factur-X tooling) are both detected and validated. The validator auto-routes to the right syntax pipeline — no manual selection needed.

Is the XRechnung validator free and is my invoice data uploaded anywhere?

The validator is free without an account. Your invoice XML is sent to aiDoks for processing, validated in memory and not retained beyond the response. We do not log or store invoice contents.

How is this different from the official KOSIT validator?

The aiDoks validator uses the same official XRechnung schematron files distributed by KOSIT, so rule coverage is identical. What is different: a modern web UI with German/English/French/Estonian/Latvian/Lithuanian/Spanish interface, drag-and-drop upload, instant results, automatic format detection across PEPPOL/XRechnung/EN 16931/Factur-X/Estonian e-arve, and a single tool that handles all of them rather than separate validators per format.

Which XRechnung version is supported?

XRechnung 3.x (the current major version). The validator ships with the latest stable KOSIT schematron release and is updated when KOSIT publishes a new revision. Documents declaring the XRechnung 3.0 CustomizationID URN are routed automatically.

Validate your XRechnung in seconds

Free, anonymous, and accurate to the latest KOSIT XRechnung 3.x schematron.