E-invoice validator
Upload an XRechnung or the XML file of a ZUGFeRD invoice, or paste its content. BelegDock has it checked by the official validator of KoSIT, with the same configuration every e-invoice BelegDock creates must pass. Free, no sign-up.
Your file is not stored. BelegDock only passes it to the validation service, shows you the result and discards it. It does not go into any database or log. To keep the service available for everyone, each connection can run 20 checks per 15 minutes.
A passed check is not a tax or legal review. The validator checks the structure and business rules of the standard, not whether the VAT rate, the service or the amounts are factually right. For your case, ask your tax adviser.
What is checked
The check uses KoSIT Validator 1.6.3 with the official validation configuration for XRechnung 3.0.2 of 31 August 2026. This configuration recognises:
- XRechnung 3.0 invoices and credit notes in UBL and in CII, including the extension
- EN 16931 invoices in UBL or CII, including the XML of a ZUGFeRD or Factur-X invoice in the EN 16931 profile (formerly COMFORT) or the XRECHNUNG profile
This configuration does not recognise the ZUGFeRD profiles MINIMUM, BASIC WL, BASIC and EXTENDED; it then reports "no supported format". The service does not accept PDF files. For a ZUGFeRD PDF, check the embedded XML file (usually factur-x.xml or zugferd-invoice.xml), which many PDF readers list under "attachments".
Reading the result
- Accepted means the file meets the XML schema, the EN 16931 rules and, for an XRechnung, the German additional rules. Warnings may still appear; they do not prevent acceptance.
- Not accepted means at least one rule is broken. A recipient with an incoming-invoice check usually rejects such an invoice.
Each finding names its rule. Rules starting with BR-DE- are the German XRechnung rules, for example BR-DE-15 for a missing buyer reference (more on that). Rules starting with BR- without DE come from EN 16931 itself. Codes like cvc-… are schema errors: an element is missing, in the wrong place or has an invalid value. The location is the path to the element concerned, or the line and column in the file. The validator writes most German rule messages in German.
Why the KoSIT validator
KoSIT (the German Coordinating Office for IT Standards) maintains the XRechnung standard for the federal and state governments and publishes the validator and its configuration. Many public-sector invoice portals check with exactly these rules. Other tools, such as Mustangproject, implement the same standard but can judge individual cases differently.
E-invoices from Stripe
Do you bill with Stripe? BelegDock creates an XRechnung with the same number from every finalized Stripe invoice, checks it with this validator and sends it only when it is accepted. The cases it covers are listed under scope.
Sources
- KoSIT validator and XRechnung validation configuration (KoSIT, GitHub)
- XRechnung: versions and bundles (KoSIT, German)
- ZUGFeRD profiles (Forum elektronische Rechnung Deutschland)
Set up your invoice emails.
Create your free account, connect Stripe and design your template. The first 10 real documents each month are free.
