Read XRechnung online.

Open an XRechnung XML file and see it as a clear, structured invoice. Both UBL and CII syntaxes are supported, and everything is parsed directly in your browser. No account, no upload, nothing stored.

Accepts: XRechnung XML (UBL or CII) and ZUGFeRD / Factur-X hybrid PDFs

What is an XRechnung?

XRechnung is the German standard for structured electronic invoices. It is built on the European norm EN 16931, so the same data model is understood across the EU. An XRechnung is a pure XML file, not a PDF or a scanned image, which means the amounts, parties, tax rates, and payment details can be read and processed automatically by software.

Since November 2020, XRechnung has been mandatory for invoices sent to German federal public authorities (B2G), and many regional authorities require it too. The format exists in two XML syntaxes, UBL and CII, and both carry the same information. Routing to the correct authority is handled by a Leitweg-ID, which travels in the invoice as the Buyer reference (BT-10).

XRechnung vs ZUGFeRD

XRechnung is pure XML, so a person cannot read it comfortably without a viewer. ZUGFeRD (and its French twin Factur-X) is a hybrid: a normal PDF you can open like any other, with the same kind of structured XML embedded inside it. Both are based on EN 16931. If you received a plain XML file, it is most likely an XRechnung. If you received a PDF that also contains machine readable data, it is most likely ZUGFeRD or Factur-X. This tool reads both.

Common XRechnung error messages and how to fix them

Validators such as the KOSIT tool report business rule violations with codes like BR-DE, BR-CO, and BR-S. Here are the ones you are most likely to see, in plain language, with a practical fix for each.

BR-DE-15Missing Buyer reference (Leitweg-ID)+

German public authorities require a Buyer reference (BT-10), which is usually the Leitweg-ID used to route the invoice to the right agency. Ask the recipient for their Leitweg-ID and place it in the BuyerReference field.

BR-DE-5 / BR-DE-6Missing seller contact details+

XRechnung requires the seller to provide a contact point: a contact name (BT-41), a telephone number (BT-42) and an email address (BT-43). Add a complete seller contact group so all three values are present.

BR-DE-1Missing payment account for credit transfer+

When the payment means is a credit transfer (code 30 or 58), the seller IBAN (BT-84) is mandatory. Add the payment account identifier, and include the BIC if your bank or recipient requires it.

BR-CO-10Sum of line net amounts does not match+

The Sum of Invoice line net amount (BT-106) must equal the total of every line net amount (BT-131). This usually means a line total was rounded differently or a line was added without updating the header total. Recalculate the header from the lines.

BR-CO-15Invoice total with VAT is inconsistent+

Invoice total amount with VAT (BT-112) must equal the total without VAT (BT-109) plus the total VAT amount (BT-110). Check for rounding at two decimal places and make sure every amount uses the same currency.

BR-CO-17VAT category amount does not match base and rate+

For each VAT breakdown group the VAT category tax amount (BT-117) must equal the taxable base (BT-116) multiplied by the rate (BT-119), rounded to two decimals. Fix the arithmetic or split the amounts into the correct category groups.

BR-S-08 / BR-Z-08Wrong VAT category or rate combination+

Standard rated lines (category S) need a rate above zero, while zero rated lines (category Z) need a rate of exactly 0. Mismatched category and rate combinations, or a rate that does not exist for the category, trigger these rules. Set the category code and percentage so they agree.

BR-DE-2 (BT-49)Missing buyer electronic address+

The buyer electronic address (BT-49) and its scheme identifier are mandatory in XRechnung. Provide the recipient EndpointID together with the correct scheme, for example an email address or a Peppol participant identifier.

CustomizationIDWrong or outdated CustomizationID+

The document must declare the XRechnung specification identifier in CustomizationID (BT-24). An outdated or misspelled value makes validators reject the file as not an XRechnung. Use the exact identifier for the XRechnung version you are targeting.

Schema / KOSITSchema or KOSIT validator errors+

Errors that mention the XML schema (XSD) or a Schematron rule from the KOSIT validator usually point to elements in the wrong order, an unexpected element, or a value in the wrong data type. Open the reported line, compare it against the EN 16931 structure, and correct the element name, order, or format.

Frequently asked questions

What software creates the XRechnung XML?+

Most accounting and ERP systems can export XRechnung directly. There are also free generators and public sector portals. This tool does not create invoices, it reads and inspects an XRechnung that you already have.

Is my invoice data safe?+

Yes. The file is parsed locally in your browser with JavaScript. Nothing is uploaded, stored, or sent to any server. You can even work offline once the page has loaded.

Can I read both UBL and CII files?+

Yes. XRechnung exists in two XML syntaxes, UBL and CII, and this tool detects and reads both. It also opens ZUGFeRD and Factur-X hybrid PDFs by extracting their embedded XML.

Does this validate my XRechnung?+

This tool focuses on reading and displaying the invoice, not formal validation. The error reference below explains the most common validation messages so you know what they mean and how to fix them.

More tools