ValidateFin

Factur-X / ZUGFeRD Viewer EN 16931

Factur-X (France/EU) and ZUGFeRD (Germany) are hybrid electronic invoice formats that embed a structured XML file inside a PDF. The PDF is human-readable while the embedded XML enables automated processing by ERP and accounting systems — all within a single file conforming to the EN 16931 standard.

Factur-XZUGFeRD 2.xEN 16931PDF/A-3
100% Local
← Back to Factur-X / ZUGFeRD Viewer
🇩🇪 Deutschland — E-Rechnungsgesetz & ZUGFeRD

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 Validator

German 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

Nov 2020

B2G (federal): XRechnung or ZUGFeRD 2.x mandatory for all federal public procurement invoices via ZRE platform.

Jan 2025

B2B: all German VAT-registered businesses must be able to RECEIVE structured e-invoices (EN 16931).

Jan 2027

B2B: mandatory EMISSION of structured e-invoices for companies with turnover >800,000€/year.

Jan 2028

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.

Validate your ZUGFeRD or XRechnung invoice now

Extract the embedded XML from your PDF invoice and check EN 16931 compliance instantly. No file uploaded.

About the Factur-X / ZUGFeRD Viewer

Factur-X (France/EU) and ZUGFeRD (Germany) are hybrid electronic invoice formats that embed a structured XML file inside a PDF. The PDF is human-readable while the embedded XML enables automated processing by ERP and accounting systems — all within a single file conforming to the EN 16931 standard.

This viewer extracts and displays the embedded XML data from any Factur-X or ZUGFeRD PDF invoice. All profiles are supported: MINIMUM, BASIC WL, BASIC, EN 16931 (COMFORT), EXTENDED, and ZUGFeRD 2.x. No file is ever uploaded — everything runs locally in your browser.

Factur-X is the official hybrid e-invoicing format for France's B2B e-invoicing mandate (rolling out from 2026) and is recognized across the EU as a compliant EN 16931 implementation. ZUGFeRD 2.x is technically identical to Factur-X — the two standards were harmonized in 2020 — making this viewer compatible with invoices from both French and German origins.

The viewer displays all structured data from the embedded XML: supplier and buyer identification, invoice lines with quantities and prices, tax breakdowns, payment terms, and banking information. This is particularly useful for accounts payable teams who need to quickly verify the structured data matches the visible PDF, or for developers testing their Factur-X generation process.

What is Factur-X?

Factur-X (also known as ZUGFeRD in Germany) is a hybrid e-invoicing format that embeds structured XML data (UN/CEFACT CII) inside a PDF/A-3 document. This allows invoices to be both human-readable (via the PDF) and machine-processable (via the embedded XML). Factur-X is one of the three accepted formats for French e-invoicing compliance.

Key Takeaways

  • Factur-X = ZUGFeRD — same technical standard, French and German names
  • Six profiles from MINIMUM (basic reference) to EXTENDED (full detail)
  • EN 16931 (COMFORT) profile required for French B2G compliance via Chorus Pro
  • ValidateFin extracts and validates the embedded CII XML from your PDF invoice
  • Accepted format for French e-invoicing reform starting September 2026

Frequently Asked Questions

What is a Factur-X or ZUGFeRD invoice?

Factur-X (France) and ZUGFeRD (Germany) are hybrid PDF invoice formats that embed a structured XML file inside a PDF. This allows both human reading and automated processing. For pure XML invoices, see the UBL Validator.

Which Factur-X profiles are supported?

The viewer supports all Factur-X profiles: MINIMUM, BASIC WL, BASIC, EN 16931 (COMFORT), and EXTENDED, as well as ZUGFeRD 2.x.

Can I extract the embedded XML from a Factur-X PDF?

Yes. The tool extracts and displays the embedded XML data, allowing you to inspect, copy, or validate the structured invoice data. You can then check UBL syntax with the UBL Validator.

Is this tool suitable for accounting software integration testing?

Yes. Developers and accountants can use this tool to verify Factur-X output before integrating with ERP or accounting systems.

What is the difference between Factur-X and ZUGFeRD?

Factur-X is the French/European name for the hybrid invoice standard, developed jointly by FNFE-MPE (France) and FeRD (Germany). ZUGFeRD is the German name for the same standard. Both are technically identical from version 2.0 onwards and share the same XML schema (Cross Industry Invoice, UN/CEFACT CII). The difference is mainly branding: French companies refer to it as Factur-X, German companies as ZUGFeRD.

What does each Factur-X profile contain?

MINIMUM: basic identification only (invoice number, date, parties, total). BASIC WL: adds line items without detailed breakdown. BASIC: adds individual line item details. EN 16931 (COMFORT): full EN 16931 compliance with VAT breakdown and payment terms. EXTENDED: maximum data richness, includes all optional fields. Higher profiles contain all data from lower profiles plus additional fields.

How do I know which Factur-X profile my PDF uses?

The profile is declared in the embedded XML under the GuidelineSpecifiedDocumentContextParameter element. The viewer automatically detects and displays the profile name when you load a Factur-X PDF. You can also see it in the raw XML as a URN like urn:factur-x.eu:1p0:en16931.

Can I validate the extracted XML against Factur-X rules?

The viewer extracts and displays the raw XML content. For full validation against Factur-X/ZUGFeRD Schematron rules, use the UBL/Peppol Validator for the UBL syntax, or use a dedicated CII validator for the Cross Industry Invoice format.

What is PDF/A-3 and why is it required for Factur-X?

PDF/A-3 is an ISO standard (ISO 19005-3) for long-term archiving of PDF documents that allows embedding file attachments. Factur-X requires PDF/A-3 because the XML invoice data must be embedded as an attachment within the PDF in a standardised way that preserves both the human-readable and machine-readable content. Regular PDFs or older PDF/A versions do not support embedded attachments.

Is Factur-X mandatory for businesses in France or Germany?

Factur-X is becoming mandatory for B2G (business-to-government) e-invoicing in France through the Chorus Pro portal. Germany is implementing mandatory e-invoicing requirements progressively starting 2025 under the E-Rechnungsgesetz, with ZUGFeRD as one of the accepted formats. For B2B invoicing, both standards are increasingly adopted for automated invoice processing, though not yet universally mandated. Read our e-invoicing in Europe 2026 article for a country-by-country overview.