PDFs and the ZUGFeRD Standard: A Comprehensive Guide to Compliance

PDFs and the ZUGFeRD Standard: A Comprehensive Guide to Compliance

Published September 16, 2025

The efficiency and accuracy of financial transactions and record-keeping are essential for businesses of all sizes. One of the evolving standards aimed at enhancing these processes is ZUGFeRD, a hybrid electronic invoice format that combines PDF and XML to streamline invoicing. Ensuring your PDFs are compliant with ZUGFeRD not only simplifies invoice processing but also aligns your business with international best practices and legal requirements.  Before we get into how you can make sure your PDFs are compliant with ZUGFeRD, let’s go over some information about the standard itself.  

What is the ZUGFeRD Standard? 

ZUGFeRD is an e-invoicing standard that has been embraced by German-speaking countries within the European Union (EU). The standard came about from the EU, acknowledging the need for an e-invoicing format standard. The “Forum Elektronische Rechnung Deutschland” (FeRD) is the organization that introduced the ZUGFeRD 1.0 specification, which has been available since June 25th, 2014.  

FeRD has subsequently released ZUGFeRD 2.0, which provides a freely available invoice format that optimally meets the needs of companies for an electronic bill: It is available free of charge and is compatible with the European standard EN 16931. ZUGFeRD 2.0 can be used for domestic and international billing and is equally usable by both small and large companies. The creation of an invoice in PDF format is simple; the evaluation can be done either by the administrator through the PDF image representation or automated by the embedded XML file. The standard has several profiles in order to be able to fulfill special requirements for the contents of the invoice. You can see and download the most updated version of the standard here.

Why was ZUGFeRD introduced? 

According to FeRD, there are about 32 billion invoices exchanged annually in Germany, but adoption of electronic invoices is only in the single-figure percentage range. To enable small and medium-sized enterprises to benefit from the advantages of e-invoicing, the German Forum on electronic Invoicing (“Forum elektronische Rechnung Deutschland” – FeRD) developed ZUGFeRD – the “Central User Guide of the Forum for Electronic Invoicing in Germany” as a uniform data format. ZUGFeRD is targeted to meet the needs of digitalization requirements of the public sector and will help facilitate e-invoicing in the business-to-business (B2B) and business-to-government (B2G) sectors as required by the EU. Having a uniform data format for electronic invoices will help simplify the exchange of structured electronic invoices. ZUGFeRD version 2.0 adheres to the requirements of this new EU standard and is based on the PDF/A ISO standard, which sets strict parameters around long-term archiving.    

How does ZUGFeRD affect PDF Developers? 

The e-Bill law (published in April 2017) by the German government mandates the receipt and processing of e-invoicing for all federal contracting authorities, regardless of the amount of the invoice. The e-Bill law also provides for specific dates for the implementation of electronic invoicing: from November 27th, 2018, the top federal state authorities must be able to receive and process electronic invoices and, from November 27th, 2019, all subordinate institutions and sectorial contracting authorities on the federal level. If you are developing PDFs for industries that are required to adhere to the standard, you must make sure they are compliant.

How to Make ZUGFeRD-Compliant PDFs 

Making sure that your PDFs are ZUGFeRD compliant involves several steps, primarily focusing on correctly formatting the PDF to meet ZUGFeRD standards and embedding the structured XML data as specified. Here’s how to achieve ZUGFeRD compliance for your PDF invoices:    

1. Choose the Correct PDF Format 

ZUGFeRD invoices must be in the PDF/A-3 format, which is a PDF specialized for archiving and long-term preservation of electronic documents. This format allows for embedding electronic files (such as XML) within the PDF itself. To learn more about PDF/A formats and versions, read What is PDF/A?

2. Prepare the XML Invoice Data 

The core of ZUGFeRD compliance lies in the XML file that contains structured invoice data. This XML must adhere to a specific schema provided in the ZUGFeRD specification.

It is crucial to: 

  • Follow the correct XML structure as per the ZUGFeRD version you are targeting (e.g., 1.0, 2.0, 2.1, etc.). 
  • Confirm that all required fields are accurately populated, including details such as sender, receiver, invoice amount, tax information, payment terms, etc. 
  • Validate the XML against the schema to ensure it's error-free. 
  • Embed the XML File into the PDF/A-3 Document   

