E-invoice validator: check ZUGFeRD and XRechnung online
Upload an XML or PDF file. We check it against the EN 16931 standard and the XRechnung rules and show you, field by field, what's in it and what's missing. The file isn't stored.
Your file is not stored. It only sits in the memory of our server in Germany while the check runs.
ZUGFeRD, Factur-X and XRechnung
PDFs with embedded XML and plain XML in the CII and UBL syntaxes. The tool detects the profile on its own.
EN 16931 plus the German rules
XML schema, the business rules of the standard and, for an XRechnung, the BR-DE rules. Each error comes with its rule number and one sentence on what to do.
Checked, then deleted
The file is processed only for the check, on our servers in Germany, and deleted right after. You don't need an account.
What the tool checks
You upload an XML file or a PDF with an XML inside. The tool works out the format and profile itself, then checks in three stages:
- Structure: Is every element in the right place, with the right data type? The XML schema of the syntax (CII or UBL) answers that.
- EN 16931 business rules: Mandatory fields such as invoice number, date, addresses and the VAT breakdown, plus the calculation rules for lines, VAT and the total.
- XRechnung rules: For an XRechnung, the German BR-DE rules apply on top, for example for the buyer reference, the seller's contact details and the payment details.
For a PDF, the tool takes out the embedded XML and checks exactly that. It also looks at whether the XML is linked to the PDF as an associated file. It does not check whether the PDF itself is a valid PDF/A-3 archive file. The rules are checked by the open-source library Mustangproject, the same library Rechnungskit uses to check its own invoices.
ZUGFeRD or XRechnung?
ZUGFeRD, called Factur-X in France, is a PDF with the invoice data inside as an XML file: people read the PDF, software reads the XML. XRechnung is a plain XML file with no visual part, mostly required by public-sector buyers. Both implement EN 16931 and count as an e-invoice under Section 14 UStG, ZUGFeRD from version 2.0.1 and without the MINIMUM and BASIC-WL profiles (Section 14.1(14) UStAE). More in our guides to ZUGFeRD and XRechnung.
Common errors and what they mean
- BR-DE-15, buyer reference missing: An XRechnung needs a buyer reference in field BT-10. For public authorities this is the Leitweg-ID, which the portal uses to route the invoice to the right office.
- BR-DE-6 and BR-DE-7, contact missing: XRechnung requires a seller contact with a phone number and an email address.
- BR-CO-15 and BR-CO-17, amounts don't add up: Net plus VAT must equal the gross total, and VAT is calculated per rate from the sum. If a shop rounds VAT per line, the result is often a cent off.
- BR-S-08, taxable amount doesn't match: Usually shipping costs or discounts are missing from the VAT breakdown of the matching rate.
- No e-invoice in the PDF: The PDF contains no XML with invoice data. Then it's an ordinary PDF invoice, even if it looks like a ZUGFeRD invoice.
Valid doesn't automatically mean correct
The check is purely technical. It tells you whether the file meets the standard and whether the amounts add up. No format check can judge whether the VAT rate fits your goods, whether an exemption applies or whether the supply happened as stated. That stays your call, together with your tax advisor if in doubt.
When you have to send e-invoices is covered in our guide to the e-invoicing mandate. Rechnungskit creates every invoice from Shopify, WooCommerce, Stripe or PayPal as ZUGFeRD in the EN 16931 profile and checks it with the same library before archiving it. See how that works on the pages about e-invoicing in Rechnungskit and e-invoicing software.
Frequently asked questions
The check uses the open-source library Mustangproject (license Apache 2.0). The result is a technical check, not tax or legal advice. The sample files contain made-up data.
Rechnungskit is not a tax advisory or law firm. This article explains general principles and does not replace advice from a tax advisor (Steuerberater, § 5 StBerG) or a lawyer (§ 3 RDG). Rechnungskit is built for businesses based in Germany and prepares documents, tax rates and bookings automatically. How your specific case is treated remains your decision, ideally together with your tax advisor or a lawyer.