Format guide

The ZUGFeRD Format, Explained

What is inside a ZUGFeRD file, which profile and version to use, what the German e-invoicing law actually requires, and sample files to download.

What is ZUGFeRD?

ZUGFeRD (Zentraler User Guide des Forums elektronische Rechnung Deutschland) is Germany's hybrid e-invoice format: a normal PDF that a human can open and read, with the complete invoice data embedded inside as structured XML that accounting software processes automatically. One file serves both audiences, which is why it became the practical default for German B2B invoicing.

Technically, ZUGFeRD is not a German solo effort: since version 2.0 it is identical to the French Factur-X standard, and its data model follows the European norm EN 16931. A ZUGFeRD invoice is therefore also a valid European e-invoice.

How the file works technically

A ZUGFeRD file is a PDF/A-3 document, the archival PDF flavor that allows embedded attachments. Inside sits an XML file (named factur-x.xml) in the UN/CEFACT Cross-Industry Invoice (CII) syntax, declared with the attachment relationship the receiving software looks for. The visible PDF pages and the XML must describe the same invoice; the XML is the legally decisive layer.

The XML declares which rules it follows through its specification identifier. This is the first thing validators and accounting systems read:

<ram:GuidelineSpecifiedDocumentContextParameter>
  <ram:ID>urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:en16931</ram:ID>
</ram:GuidelineSpecifiedDocumentContextParameter>

Everything else follows from that line: the profile decides which fields are mandatory, and the EN 16931 business rules (over 200 of them) decide whether the file is valid.

What a ZUGFeRD invoice contains

A ZUGFeRD invoice carries the same details as any correct German invoice under Section 14 UStG, but every detail sits in a defined field of the XML instead of somewhere on the page. In the EN 16931 profile, that means:

  • Invoice number (BT-1), issue date (BT-2), delivery or service date, and document type (BT-3), such as 380 for an invoice or 381 for a credit note
  • Seller and buyer with name and postal address, plus the seller's VAT ID (BT-31) or tax number (BT-32)
  • Line items with quantity, unit of measure, net price and VAT category per line
  • The VAT breakdown per rate and category, and the totals: net amount, VAT amount and amount due
  • Payment details such as the payment method and IBAN, plus the payment terms
  • References where they apply: the buyer reference (BT-10), which carries the Leitweg-ID for public authorities, and the order number

On top of that come the specification identifier shown above, which names the profile, and the PDF page, which shows the same invoice to people. Since 1 January 2025 the XML is the legally binding part, so the page must never show different figures than the data. Which fields are mandatory depends on the profile; the table below shows how much each one carries. See complete examples in the sample file library.

Versions and profiles

ZUGFeRD 1.0 appeared in 2014 with its own data model. Version 2.0 (2019) rebuilt the format on EN 16931 and unified it with Factur-X; the current 2.x releases refine that line. New implementations should always target the current 2.x specification.

The profile controls how much data the XML layer carries:

ProfileLine itemsTypical use
MINIMUMNoAutomated accounts-payable flows matched against purchase orders
BASIC WLNoHeader-level bookings without line detail
BASICYesSimple invoices with standard fields
EN 16931YesThe recommended default for German B2B invoices
EXTENDEDYesIndustry extensions beyond the European norm
XRECHNUNGYesReference profile matching the German CIUS for public-sector invoices

ZUGFeRD, XRechnung, Factur-X: how they relate

  • ZUGFeRD: hybrid PDF with embedded CII XML, for B2B invoices between companies.
  • XRechnung: pure XML (no PDF layer) with stricter German rules on top of EN 16931, required by public authorities and always carrying a Leitweg-ID.
  • Factur-X: the same standard as ZUGFeRD 2.x under its French name; the files are technically identical.

Invoicing the public sector? Read the dedicated XRechnung format guide.

The German e-invoicing deadlines

  • Since January 1, 2025: every German business must be able to receive e-invoices for domestic B2B transactions. A PDF alone no longer counts as an e-invoice.
  • From January 1, 2027: businesses with more than EUR 800,000 annual turnover must issue e-invoices for domestic B2B.
  • From January 1, 2028: the issuing obligation applies to all businesses.

ZUGFeRD (EN 16931 profile or higher) satisfies these requirements; so does XRechnung. Paper and plain PDF invoices lose their status as the default.

Sample files to download

All sample files now live on their own page: one ZUGFeRD invoice per profile from MINIMUM to EXTENDED, XRechnung in CII and UBL, credit note, correction, reverse charge, Kleinunternehmer, and deliberately broken files. Every file was generated and validated with the tools on this site, and every card opens the file straight in the validator or the viewer. Browse and download all sample files.

Work with ZUGFeRD files right here

Looking for software rather than a format explanation? The ZUGFeRD software guide compares browser tools, downloads, ERP modules and the API.


Related reading

Frequently Asked Questions

Common questions about the ZUGFeRD format.

The law mandates e-invoices conforming to EN 16931, not a specific brand of format. ZUGFeRD is one fully compliant way to meet the mandate (XRechnung is another); its advantage is that the PDF stays readable for humans while systems process the XML.
EN 16931 (also called Comfort), unless a trading partner explicitly asks for something else. It carries full line-item detail and is what DATEV, Lexware, SAP, and tax advisors expect.
Invoicing a company: ZUGFeRD. Invoicing a public authority: XRechnung, which additionally requires the recipient's Leitweg-ID. Many businesses use both, depending on the customer.
Yes. All major German accounting systems import the embedded XML directly, no retyping. That import is also the reason a formally broken file hurts: it bounces at the bookkeeping stage.
Yes. The specification is published by FeRD (Forum elektronische Rechnung Deutschland) and is free to use; no license fees apply for creating or processing ZUGFeRD invoices.
Built for the German mandate

One toolkit for ZUGFeRD and XRechnung

Every German business has had to accept e-invoices since January 2025. Both formats are covered here.

ZUGFeRD or XRechnung? Let the assistant pick the tool Tell the chat what you need: it converts, checks, builds, and reads out German e-invoices. Open assistant

Create

Fill one form, get a ZUGFeRD PDF or an XRechnung with Leitweg-ID

Check & repair

Test against EN 16931 and the XRechnung CIUS, then fix what a buyer rejected

Convert

Move an invoice between PDF, CII, UBL and XRechnung

Open & extract

Open a file, see what is inside it, and take the data with you

Look up & automate

Check who you are invoicing, or move the whole flow to an API
Ready for mandatory e-invoicing?

Make every invoice compliant, in a single message

Subscribe to get unlimited tools, choosable compliance profiles and the full set of premium features.

EN 16931 & PDF/A-3b compliant Results in seconds No installation GoBD-compliant archive
1 free tool use per hour · No card required