ZUGFeRD: E-Invoicing in PDF Documents |

E-Invoicing (XML and PDF/A): XRechnung, ZUGFeRD and FacturX

Forward-looking & EU-compliant:
Invoice creation and reading of invoice data

With PDF Xpansion SDK

C++ Builder
MS Office VBA

Download trial version PDF SDK

ZUGFeRD 2.1/2.0/1.0

ZUGFeRD 2.1/2.0 is fully compliant in the sense of the European standard EN 16931-1. The PDF Xpansion SDK supports all 5 profiles: EXTENDED, EN 16931, BASIC, BASIC WL and MINIMUM.

ZUGFeRD 1.0 is not fully compliant with EN 16931-1, but already wide used for automatic processing. The PDF Xpansion SDK supports all 3 profiles: EXTENDED, COMFORT, BASIC.

XRechnung 2.0/1.2.2

This is the national standard for public authorities in Germany and is also based on the EU standard EN 16931. Invoices of this standard are XML files without visual representation, but using PDF Xpansion SDK and according to ZUGFeRD 2.1.1 standard they can be embedded in PDF document and in such way, they can have the visual representation also.

UN/CEFACT syntax is supported by PDF Xpansion SDK for invoice creation and reading. UBL syntax is supported for the import of invoice data (invoice receipt).


The French invoice standard is conform to EN 16931-1 and technically identical with ZUGFeRD 2.1.1/2.0. The PDF Xpansion SDK supports all 5 profiles: EXTENDED, EN 16931, BASIC, BASIC WL and MINIMUM.

