ZUGFeRD Profiles Explained: Which One Do You Actually Need?
ZUGFeRD has five profiles but only two qualify for Germany's e-invoicing mandate. This guide explains each profile, what data it contains, and exactly which you need for compliance.
ZUGFeRD Profiles Explained: Which One Do You Actually Need?
ZUGFeRD is Germany's hybrid e-invoice format: a PDF you can read and a machine-readable XML embedded inside it. It comes in five profiles, and the profile you choose matters enormously for compliance. Using the wrong profile is one of the most common e-invoicing mistakes German businesses make.
The Five ZUGFeRD Profiles
MINIMUM
The simplest ZUGFeRD profile. Contains only the most basic invoice data: invoice number, date, seller, buyer, and total amount. No line items, no VAT breakdown, no payment terms.
Does it qualify for the German mandate? โ No. MINIMUM does not contain enough data to meet the mandate requirements.
When is it used? Primarily for archiving purposes or internal document workflows where a human will review the PDF. Not suitable for any compliance purpose.
BASIC WL (Without Lines)
Adds header-level data including VAT totals and payment terms, but still without line-item detail.
Does it qualify? โ No. BASIC WL does not meet mandate requirements.
When is it used? Some niche B2G applications where line items are not required. Not a common choice for standard B2B invoicing.
BASIC
Adds line items to BASIC WL. However, it still lacks some mandatory fields required by the EN 16931 standard.
Does it qualify? โ No. Despite the misleading name, BASIC does not qualify for Germany's mandate.
When is it used? Some legacy systems and older integrations use BASIC. If your software generates BASIC profile ZUGFeRD, you need to upgrade your configuration.
EN 16931 (also called "Comfort" in older ZUGFeRD documentation)
This profile fully implements the EN 16931 European e-invoice standard. It includes all mandatory fields: complete line items, VAT breakdown by category, payment terms, bank details (IBAN), and buyer/seller identifiers.
Does it qualify? โ Yes. EN 16931 profile ZUGFeRD fully meets Germany's mandate requirements for all B2B transactions.
When should you use it? This is the right choice for most B2B invoicing scenarios. If you are using modern invoicing software that generates ZUGFeRD, confirm it uses EN 16931 profile.
EXTENDED (also called XRechnung-compatible in some tools)
A superset of EN 16931 with additional fields for complex invoicing scenarios, cross-border transactions, and public procurement.
Does it qualify? โ Yes. EXTENDED qualifies and is used in scenarios requiring more data than EN 16931 mandates.
When should you use it? If your customers or trading partners require additional data fields beyond EN 16931. Also commonly used when software is configured for XRechnung compliance alongside ZUGFeRD.
ZUGFeRD vs. XRechnung: Which Should You Use?
This is a common question. Here is the practical answer:
ZUGFeRD EN 16931 profile is a hybrid document: the PDF is human-readable and the XML is machine-readable. It is ideal for most B2B transactions because recipients can read the invoice without special software.
XRechnung is pure XML with no PDF component. It is required for B2G invoices (invoicing German government agencies) and is increasingly used in large B2B EDI workflows. Some enterprise buyers specifically request XRechnung to avoid any ambiguity.
For most businesses, ZUGFeRD EN 16931 is the practical choice for B2B transactions. Keep XRechnung for B2G and situations where a business customer explicitly requests it.
Many software tools generate both formats โ you select which to use at invoice generation time. This is the most flexible approach.
How to Check Which Profile Your Software Generates
Open a ZUGFeRD PDF you have generated in a PDF reader that shows attachments (Adobe Acrobat, PDF-XChange). Look for the embedded XML file. Open it and search for the <ram:GuidelineSpecifiedDocumentContextParameter> element โ the value will tell you the profile:
urn:cen.eu:en16931:2017#compliant#urn:zugferd.de:2p0:en16931โ EN 16931 โurn:cen.eu:en16931:2017#conformant#urn:zugferd.de:2p0:extendedโ EXTENDED โ- Any reference to "minimum", "basic", or "basic-wl" โ โ Not compliant for mandate
Alternatively, run your invoice through the free Mustang validator (mustangproject.org) or the official KoSIT validator.
Software Configuration Tips
Most German invoicing software defaults to one of the compliant profiles, but check:
- sevDesk: Generates ZUGFeRD 2.3 EN 16931 by default โ
- lexoffice: Generates ZUGFeRD 2.3 EN 16931 โ
- easybill: Lets you choose โ select EN 16931 or XRechnung โ
- DATEV: Check your configured document profile in DATEV Unternehmen Online
- SAP: Requires configuration โ confirm your output format in SAP's e-invoicing settings
If you find your software uses BASIC or MINIMUM, contact your software vendor immediately. This is a configuration issue that needs to be resolved before your mandate obligations kick in.