ZUGFeRD / Factur-X: The German-French E-Invoicing Standard
ZUGFeRD is a hybrid invoicing standard that combines a human-readable PDF/A-3 document with embedded machine-readable XML data. The acronym stands for "Zentraler User Guide des Forums elektronische Rechnung Deutschland" (Central User Guide of the Forum for Electronic Invoicing Germany).
Every invoice you create in docs101 is automatically produced as a ZUGFeRD/Factur-X PDF with embedded XML. The XML is validated against EN 16931 by the KOSiT validator before delivery. No manual XML coding is required.
History and Development
ZUGFeRD was developed by FeRD (Forum elektronische Rechnung Deutschland), a multi-stakeholder initiative that includes accounting software vendors, tax authorities, and businesses. The standard was first released in 2014 and has since become a cornerstone of digital invoicing infrastructure in Germany and beyond.
The standard emerged from Germany's push toward digital transformation and improved tax compliance. It solved a key problem: how to preserve the human-readability of PDF invoices while adding machine-readable data that accounting systems can process automatically.
Factur-X: The Harmonized Standard
In 2017, Germany and France harmonized their e-invoicing standards. The result is Factur-X, which is technically identical to ZUGFeRD 2.x:
- ZUGFeRD = The German name for the standard
- Factur-X = The same technical specification under a joint French-German label
These terms are used interchangeably across Europe. The standard is maintained jointly by FeRD and the FNFE-MPE (Forum National de la Facture Electronique et des Marchés Publics Electroniques) in France.
How ZUGFeRD Works
A ZUGFeRD invoice is a single PDF file containing two layers:
- Visual layer: A readable PDF/A-3 invoice formatted for human review and printing
- Data layer: Embedded CII XML (based on the UN/CEFACT Cross Industry Invoice standard) containing structured invoice data
When you open the PDF in a standard viewer, you see the formatted invoice. When you process it with accounting software, the system extracts the XML and automatically reads invoice data — no manual data entry required.
Because a ZUGFeRD invoice is a valid PDF, it works in every workflow. Recipients who do not have automated processing can read the PDF normally. Recipients with modern accounting software can extract the XML and process the invoice instantly. This backward compatibility is what makes ZUGFeRD particularly practical for businesses that invoice a mix of small and large customers.
Profiles
ZUGFeRD defines several profiles with increasing levels of data detail:
| Profile | Use Case | Data Fields | EN 16931 |
|---|---|---|---|
| Minimum | Simple invoices, small businesses | Basic fields only | No |
| Basic WL | Invoices without line-level detail | Header-level data | No |
| Basic | Standard B2B invoices | Common business data | No |
| EN 16931 (Comfort) | Most common B2B transactions | Detailed item-level data | Yes |
| Extended | Complex invoices, allowances/charges | Full semantic detail | Superset |
The EN 16931 (Comfort) profile is the most widely used for B2B transactions because it is fully compliant with the European standard. docs101 supports both the EN 16931 and Extended profiles depending on invoice complexity.
Relationship to EN 16931
ZUGFeRD/Factur-X is a concrete implementation of the EN 16931 European e-invoicing standard:
- EN 16931: Defines the semantic data model and business rules for electronic invoicing across Europe
- ZUGFeRD/Factur-X: Implements EN 16931 using the CII (Cross Industry Invoice) XML syntax binding
A ZUGFeRD EN 16931 (Comfort) invoice complies with EN 16931 requirements, making it interoperable with other EU e-invoicing systems. This is critical as more EU countries introduce mandatory e-invoicing based on EN 16931.
Regulatory Context
Germany
Germany has introduced a phased B2B e-invoicing mandate:
- January 1, 2025: All German businesses must be able to receive e-invoices in EN 16931-compliant formats. This includes ZUGFeRD and XRechnung.
- January 1, 2027: Businesses with annual turnover exceeding €800,000 must issue e-invoices for domestic B2B transactions.
- January 1, 2028: The obligation to issue e-invoices extends to all businesses regardless of turnover.
The mandate applies to domestic B2B transactions where a VAT invoice is required. International and intra-EU transactions are currently out of scope.
Germany also uses XRechnung, a UBL-based format primarily for B2G (business-to-government) invoicing. Both ZUGFeRD and XRechnung comply with EN 16931. ZUGFeRD is more common in B2B because of its hybrid PDF+XML nature, while XRechnung is the standard for federal government invoices.
France
France is introducing mandatory B2B e-invoicing through a platform-based system:
- September 1, 2026: All companies must be able to receive e-invoices. Large and medium-sized enterprises must begin issuing e-invoices and submitting e-reports.
- September 1, 2027: The obligation to issue e-invoices extends to all businesses including SMEs and micro-enterprises.
France's system uses the PPF (Portail Public de Facturation) as a central government platform alongside accredited PDPs (Plateformes de Dématérialisation Partenaires). The PPF accepts three formats: Factur-X, CII, and UBL.
Why ZUGFeRD Matters
For Businesses
- Automation: Customers can process invoices automatically without manual data entry
- Reduced errors: XML data eliminates transcription mistakes
- Faster payment: Automated processing speeds up invoice approval cycles
- Backward compatible: Works as a normal PDF for recipients without automation
- Cross-border ready: Compliant with EN 16931 for EU-wide acceptance
For Tax Authorities
- Improved audit trails: Digital invoices create tamper-evident records
- Better compliance: Structured data makes it easier to detect anomalies
- Efficiency: Automated processing reduces administrative burden
For the Ecosystem
- Interoperability: One format works across multiple countries and systems
- Cost savings: Eliminating manual steps reduces processing costs
- Future-ready: Positions businesses for mandatory digital invoicing requirements
How docs101 Implements ZUGFeRD
docs101 generates ZUGFeRD/Factur-X-compliant invoices as part of its core invoicing workflow. Here is what happens when you create an invoice:
- PDF generation: docs101 generates a professionally formatted PDF/A-3 from your invoice template
- XML embedding: Structured CII XML containing all invoice data is generated and embedded inside the PDF according to the ZUGFeRD/Factur-X specification
- KOSiT validation: The embedded XML is validated against EN 16931 business rules using the KOSiT validator to ensure full compliance
- Delivery: The resulting file is a single PDF that works in any recipient system — human-readable and machine-processable
docs101 uses the CII (Cross Industry Invoice) XML syntax binding, which is the native format for ZUGFeRD/Factur-X. The validation step checks against the official EN 16931 Schematron rules maintained by KOSiT (the Coordination Office for IT Standards of the German federal government).
What docs101 handles automatically
- Correct XML structure and namespace declarations
- VAT category codes (including reverse charge category AE)
- Currency handling and amount calculations per EN 16931 business rules
- Seller and buyer party information with VAT IDs
- Line item details with quantities, units, and prices
- Payment terms and due dates
Getting Started
To send ZUGFeRD invoices through docs101:
- Configure your company details and invoice settings
- Add customers and products
- Create invoices as you normally would
- docs101 automatically generates ZUGFeRD/Factur-X PDFs with embedded, validated XML
Your recipients will see a professional PDF and can automatically extract the structured data with their accounting software.
Learn More
- ZUGFeRD and E-Invoicing Formats in the EU: Overview of all EU e-invoicing formats
- EN 16931 Standard: The broader European standard that ZUGFeRD implements
- Digital Invoicing in the EU: How ZUGFeRD fits in the regulatory landscape
- Reverse Charge Explained: How reverse charge is encoded in ZUGFeRD invoices