Factur-X vs ZUGFeRD: Why Two Names for the Same Standard (and Why It Matters)
Factur-X (French) and ZUGFeRD (German) look like different e-invoice formats but are technically the same standard. This guide explains what they share, where they differ, and what this means for businesses invoicing across the France-Germany corridor.
Factur-X vs ZUGFeRD: Why Two Names for the Same Standard (and Why It Matters)
Businesses working across France and Germany quickly encounter a puzzling naming situation: France calls its hybrid e-invoice format Factur-X, while Germany calls the same thing ZUGFeRD. Two names, one format โ almost. The difference matters practically for cross-border invoicing and software compatibility.
The Short Answer
Factur-X and ZUGFeRD are the same technical format at their core: a PDF/A-3 file with embedded XML conforming to the EN 16931 standard. They share:
- The same underlying XML schema (UN/CEFACT Cross Industry Invoice โ CII)
- The same PDF/A-3 embedding mechanism
- The same EN 16931 semantic data model
- Interoperable profiles: EN 16931 profile invoices are valid in both countries
The difference is in national profiles and naming convention.
The Technical Background
Both formats originate from the European standard EN 16931, which defines the semantic data model for e-invoices in the EU. The standard specifies what data fields an e-invoice must contain and how they should be structured โ but it does not prescribe a specific file format.
Factur-X and ZUGFeRD both chose to implement EN 16931 as:
- A PDF/A-3 file (a PDF with attachments, conforming to the ISO 19005-3 archiving standard)
- With embedded XML using the CII (UN/CEFACT Cross Industry Invoice) schema
- At the EN 16931 profile level (for mandate compliance in both countries)
This common architecture makes them technically interoperable at the EN 16931 level.
What Is Actually Different
Profile Names
| ZUGFeRD (Germany) | Factur-X (France) | Interoperable? |
|---|---|---|
| MINIMUM | MINIMUM | โ Same |
| BASIC WL | BASIC WL | โ Same |
| BASIC | BASIC | โ Same |
| EN 16931 ("Comfort") | EN 16931 | โ Same |
| EXTENDED | EXTENDED | โ Same |
| XRechnung (German-specific) | โ | โ German-only |
| โ | EN 16931 (French national profile) | โ French-specific additions |
The EN 16931 profile (called "Comfort" in older ZUGFeRD documentation) is fully interoperable. A ZUGFeRD EN 16931 invoice can be read and processed by French Factur-X systems and vice versa.
German-Specific Profile: XRechnung
Germany added a national XRechnung profile to ZUGFeRD 2.x. This profile includes:
- Leitweg-ID (mandatory for B2G routing in Germany)
- Stricter validation rules aligned with KoSIT's XRechnung specification
The XRechnung profile is German-specific. A French PDP receiving a ZUGFeRD XRechnung profile invoice may not process it correctly. For invoicing French customers, use the EN 16931 profile instead.
French National Profile Additions
France's DGFiP has added specific national business rules to the French implementation of EN 16931, including:
- Additional reference fields for the PPF/PDP routing system
- Specific codes for French VAT reporting to DGFiP
- PDP identification fields for transmission metadata
These additions are inside the Factur-X file and are transparent to German receivers โ a German accounting system reading the EN 16931 XML core will process it correctly, ignoring the French-specific extensions it does not understand.
Practical Scenarios
Scenario 1: German Business Invoicing a French B2B Customer
Use ZUGFeRD EN 16931 profile (not XRechnung profile). The French customer's accounting system or PDP will recognise this as a valid EN 16931 invoice. The Leitweg-ID field (German B2G routing) is absent, which is correct for B2B invoicing.
Scenario 2: French Business Invoicing a German B2B Customer
Use Factur-X EN 16931 profile. The German accounting system reads the embedded CII XML, processes all mandatory EN 16931 fields, and ignores the French-specific DGFiP metadata it does not need.
Scenario 3: French Business Invoicing a German Government Authority
This is the problematic scenario. German public authorities require XRechnung โ specifically XRechnung UBL or XRechnung CII, with a valid Leitweg-ID. Factur-X EN 16931 is not accepted.
Solution: Use a Peppol access point or an intermediary that can convert your Factur-X to XRechnung for B2G delivery. Most certified French PDPs that are also Peppol access points (Cegedim, Cegid, Yooz) support this conversion.
What This Means for Software Choice
If you invoice both French and German customers:
- Ensure your software generates "EN 16931 profile" or higher โ this is the common ground
- Avoid XRechnung profile for French customers โ it is German-specific
- For French B2G compliance: Your software needs Factur-X EN 16931 sent through a certified PDP
- For German B2G compliance: Your software needs standalone XRechnung or a ZUGFeRD XRechnung profile
Software tools that cover both markets well:
- Sage (both DE and FR editions)
- Cegid (French, but with XRechnung support via Peppol)
- Storecove (cross-border API access point)
- Pagero (multi-country PDP and Peppol)
Version Compatibility
As of May 2026, the current versions are:
- ZUGFeRD 2.3 (Germany) โ mandatory for the 2027 German B2B mandate at EN 16931 profile
- Factur-X 1.0 (France) โ current version required for the September 2026 French mandate
ZUGFeRD 2.3 and Factur-X 1.0 are based on the same CII schema version and are interoperable at the EN 16931 profile level.
Summary
| ZUGFeRD (Germany) | Factur-X (France) | |
|---|---|---|
| Technical format | PDF/A-3 + CII XML | PDF/A-3 + CII XML |
| Standard | EN 16931 | EN 16931 |
| Current version | 2.3 | 1.0 |
| Interoperable at EN 16931? | โ Yes | โ Yes |
| Country-specific profiles | XRechnung (B2G) | French DGFiP extensions |
| Mandate use | German B2B 2027 | French B2B 2026 |
Bottom line: For cross-France-Germany invoicing, generate EN 16931 profile invoices. Both French PDPs and German accounting systems will process them correctly. Only use the XRechnung profile for German public sector customers.