Embedding the XML file within the PDF/A-3 document is a technical step that involves: 

  • Using a PDF tool that supports the creation of PDF/A-3 documents and allows for the embedding of XML files. Tools like Adobe Acrobat, Adobe PDF Library, and others that can handle PDF/A standards are suitable. 
  • Ensuring that the XML is embedded as an "associated file" in the PDF. The relationship of the XML file should be set to correspond with the invoicing data (usually tagged appropriately within the PDF tool).   

3. Validate the ZUGFeRD PDF 

After embedding the XML file, the final PDF/A-3 document must be checked for compliance. Use ZUGFeRD validation tools to check if the PDF meets all the specifications. These tools can verify both the PDF/A conformity and the correctness of embedded XML data.  Errors flagged by these tools must be corrected to ensure compliance.     

Stay Updated with ZUGFeRD Standards 

ZUGFeRD standards can be updated to accommodate new regulatory requirements or improve functionality. Staying updated with these changes is crucial to ensure ongoing compliance. Regularly check updates from the Forum Electronic Invoicing Germany (FeRD) or relevant bodies. Below is a timeline of ZUGFeRD updates throughout the years.  

ZUGFeRD 1.0 (2014) 

The initial version of ZUGFeRD was released in March 2014. It was developed by the Forum Electronic Invoicing Germany (FeRD) to standardize the format for electronic invoices in Germany. This version laid the groundwork by combining a human-readable PDF/A-3 document with an embedded XML file containing structured invoice data. 

ZUGFeRD 2.0 (2019) 

In March 2019, ZUGFeRD 2.0 was released. This update was significant because it aligned with the European standard EN 16931, part of the European Union's directive to standardize electronic invoicing practices across its member states. Version 2.0 introduced different profiles like BASIC, COMFORT, and EXTENDED to cater to varying needs of detail and complexity in invoicing. 

ZUGFeRD 2.1 (2019) 

Released later in 2019, this minor update included some corrections and improvements over version 2.0, focusing on better clarity and compatibility with the European standard.

ZUGFeRD 2.2 (2021)

This update continued to refine the standard, offering improvements based on user feedback and the evolving needs of the digital invoicing ecosystem. 

ZUGFeRD 3.0 (2023) 

Announced in 2023, ZUGFeRD 3.0 brought significant changes, including further alignment with international standards, enhanced data structures for better handling of complex invoicing scenarios, and updated compliance features to meet newer regulatory requirements. 

Each version of ZUGFeRD not only reflects technological advancements and regulatory changes but also the growing acceptance and implementation of electronic invoicing across different sectors and countries. These updates ensure that ZUGFeRD remains relevant and useful in facilitating efficient, automated, and standardized electronic invoicing systems. To get your PDFs complaint in 2025 when ZUGFeRD officially becomes standard, start a free trial of Adobe PDF Library.

ZUGFeRD Conversion Code Samples

For developers ready to start converting your PDF files to ZUGFeRD, we have several code samples available on GitHub that you can dig into. 

  • For .NET/C-#/.NET Framework: The ZUGFeRDConverter.cs code sample demonstrates the process of converting a PDF document into a ZUGFeRD compliant PDF/A-3 document by embedding a ZUGFeRD XML invoice file and adding necessary XMP metadata.
  • For Java/Maven: The ZUGFeRDConverter.xml code sample tells IntelliJ to compile the module and run the ZUGFeRDConverter to convert a PDF into a ZUGFeRD compliant PDF/A-3 document.
  • For C++: The ConvertToZUGFeRD code sample converts the input PDF with the input Invoice ZUGFeRD XML to a ZUGFeRD compliant PDF.
  • For VB.NET (Visual Basic), the ZUGFeRDConverter.vb code sample demonstrates converting the input PDF with the input Invoice ZUGFeRD XML to a ZUGFeRD compliant PDF.

You can see all of our code samples by visiting the Datalogics GitHub Repository

Join us on Discord Schedule a Call with an Engineer Ask Scout, our Friendly AI Assistant