logoeInvoicing Features of PDF Xpansion SDK:

  • Reading and technical (syntax, structure, completeness) validation of incoming ZUGFeRD, XRechnung (UN/CEFACT (CII) syntax) and Factur-X files, extracting XML-formatted invoices
  • Reading and technical (syntax, structure, completeness) validation of XML-formatted invoices (all profiles, incl. Extended), extracting invoice data
  • Creating XML-formatted invoices over SDK API – invoice content can be builded by calling the methods of SDK with invoice data (all profiles, incl. Extended), save XML-formatted invoices to the files
  • Creating ZUGFeRD, XRechnung (UN/CEFACT (CII) syntax) and Factur-X conform files from XML-formatted invoices and visual represantion of invoice which can be:
  • PDF file
  • raster images (scanned pages of paper document)
  • HTML file
  • Text file
  • dynamically builded document
  • Transform (convert) XML-formatted invoices from one standard to other, for example from ZUGFeRD 1.0 to ZUGFeRD 2.1 or Factur-X
  • Import XRechnung invoices (UBL syntax)
  • Display the PDF part of invoice in PDF viewer
  • Print the PDF part of invoice
  • NewVisualization of XML invoices (PDF creation from XML and design template)
  • More detailed information is available at request.

    Electronic invoicing (E-Invoicing) is an increasingly common way to bill goods and services. Compared to the classical paper invoice, it helps to save time (for example for the creation, transport and processing of the invoice document), costs, and other resources. On the other hand, the current situation is characterized by the fact that E-Invoicing still lacks general standards for processing invoices that are easy to apply for the invoicing party and for the bill-to party alike. This is especially true for the normal case of business operations, which often sees parties with differences in billing infrastructure (billing and accounting system software) and divergent organization structure.

    What does ZUGFeRD stand for?

    ZUGFeRDZUGFeRD (German language acronym for „Zentraler User Guide Forum elektronische Rechnung Deutschland“, i. e. „Central User Guide Forum electronic Invoice Germany“) is a digital data format. It combines a printable invoice (PDF/A-3 file as visual representation of the invoice data as digital media format instead of the corresponding paper invoice) with an embedded XML file that presents the invoice data in a specifically structured way. This special data structure enables billing and accounting applications to read information like for example the invoice amount, date or number in a standardized way and to process this data. The overall goal is to further develop elaborate ways of working with invoices without having to switch media, for example between paper and computer data. In the long run, the concept aims at replacing the existing OCR recognition methods. Since 2014, the standard is developed by a cooperation between FeRD, various private organizations, companies and government departments. ZUGFeRD enables electronic invoice exchange between companies, public administration and consumers.

    In order to overcome the obstacles mentioned above, the German organization FeRD (Forum elektronische Rechnung Deutschland e. V.) has been founded to develop and establish an appropriate standard. FeRD works as a hub to link the key players and interested companies in the field of E-Invoicing. Details on the current state of the developed standard (ZUGFeRD format) are available on the FeRD website.

    ZUGFeRD 2.1/2.0 is based on the EN 16931 standard and is technically identical to the French Factur-X standard, thus also supporting efforts to establish a Europe-wide standard in the field of electronic invoice processing. Among other things, the format offers a profile (designation: EN 16931), which is identical to XRechnung in this respect. On the other hand, ZUGFeRD 2.1/2.0 allows for lower technical requirements (in the BASIC profile), but also higher requirements for electronic invoices (in the EXTENDED profile). All three profiles mentioned above enable your customers to create ZUGFeRD invoices that meet the requirements of the German Value Added Tax Act (UStG). Using the BASIC profile, for example, even smaller customer companies that do not have any business relations with public administration can create VAT and ZUGFeRD-compliant electronic invoices. The BASIC WL and MINIMUM profiles can be used as a booking aid, but not to create invoices that meet the requirements of the VAT Act.

    ZUGFeRD 2.1.1 provides an additional option to use a sixth pseudo-profile called “XInvoice” to create XML invoices formatted according to the XInvoice standard and a PDF/A file containing a visual representation of the invoice.

    Differences between ZUGFeRD 2.1/2.0 and ZUGFeRD 1.0 are differences due to the design principles of the EN 16931-1 standard, profiles, business rules, calculation methods, allowed tax types, tags in syntax mapping, code lists & embedding in PDF/A-3.

    Like PDF/A-1 and PDF/A-2, PDF/A-3 is a special type of PDF format. All three formats may be used for the long-term archiving of documents. The distinctive feature of PDF/A-3: it allows to embed any other file type into the PDF/A file. Therefore, it is possible to embed XML files. The PDF/A-3 specification has been published in October 2012.

    XML files are a special type of text files, since they save data in a hierarchically structured way. The structure allows various applications (e.g. billing and accounting system software) to read the data from these files.


    Some non-standard exceptions were found in the info package files of ferd-net.de:

    ZUGFeRD Info Package 2.0
    All samples are non-conform to the format specification of this version.

    XML Metadata contains invalid ZUGFeRD extension scheme:
    – scheme prefix is “fx”, according to specification it should be “zf”
    – scheme version is “1.0”, it should be “2p0”

    Sample with MINIMUM profile contains incorrect embedded XML data –
    the specification of a data relationship is “Alternative” (legal invoice),
    but should be “Data” (accounting data, Buchungshilfe).

    ZUGFeRD Info Package 2.1.1
    The samples for “BASIC_WL” profile contain correct invoices, but with “BASIC” profile as designation.

    How does soft Xpansion support the ZUGFeRD format?

    ZUGFeRD - Elektronische Rechnungsdaten erfassen und in PDF/A-3 versenden

    Soft Xpansion is an active FeRD member. The developer tool PDF Xpansion SDK 14 offers powerful ZUGFeRD functionality. It enables software developers to implement the creation and processing of various PDF formats and of the ZUGFeRD format into their own applications. Thus, the end user does not need any additional programs to work with these formats.

    Contact by Mail


    Drop a message

    Direct Contact

    +49 234 588 01265

    Call us now




    News for Developers

    Support of ZUGFeRD 2.1.1
    New: Use of XRechnung as 6th profile

    Go To SDK News