ZUGFeRD Guide — Hybrid PDF/XML E-Invoicing Format
Key Facts: ZUGFeRD
- Format Type: Hybrid — PDF/A-3 with embedded CII XML
- Governing Standard: EN 16931 (since ZUGFeRD 2.0)
- XML Syntax: UN/CEFACT Cross Industry Invoice (CII)
- Current Version: ZUGFeRD 2.1.1 / 2.2
- Maintained By: FeRD (Forum elektronische Rechnung Deutschland)
- Identical To: Factur-X at EN 16931 profile level
What Is ZUGFeRD?
ZUGFeRD (Zentraler User Guide des Forums elektronische Rechnung Deutschland) is a hybrid e-invoicing format that combines the best of both worlds: a human-readable PDF and machine-readable XML data in a single file. The PDF/A-3 container holds a visual representation of the invoice that anyone can open and read, while an embedded XML file (in CII syntax) contains the structured data that accounting software can process automatically.
This hybrid approach solves a real problem. Pure XML invoices (like Peppol BIS 3.0) are excellent for automated processing but cannot be read by a human without specialised software. PDF invoices are easy for humans but useless for machines. ZUGFeRD gives you both — the recipient's accounting system can import the data automatically, and anyone who needs to visually check the invoice can simply open the PDF.
ZUGFeRD originated in Germany and has been in development since 2010. The first version (ZUGFeRD 1.0) predated the European EN 16931 standard and had its own data model. Since ZUGFeRD 2.0 (released in 2019), the format is fully aligned with EN 16931, making it interoperable with the broader European e-invoicing ecosystem. The current versions — ZUGFeRD 2.1.1 and 2.2 — are the ones you should be using today.
ZUGFeRD Profiles
ZUGFeRD defines multiple profiles that determine how much structured data is included in the embedded XML. This is one of its most important features — you can choose the level of detail based on your needs:
- Minimum: Only the most basic invoice metadata (invoice number, date, total amount, buyer/seller references). Intended for archiving purposes where the PDF is the primary document.
- Basic WL (Without Lines): Header-level data including tax breakdown and payment information, but no individual line items.
- Basic: Full invoice data including line items, but using a simplified structure.
- EN 16931 (Comfort): The full European standard profile. This is the level that is identical to Factur-X and satisfies all EN 16931 requirements. This is the profile you need for regulatory compliance.
- Extended: Adds fields beyond EN 16931 for complex business scenarios — additional addresses, delivery details, accounting references, etc.
For compliance with German and EU e-invoicing mandates, you should use at minimum the EN 16931 profile. The Minimum and Basic profiles are useful for voluntary adoption but do not satisfy regulatory requirements.
When to Use ZUGFeRD
ZUGFeRD is particularly useful in these scenarios:
- Germany: Accepted as a valid EN 16931 format for the B2B e-invoicing mandate (when using the EN 16931 or XRechnung profile). Also accepted for B2G when the embedded XML meets XRechnung requirements. See our Germany guide.
- Austria: Accepted alongside ebInterface for e-invoicing. See our Austria guide.
- Mixed environments: When some of your trading partners have automated invoice processing and others still handle invoices manually. The hybrid format means everyone can work with the same file.
- Transition periods: When you are moving from PDF-based invoicing to fully structured e-invoicing. ZUGFeRD lets you maintain the familiar PDF while adding machine-readable data.
ZUGFeRD is not accepted as a standalone format for countries that mandate Peppol BIS 3.0 (like Belgium) or that require invoices to be submitted through a specific government platform (like Italy's SDI). In those cases, you need the country-specific format and delivery method.
Technical Structure
A ZUGFeRD file is a PDF/A-3 document with an embedded XML attachment. The key components are:
- PDF/A-3 container: The outer file is a standards-compliant archival PDF. It displays the invoice visually — layout, logos, formatting — exactly as the sender designed it.
- Embedded XML (factur-x.xml): A CII (Cross Industry Invoice) XML file attached to the PDF using the PDF/A-3 attachment mechanism. This file contains all the structured invoice data.
- XMP metadata: PDF metadata that identifies the file as a ZUGFeRD/Factur-X invoice and specifies the profile level.
The CII XML structure includes invoice header data, seller and buyer party information, payment instructions, tax calculations, and line-item details (for Basic profile and above). The XML namespace follows the UN/CEFACT CrossIndustryInvoice schema.
How ZUGFeRD Compares to Other Formats
- vs. Factur-X: They are the same standard at the EN 16931 profile level. ZUGFeRD is the name used in Germany; Factur-X is the name used in France, Belgium, and Luxembourg. The XML structure, profiles, and PDF/A-3 approach are identical. A ZUGFeRD EN 16931 file is a Factur-X EN 16931 file.
- vs. Peppol BIS 3.0: Peppol is pure XML (UBL syntax) with no PDF component. Peppol is designed for fully automated, network-based exchange. ZUGFeRD is designed for scenarios where a human-readable PDF is also needed. They use different XML syntaxes (UBL vs. CII).
- vs. XRechnung: XRechnung is pure XML with strict German business rules. ZUGFeRD can contain XRechnung-compliant XML at the "XRechnung" profile level, wrapped in a PDF. So ZUGFeRD can be a delivery vehicle for XRechnung content.
How InvoicePeppol Helps
InvoicePeppol converts your PDF invoices to ZUGFeRD-compliant format with embedded CII XML. Our AI extracts all invoice data and generates the structured XML at the EN 16931 profile level, ensuring full European standard compliance. The result is a single file that works for both human readers and automated systems.
Frequently Asked Questions
Is ZUGFeRD the same as Factur-X?
Yes, at the EN 16931 profile level they are technically identical. The Franco-German cooperation agreed on a joint standard — it is called ZUGFeRD in Germany and Factur-X in France and other francophone countries. If someone asks for a Factur-X invoice and you send a ZUGFeRD EN 16931 file, it will work perfectly. See our Factur-X guide for more details.
Which ZUGFeRD profile should I use?
For regulatory compliance with EU e-invoicing mandates, use the EN 16931 profile (also called "Comfort"). This is the profile that meets the European standard. If you are invoicing German government agencies, use the XRechnung profile, which adds German-specific business rules. The Minimum and Basic profiles are fine for voluntary use but do not satisfy legal requirements.
Can I open a ZUGFeRD file in a normal PDF reader?
Yes. Any PDF reader (Adobe Acrobat, Preview, browser) can open a ZUGFeRD file and display the visual invoice. The embedded XML is invisible to the human reader — it is stored as a PDF attachment. To extract and process the XML data, you need accounting software or a tool that knows how to read ZUGFeRD attachments.
Is ZUGFeRD 1.0 still valid?
ZUGFeRD 1.0 is technically still functional, but it predates the EN 16931 standard and is not considered compliant with current EU requirements. You should use ZUGFeRD 2.1.1 or 2.2 for all new invoices. If you receive ZUGFeRD 1.0 invoices from trading partners, encourage them to upgrade to version 2.x.
Ready to convert your invoices?
InvoicePeppol converts your PDF invoices to compliant e-invoicing XML in seconds. AI-powered extraction, manual review, and instant download.