Check an XRechnung: a pre-check with plain-language messages

Drop a file: the pre-check recalculates the totals and lists every broken rule with its identifier and field. The sample above contains two deliberate errors.

Your file stays on your device: it is read in this browser window and never uploaded.

Invoice to a public body (check the Leitweg-ID)?

Pre-check against EN 16931 and XRechnung

2 errors, 0 notes

Does not replace the official KoSIT validator, but finds the most common errors at once.

Rules checked84
Notes0
FormatXRechnung
E-invoice under the VAT ActYes

Example with made-up data

LevelRuleFieldFinding
ErrorBR-CO-16BT-115BT-112 − BT-113 + BT-114 gives 1323.38, the amount due (BT-115) is 1333.38.
ErrorBR-DE-15BT-10The buyer reference (BT-10) is missing; for public bodies this is the Leitweg-ID.

Seller

Muster Webdesign GmbH

Beispielweg 12

10115 Berlin

VAT ID:
DE123456789
Tax number:
30/123/45678
Contact:
Buchhaltung · +49 30 0000000 · rechnung@muster-webdesign.example
Electronic address:
rechnung@muster-webdesign.example (EM)

Buyer

Beispiel Handel KG

Musterstraße 5

50667 Köln

VAT ID:
DE987654321
Electronic address:
eingang@beispiel-handel.example (EM)

Invoice RE-2026-0415

Number
RE-2026-0415
Date
25/10/2026
Delivery date
20/10/2026
Due
08/11/2026
No.DescriptionQtyPriceVATNet
1Home page design12 hour€85.0019% €1,020.00
2Hosting October 20261 month€29.9019% €29.90
3Accessibility handbook2 piece€34.587% €69.16
Sum of lines€1,119.06
Total excl. VAT€1,119.06
VAT 19%€199.48
VAT 7%€4.84
Total incl. VAT€1,323.38
Amount due€1,333.38

Payment: SEPA credit transfer

Account DE02120300000000202051 · Account holder Muster Webdesign GmbH

Terms: Payable within 14 days without deduction.

Technical details
Syntax
UBL 2.1
Standard
XRechnung 3.0
Profile
XRECHNUNG
Specification (BT-24)
urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0
Process (BT-23)
urn:fdc:peppol.eu:2017:poacc:billing:01:1.0

Prepared by Radif Partners · Method · VAT Act, ministry letters and XRechnung 3.0.2 checked on 25 October 2026

The pre-check on this page reads an XRechnung or ZUGFeRD file in your browser and tests it against the most important business rules: the mandatory fields of the European standard EN 16931 (rules BR-01 to BR-27), the calculation rules BR-CO for totals and VAT, the VAT category rules such as BR-S, BR-E and BR-AE, the German extra rules BR-DE of XRechnung 3.0.2, and the check digits of a Leitweg-ID. Each message names the rule, the field concerned (BT or BG) and a plain explanation. Only the validator of the German Coordination Office for IT Standards (KoSIT), a Java program without a web interface, runs the complete official set of XML schema and Schematron rules. We compared our test invoices against that validator in its XRechnung 3.0.2 configuration, and it accepted every file we generated. In daily use: if the pre-check reports no error, the invoice is almost always fine; if it reports one, you know which field to fix.

What the pre-check covers

The check runs through the invoice in fixed steps. First the mandatory details: invoice number, date, invoice type, currency, names and addresses of both parties, at least one line. Then the arithmetic: each line total must equal quantity times price, the sum of lines must match field BT-106, and the VAT per rate must match the VAT amount. Then come the VAT category rules and finally, for an XRechnung, the national rules.

Rule groups of the pre-check, one example each.
Rule groupExampleWhat is tested
BR-01 to BR-27BR-02Mandatory fields of the standard, here invoice number BT-1
BR-COBR-CO-10Sum of lines equals field BT-106
BR-S, BR-E, BR-AEBR-AE-02Reverse charge: buyer VAT ID present
BR-DEBR-DE-15Buyer reference BT-10 in an XRechnung
PEPPOL R010/R020R020Electronic address of buyer and seller
Leitweg-IDCheck digitsModulo 97-10 over coarse and fine address

