Free e-invoice validator
Check XRechnung, ZUGFeRD and Factur-X against the official rules, free. For each error you see what it means, how to fix it and where to look in Dynamics 365. The check runs in Frankfurt and your file isn’t stored.
Validator
XML or PDF, up to five files at once, 10 MB each. No sign-up.
How it works
01
XRechnung as XML (UBL or CII), or ZUGFeRD / Factur-X as PDF. For a PDF the validator extracts the embedded XML itself.
02
From the specification identifier (BT-24) the validator detects syntax and profile, for example XRechnung 3.0 or ZUGFeRD EN 16931, and picks the matching rules.
03
The official KoSIT validator checks the schema and the business rules. For PDFs, veraPDF also checks PDF/A-3 compliance.
04
A clear valid or invalid, every finding with an explanation and a fix, the invoice in readable form, and a PDF report.
Rule sets
The same rule sets that German public-sector portals and many invoice recipients use.
UBL 2.1 or UN/CEFACT CII D16B, and for ZUGFeRD the schema of the profile. Finds elements in the wrong place, missing mandatory elements and wrong data types.
The European business rules (BR, BR-CO and the rules per VAT category) from the CEN Schematron 1.3.15: mandatory content, calculations, VAT categories, code lists.
The German additional rules (BR-DE) from the KoSIT configuration of 31 Jan 2026, for example the Leitweg-ID, seller contact details and payment information.
The profiles MINIMUM, BASIC WL, BASIC, EN 16931 and EXTENDED according to ZUGFeRD 2.5. MINIMUM and BASIC WL can be checked, but they do not count as e-invoices in Germany.
veraPDF 1.30 checks whether a ZUGFeRD PDF meets the PDF/A-3 archiving standard. The validator also checks the file name, AFRelationship and the Factur-X metadata.
Seller, buyer, lines, VAT and totals as they are in the XML, so you can see what your customer receives without reading XML.
Not checked: the additional Peppol rules, the outdated formats XRechnung 2.x and ZUGFeRD 1.0, and the content itself. No validator can tell whether prices, VAT rates and services are right.
Error codes
These are the findings we see most often. Each page explains the rule, typical causes, the fix and where to look in Dynamics 365 and Business Central.
Dynamics 365
Dynamics 365 Sales and Project Operations don’t create XRechnung or ZUGFeRD out of the box. Business Central and Dynamics 365 Finance have their own features for German e-invoicing. Either way, most errors come from master data: a missing Leitweg-ID, incomplete contact details, the wrong VAT category. That’s why the validator tells you, for the common rules, which record to look at.
For Sales and Project Operations we built the WBS Invoice Accelerator for Dynamics 365. It creates XRechnung and ZUGFeRD straight from the invoice and checks them against the KoSIT rules before sending.
Data protection
The check runs on Microsoft Azure in the Germany West Central region (Frankfurt am Main).
Your file is held in memory for the duration of the check and then discarded. It is not stored and not passed on. No AI and no external service reads the content.
We log technical data only: file size, detected format, rule codes and duration. No file names, no invoice content, no IP addresses.
The legal basis is Art. 6(1)(f) GDPR. Details are in our privacy policy. The result is not legal or tax advice and no guarantee that the recipient will accept the invoice.
What people ask us most often about checking e-invoices.
XRechnung is a pure XML file following the German standard, required mainly for invoices to public bodies. ZUGFeRD is a PDF with embedded XML: people read the PDF, software reads the XML. Both conform to the European standard EN 16931. With the ZUGFeRD profile XRECHNUNG you can also embed an XRechnung in a PDF.
XRechnung 3.0.2 with the KoSIT configuration of 31 Jan 2026 (CEN rules 1.3.15) and ZUGFeRD 2.5 in all profiles. PDFs are checked for PDF/A-3 with veraPDF 1.30. We update the rules when KoSIT or FeRD publish a new release.
No. The file is processed in memory only, in Frankfurt, for the duration of the check and then discarded. The logs contain technical data only, such as file size, detected format and rule codes.
Not necessarily. Valid means the file meets the technical rules that were checked. No validator checks whether prices, VAT rate and services are right. Some recipients have extra requirements, such as a purchase order number. The report is not legal or tax advice.
Yes, up to five files at once, 10 MB each. You can check 30 files per hour from one internet connection. For larger volumes or an API, get in touch.
Common reasons are fonts that aren’t embedded, a missing colour profile (OutputIntent), missing XMP metadata, or a PDF that was changed after it was created, for example by merging or signing. The XML can still be valid. The report shows both separately.
The Leitweg-ID is the e-invoicing address of a German public body. It goes into the buyer reference (BT-10) of the XRechnung, and you get it from the contracting authority. If it is missing, the validator reports BR-DE-15.
Business Central and Dynamics 365 Finance have their own features for German e-invoicing. Dynamics 365 Sales and Project Operations don’t; that’s what the WBS Invoice Accelerator for Dynamics 365 is for. It creates XRechnung and ZUGFeRD from the invoice.