ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

ZUGFeRD — the reference German hybrid format

ZUGFeRD (Zentraler User Guide des Forums elektronische Rechnung Deutschland) is the hybrid PDF/A-3 + embedded CII XML format carried by the Forum elektronische Rechnung Deutschland (FeRD) since 2014. Co-published with FNFE-MPE as Factur-X, it is one of the two canonical B2B formats from 1 January 2025.

History 2014 → 2024

ZUGFeRD predates the European EN 16931 mandate. Its trajectory illustrates the progressive convergence of the German hybrid format toward the European standard:

  • 2008-2010 — FeRD founding. The Forum elektronische Rechnung Deutschland is created in 2010 under the auspices of AWV (Arbeitsgemeinschaft für wirtschaftliche Verwaltung), with a BMF mandate to propose a pivot invoice format for the German economy.
  • 25 June 2014 — ZUGFeRD 1.0. First stable release, PDF/A-3 + CII XML structure based on UN/CEFACT 2009. Three profiles BASIC / COMFORT / EXTENDED.
  • 15 March 2019 — ZUGFeRD 2.0. Major refresh: alignment with EN 16931, co-publication with FNFE-MPE as Factur-X (both formats now structurally identical, only the name differs by national convention). Addition of the MINIMUM profile (for Chorus Pro B2G only).
  • 22 March 2021 — ZUGFeRD 2.2. COMFORT profile renamed "EN 16931" to align with the standard vocabulary. BASIC WL (Without Lines) profile added for archiving needs.
  • 14 June 2022 — ZUGFeRD 2.3. Factur-X 1.07 compatibility refinements. First real OASIS DocStore upload.
  • 17 May 2024 — ZUGFeRD 2.3.2. Current version. Some Schematron fixes, integration of BR-DE-* rules compatible with XRechnung 3.0, Factur-X 1.07.2 update.

The 5 profiles

The profile determines the granularity of structured data carried by the embedded XML and hence the legal validity of the document by context (federal B2G, Wachstumschancengesetz B2B, archiving).

text zugferd-profiles-2.3.2.txt
┌──────────────┬────────────┬─────────────┬─────────────────────────────────────┐
│ Profile      │ Lines      │ EN 16931    │ Typical use                         │
├──────────────┼────────────┼─────────────┼─────────────────────────────────────┤
│ MINIMUM      │ No         │ No          │ Accounting data only (net/VAT/      │
│              │            │             │ gross totals). NOT valid for B2B    │
│              │            │             │ post-2025 UStG.                     │
├──────────────┼────────────┼─────────────┼─────────────────────────────────────┤
│ BASIC WL     │ No         │ No          │ Without Lines: pure retention,      │
│              │            │             │ not valid for B2B.                  │
├──────────────┼────────────┼─────────────┼─────────────────────────────────────┤
│ BASIC        │ Yes        │ Yes         │ Micro / SME: minimal invoice with   │
│              │ (summary)  │ (subset)    │ lines, valid B2B 2025+.             │
├──────────────┼────────────┼─────────────┼─────────────────────────────────────┤
│ EN 16931     │ Yes        │ Yes         │ Reference profile — full alignment  │
│ (COMFORT*)   │            │             │ with the European standard.         │
├──────────────┼────────────┼─────────────┼─────────────────────────────────────┤
│ EXTENDED     │ Yes        │ Yes +       │ Industry, transport, construction:  │
│              │            │ extensions  │ advanced fields (serial numbers,    │
│              │            │             │ batches, logistics references).     │
└──────────────┴────────────┴─────────────┴─────────────────────────────────────┘
* "COMFORT" was the legacy name for EN 16931 profile (up to ZUGFeRD 2.2.0).

PDF/A-3 and embedding rules

The ZUGFeRD container is strictly a PDF/A-3 (ISO 19005-3:2012 — Document Management Application: Use of ISO 32000-1 with support for Embedded Files) which permits arbitrary file attachments to the PDF. Three embedding rules are imposed by the ZUGFeRD spec:

  • Mandatory file name: factur-x.xml (lowercase, identical to Factur-X). No other name is accepted by FeRD/FNFE-MPE validators.
  • Relationship attribute: AFRelationship must equal Alternative (formerly Data in ZUGFeRD 1.x — deprecated).
  • MIME type: application/xml in the EmbeddedFile dictionary of the PDF.
  • XMP metadata: the PDF must contain an XMP fx: namespace declaring the ZUGFeRD profile used (e.g., fx:ConformanceLevel = "EN 16931").

