Validate XRechnung — free online, no sign-up

Upload your XRechnung — as a CII or UBL file — and see within seconds whether it passes: the XML schema, the EN 16931 business rules and the German BR-DE rules on top, each with its rule code and a plain explanation. Free and without signing up.

  • CII and UBL
  • XRechnung 3.0
  • BR-DE rules with codes
  • Free, no sign-up
A sheet of paper held up against a bright office window and inspected against the light

Validate an XRechnung in three steps

1Choose the file

The XML file of the XRechnung, up to 5 MB. A ZUGFeRD PDF with embedded XML works as well.

2Run the check

The file is checked against the XML schema, the EN 16931 rules and the BR-DE rules of XRechnung.

3Read the report

Valid or not — and for every finding the rule code, the field concerned and whether it is an error or just a warning.

What is checked

LayerWhat it coversTypical finding
XML schemaIs the file formally an invoice document in UBL or CII — the right elements, in the right order, with valid data types?An element in the wrong place, a date in the wrong format
EN 16931The business rules of the European standard: mandatory fields, calculation rules, VAT categories (BR-*, BR-CO-*, BR-S-* …)The sum of the lines does not match the net amount
XRechnungThe German additional rules BR-DE-*: fields the standard leaves optional and XRechnung makes mandatoryLeitweg-ID missing, seller contact incomplete

Which rules apply is decided by the file itself: field BT-24 states the standard it was built to. For XRechnung 3.0 the identifier is urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0. The report shows it at the top, so you also see whether you are looking at an XRechnung at all or at another kind of e-invoice.

The most common BR-DE findings

The German rules make fields mandatory that the European standard leaves optional. That is exactly where most files from software without XRechnung experience fail:

BR-DE-15 — buyer reference missing

BT-10 must be present. For public authorities it carries the Leitweg-ID, the routing address the invoice inbox uses. Without it the file is invalid.

BR-DE-2, -5, -6, -7 — seller contact

Group BG-6 with contact point (BT-41), telephone (BT-42) and email (BT-43) is mandatory. Many programs write only the company address.

BR-DE-1 — payment instructions

BG-16 must be present. For credit transfer (code 30 or 58), BR-DE-23-a also requires the bank account in BG-17.

BR-DE-16 — seller tax number

Anyone using one of the usual VAT categories must state the VAT ID (BT-31), the tax number (BT-32) or a tax representative (BG-11).

BR-DE-18 — cash discount in the wrong format

A Skonto goes into the payment terms (BT-20) in a fixed form, in capitals and followed by a line break: #SKONTO#TAGE=14#PROZENT=2.00#. Free text such as “2% if paid within 14 days” fails.

BR-DE-19 — IBAN not correct

For SEPA credit transfer (code 58), BT-84 should hold a valid IBAN. A transposed digit shows up as a warning — the file stays valid, but the payment won’t arrive.

All rule families and how to fix the cause at the source: EN 16931 business rules.

Error or warning — the difference matters

Not every finding makes the file invalid. Rules that require something (“muss”) produce an error: the invoice fails. The federal government’s invoice portal shows such formal errors itself when you upload — better to see them beforehand. Rules that recommend something (“soll”) produce a warning: the file stays valid.

One example almost every test file brings along: BR-DE-TMP-32 recommends stating the delivery or service date — as the actual delivery date (BT-72), as an invoicing period (BG-14) or on every line. If it is missing, the report shows a warning and the verdict stays “valid”. For German VAT, however, the date of supply belongs on the invoice, so it is worth adding.

What the check tells you — and what it doesn’t

It confirms the form

A valid file meets every rule. Whether price, quantity and recipient are right is something no check can know.

It does not replace the recipient

An invoice portal can additionally require a specific Leitweg-ID or order number. What applies there is up to the contracting authority.

It keeps nothing

The file is used only for the check. Without an account no history is created, and we keep no copy.

What it checks with

The check runs on the open-source library Mustang, version 2.26.0. It ships the KoSIT validation rules (Schematron) for XRechnung 3.0.2 — separately for CII and UBL, as KoSIT publishes them — and the EN 16931 rules in version 1.3.16.

The official reference tool is the KoSIT validator. It is a program you download, not an online service: there is no free federal web page where you upload a file for checking. The federal portal checks only on submission, after registration. If you want to know beforehand whether the file passes, you need a tool like this one.

Do you need to create an XRechnung?

To be straightforward: E-Rechnung Pro does not create XRechnung. We produce ZUGFeRD and Factur-X in the BASIC, EN 16931 and EXTENDED profiles.

  • For invoices to businesses that is no drawback: XRechnung is not prescribed between businesses, and ZUGFeRD from version 2.0.1 meets the obligation — except for the MINIMUM and BASIC WL profiles. Create an e-invoice.
  • For federal authorities, the federal portal accepts ZUGFeRD only in the XRECHNUNG profile, and only as a plain XML file without the PDF. For that you need a different program or the portal’s own entry form. The differences in detail: XRechnung or ZUGFeRD.

You can check any of these files here, whichever program created it.

Frequently asked questions

Is the XRechnung check really free?

Yes, without signing up and without payment details. Without an account you get up to twelve checks per hour; with a free account more, and every check stays in your history with its report.

Can I validate an XRechnung in UBL format?

Yes. XRechnung comes in two syntaxes, UBL 2.1 and UN/CEFACT CII. Both are checked with the rules that belong to them.

Which XRechnung version is checked?

XRechnung 3.0 with the rules of release 3.0.2. A preliminary version of XRechnung 4.0 appeared in September 2026 but is not intended for production use; more in the news on XRechnung 4.0.

Is this the official KoSIT validator?

No. We check with Mustang, which ships the published KoSIT rules for XRechnung. The result concerns the same rules with the same codes; if results ever differ, the tool your recipient uses is what counts.

What is the difference between BR-DE-15 and the Leitweg-ID?

BR-DE-15 only requires that the buyer reference BT-10 is filled in. Whether its content is a valid Leitweg-ID of the right authority is checked by no rule — only the recipient knows that. You get the Leitweg-ID from the contracting authority.

My file is valid but the report shows warnings. Do I need to act?

Not necessarily — valid is valid. Warnings such as BR-DE-TMP-32 (date of supply) or BR-DE-19 (IBAN) are still worth fixing: the first is a mandatory item under German VAT law, the second decides whether the payment arrives.

Do I have to check incoming XRechnung files?

There is no obligation. In its letter of 15 October 2025, however, the German Federal Ministry of Finance recommends introducing suitable validation procedures. Checking on receipt shows early whether you need to ask the supplier for a corrected invoice.

Is my invoice stored?

No. The file is used only for the check and discarded afterwards. Without an account there is no history entry.

Your XRechnung checked in seconds

Upload the file, read the report, fix the errors. No sign-up, no cost.