The sample that loads first is an XRechnung missing two things: the buyer reference and a consistent amount due. The table under the card shows both errors with rule and field. Pick another sample and the messages disappear.

Pre-check versus the official validator

The KoSIT validation software is the reference tool. It first tests a file against the XML schema, that is structure and data types, and then against the Schematron rules of XRechnung. The output is a report recommending to accept or reject the file. It runs with Java on your own machine and is aimed at developers and invoice receipt offices.

Our pre-check reproduces the part of the rules that helps people without programming skills most, and explains every message in German and English. To make sure it calculates correctly we ran it over the sample files of the KoSIT test suite: every valid file passes without error. The invoices produced by this site’s creator were accepted by the KoSIT validator in its current configuration.

Which errors really have consequences

Not every message weighs the same. The Finance Ministry letter of 15 October 2025 distinguishes three cases. If the file is so broken it cannot be read, there is no e-invoice at all. If it breaks a business rule on a mandatory detail under section 14(4) UStG, such as a wrong VAT amount, the invoice is not proper. If it breaks a rule with no tax relevance, such as a missing buyer reference, it stays fine for VAT purposes even if a portal rejects it.

For VAT purposes the file is

For VAT purposes the file is

Proper

Paragraph in the ministry letterRn. 35a
Correct the invoiceNo
Keep the validation reportRecommended
Check the consequences of an error →

How to read a message

Each row of the results table has four columns. The level says whether it is an error or a note. The rule gives the identifier you can look up in the specification. The field names the business term, for example BT-10 for the buyer reference or BT-115 for the amount due. The finding explains the breach in one sentence and, for lines, gives the line number. With these details you can find the spot in your invoicing software or tell the sender exactly what to change.

If the invoice goes to a public body, set the recipient question to “Yes”. The pre-check then also tests whether field BT-10 holds a valid Leitweg-ID. You can check the check digits alone with the Leitweg-ID checker.

Fixing errors

If the invoice is yours, correct the detail in your software and generate the file again; editing XML by hand is error-prone. Without software of your own, rewrite the invoice in the invoice creator, where the download stays locked while any rule is broken. If the invoice comes from a supplier and the error concerns a mandatory detail, ask for a corrected invoice before you deduct input VAT. What each mandatory field means is explained on EN 16931.

Common questions

What do identifiers like BR-CO-15 or BR-DE-15 mean?

They are business rule numbers. BR on its own marks a core rule of EN 16931, such as a mandatory field. BR-CO rules are calculations; BR-CO-15, for example, requires gross to equal net plus VAT. BR-DE rules are the German additions in XRechnung; BR-DE-15 demands the buyer reference in field BT-10. The identifier helps you make sense of an error message from a portal.

Why does an invoice portal report errors the pre-check misses?

Portals run the full rule set and often rules of their own, for instance on permitted code lists or field lengths. The pre-check covers the rules that fail most often in practice, not every schema test. Note the identifier from the portal’s message; you will find the explanation in the KoSIT specification or on the page about EN 16931.

Is an invoice with a warning still valid?

A warning flags something unusual, not a breach, such as a Leitweg-ID with wrong check digits when the recipient is not a federal portal. Errors, by contrast, are rule breaches. For VAT what counts is whether the mandatory details under the VAT Act are correct. According to the Finance Ministry letter, breaking a purely technical rule with no tax relevance does not make the invoice defective.

Can the pre-check also test a ZUGFeRD PDF?

Yes. Drop the PDF and the pre-check extracts the embedded XML and tests its content with the same rules. It applies the German BR-DE rules only if the file is marked as an XRechnung or you say the invoice goes to a public body. It does not test whether the PDF itself conforms to PDF/A-3.

Keep going

Official sources for this page

Prepared by

Publisher of a free German e-invoicing toolkit: obligation check under the VAT Act, viewer, checker and creator for XRechnung and ZUGFeRD in the browser

Updated on · Editorial policy · Contact

As of 2026, laws, ministry letters and standards checked on