A PDF embedding an XML but not respecting these rules is NOT a ZUGFeRD under spec. Frequent pitfall when generating the PDF with an arbitrary library (jsPDF, PDFKit) without a dedicated Factur-X wrapper.

Embedded CII XML

The factur-x.xml XML embedded in ZUGFeRD is UN/CEFACT Cross Industry Invoice (CII) D16B, root namespace urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100. The alternate syntax to UBL listed by annex B of EN 16931.

xml zugferd-2.3.2-cii-snippet.xml
<?xml version="1.0" encoding="UTF-8"?>
<rsm:CrossIndustryInvoice xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"
                          xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
                          xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100">
  <rsm:ExchangedDocumentContext>
    <ram:GuidelineSpecifiedDocumentContextParameter>
      <ram:ID>urn:cen.eu:en16931:2017</ram:ID>
    </ram:GuidelineSpecifiedDocumentContextParameter>
  </rsm:ExchangedDocumentContext>
  <rsm:ExchangedDocument>
    <ram:ID>RE-2026-DE-0142</ram:ID>
    <ram:TypeCode>380</ram:TypeCode>
    <ram:IssueDateTime>
      <udt:DateTimeString format="102">20260519</udt:DateTimeString>
    </ram:IssueDateTime>
  </rsm:ExchangedDocument>
  <rsm:SupplyChainTradeTransaction>
    <ram:IncludedSupplyChainTradeLineItem>
      <ram:AssociatedDocumentLineDocument>
        <ram:LineID>1</ram:LineID>
      </ram:AssociatedDocumentLineDocument>
      <ram:SpecifiedTradeProduct>
        <ram:Name>Consulting — EDI architecture</ram:Name>
      </ram:SpecifiedTradeProduct>
      <ram:SpecifiedLineTradeAgreement>
        <ram:NetPriceProductTradePrice>
          <ram:ChargeAmount>1200.00</ram:ChargeAmount>
        </ram:NetPriceProductTradePrice>
      </ram:SpecifiedLineTradeAgreement>
    </ram:IncludedSupplyChainTradeLineItem>
  </rsm:SupplyChainTradeTransaction>
</rsm:CrossIndustryInvoice>

Three root sections structure the CII document:

  • ExchangedDocumentContext: document metadata — ZUGFeRD profile used via GuidelineSpecifiedDocumentContextParameter.
  • ExchangedDocument: invoice header — ID, date, type, free-text notes.
  • SupplyChainTradeTransaction: invoice body — lines, trade agreements, deliveries, payments, taxes, totals.

ZUGFeRD vs Factur-X

For the technical community, it is important to understand that ZUGFeRD and Factur-X designate the same technical artefact with two coordinated governances:

AspectZUGFeRDFactur-X
MaintainerFeRD (Germany)FNFE-MPE (France)
XML structureUN/CEFACT CII D16BUN/CEFACT CII D16B (identical)
ContainerPDF/A-3PDF/A-3 (identical)
Profiles5 (MIN / BASIC WL / BASIC / EN 16931 / EXTENDED)5 identical
Embedded file namefactur-x.xmlfactur-x.xml
Legal reference§14 UStG (Germany)Order of 7 October 2022 (France)
SchematronFeRD rulesetFNFE-MPE Schematron + French CIUS
Official validatorwww.ferd-net.de/validatorservices.fnfe-mpe.org

B2B validity post-Wachstumschancengesetz

For a ZUGFeRD to be recognised as a valid E-Rechnung under amended §14 UStG (from 1 January 2025), three cumulative conditions:

  1. ZUGFeRD version ≥ 2.0.1 (first EN 16931 alignment). The BMF letter of 15 October 2024 recommends version 2.1.1 or higher for new deployments.
  2. EN 16931 or EXTENDED profile. MINIMUM and BASIC WL profiles do not carry detailed lines and are therefore invalid for B2B. BASIC profile is borderline — it carries lines but without full tax detail, generally accepted but to be avoided for complex transactions.
  3. Properly embedded factur-x.xml with relationship Alternative and correct fx: XMP metadata.