ZUGFeRD Format Guide
ZUGFeRD (Zentraler User Guide des Forums elektronische Rechnung Deutschland) is a hybrid e-invoice format that combines a human-readable PDF with machine-readable XML data embedded inside.
What Makes ZUGFeRD Special?
ZUGFeRD solves a key problem: humans need PDFs, machines need XML.
Instead of choosing between a PDF (for people) and XML (for software), ZUGFeRD embeds the XML data inside the PDF file. This means:
- One file serves both purposes
- Human recipients can open it in any PDF reader and read it normally
- Accounting software can extract the XML data and automatically process it
- No special software required to view the invoice
Technical Details
- Format: PDF/A-3 with embedded XML (UN/CEFACT CII)
- Current version: ZUGFeRD 2.3 (as of 2024)
- International name: Factur-X (French-German collaboration)
- File extension: .pdf
- PDF standard: PDF/A-3b or PDF/A-3u (archivable)
ZUGFeRD Profiles
ZUGFeRD defines different profiles with varying levels of detail:
| Profile | Description | Use Case |
|---|---|---|
| MINIMUM | Very basic data (total, dates, parties) | Simple invoices, receipts |
| BASIC WL | Line items without details | Standard invoices |
| BASIC | Line items with basic details | Most B2B invoices |
| EN16931 | Fully compliant with European standard | Public sector, cross-border |
| EXTENDED | Additional fields for complex scenarios | Logistics, manufacturing |
| XRECHNUNG | German public sector requirements | Government invoicing |
Important: For German public sector (B2G), you must use the XRECHNUNG profile or pure XRechnung XML.
Who Should Use ZUGFeRD?
ZUGFeRD is ideal for business-to-business (B2B) invoicing because:
- It's familiar (looks like a normal PDF invoice)
- Small businesses without e-invoice software can still read it
- Companies with modern accounting systems can process it automatically
- It's backwards-compatible (can be treated as a regular PDF)
Starting in 2025, Germany will require e-invoicing for B2B transactions. ZUGFeRD is expected to be the most popular format for this purpose.
How to Create ZUGFeRD Invoices
Many accounting and invoicing tools support ZUGFeRD:
- DATEV: Built-in ZUGFeRD support
- Lexware: ZUGFeRD export
- sevDesk: Cloud invoicing with ZUGFeRD
- Mustangproject: Open-source Java library for creating ZUGFeRD PDFs
- Konik: Another open-source tool (Java)
Validating ZUGFeRD Files
Before sending a ZUGFeRD invoice, you should validate:
- PDF/A-3 compliance: The PDF must be archivable
- Embedded XML: XML data must be properly attached
- Profile compliance: XML must match the declared profile
- EN16931 rules: If using EN16931 profile
eDocuPortal validates ZUGFeRD files using the official KoSIT validator, checking both the XML structure and EN16931 business rules.
Common ZUGFeRD Issues
- PDF not PDF/A-3: Regular PDFs cannot embed XML properly
- XML not embedded: File looks like ZUGFeRD but has no XML data
- Profile mismatch: XML declares one profile but follows another
- PDF and XML don't match: The visual PDF shows different amounts than the XML data (serious error!)
ZUGFeRD vs. XRechnung: Which Should You Use?
Simple rule:
- Invoicing the German government? → Use XRechnung (pure XML) or ZUGFeRD with XRECHNUNG profile
- Invoicing businesses? → Use ZUGFeRD with EN16931 or EXTENDED profile
- Simple receipts? → Use ZUGFeRD with MINIMUM or BASIC profile