ZUGFeRD & XRechnung Validator for German Companies
Germany's E-Rechnungsgesetz mandates structured XML invoices for B2G since 2020 and B2B from 2027. Validate your ZUGFeRD 2.x or XRechnung invoices for EN 16931 compliance - free, no upload.
Open ZUGFeRD ValidatorGerman e-invoicing obligations: E-Rechnungsgesetz explained
Germany's E-Rechnungsgesetz (ERechV) has mandated EN 16931-compliant invoices for federal public procurement (B2G) since November 2020. All federal suppliers must submit invoices in XRechnung or ZUGFeRD 2.x format via the ZRE/OZG-RE platforms.
For B2B transactions, the Wachstumschancengesetz (Growth Opportunities Act) establishes mandatory e-invoicing from January 2027. All German VAT-registered companies must be able to receive structured e-invoices from 2025 and emit them from 2027, with exceptions for small businesses until 2028.
Compliance timeline
B2G (federal): XRechnung or ZUGFeRD 2.x mandatory for all federal public procurement invoices via ZRE platform.
B2B: all German VAT-registered businesses must be able to RECEIVE structured e-invoices (EN 16931).
B2B: mandatory EMISSION of structured e-invoices for companies with turnover >800,000€/year.
B2B: mandatory emission extended to all German VAT-registered businesses including micro-enterprises.
What ValidateFin checks in your ZUGFeRD invoice
Before submitting to a buyer or ZRE platform, verify your ZUGFeRD/XRechnung invoice passes these checks:
- PDF/A-3 structure: XML correctly embedded as ZUGFeRD-invoice.xml (ZUGFeRD) or standalone XML (XRechnung)
- EN 16931 mandatory fields: seller/buyer VAT (USt-IdNr.), invoice number, supply date, tax breakdown
- ZUGFeRD profile: MINIMUM, BASIC WL, BASIC, EN 16931 (COMFORT) or EXTENDED - XRechnung profile
- German VAT number format: DE + 9 digits (Umsatzsteuer-Identifikationsnummer)
- Leitweg-ID for XRechnung B2G: buyer reference field (BT-10) mandatory for public sector invoices
Common errors causing ZRE / buyer rejection
Missing Leitweg-ID (BT-10)
For B2G invoices submitted to ZRE, the Leitweg-ID (routing ID of the public entity) is mandatory in the BuyerReference field. Its absence causes immediate rejection.
Invalid ZUGFeRD profile identifier
The GuidelineSpecifiedDocumentContextParameter must match the declared profile exactly (e.g. urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:en16931). Mismatches fail validation.
VAT amount rounding inconsistency
German tax authorities require exact VAT calculation. Rounding errors in TaxTotalAmount vs. calculated rate × basis amount cause EN 16931 BR-CO-15 rule failure.
Frequently asked questions
What is the difference between ZUGFeRD and XRechnung?
ZUGFeRD is a hybrid format (PDF/A-3 + embedded XML), allowing human and machine reading from a single file. XRechnung is a pure XML format (no PDF) defined by KoSIT for German public procurement. Both implement EN 16931. ZUGFeRD 2.x and XRechnung are interoperable at the data level.
Can I use ValidateFin to check XRechnung invoices?
ValidateFin's Factur-X viewer extracts and validates the embedded XML in ZUGFeRD files. For standalone XRechnung XML files, use the UBL/Peppol validator if the file is UBL-based, or the XML Comparator to inspect the structure. Full XRechnung-specific validation is on the roadmap.
Does my company need to act before January 2025?
Yes - since January 2025, all German VAT-registered businesses must be technically capable of RECEIVING structured e-invoices (EN 16931). This means your accounting system must accept ZUGFeRD or XRechnung. You can use ValidateFin to inspect and validate any received invoice.
E-invoicing guides by country
E-invoicing rules in Germany
Status: Receiving since 2025, issuing from 2027. See who must issue and receive e-invoices, deadlines and accepted formats.
Validate your ZUGFeRD or XRechnung invoice now
Extract the embedded XML from your PDF invoice and check EN 16931 compliance instantly. No file uploaded.