How to Create a ZUGFeRD Invoice: Profiles, Tools and Step-by-Step Guide (2026)

Diana
Updated on:

Since January 1, 2025, every business in Germany must be able to receive electronic invoices — and starting 2027 they must send them too. ZUGFeRD is one of the two accepted e-invoice formats (alongside XRechnung) and is the better choice for most B2B invoices, because a single file contains both a human-readable PDF and structured XML data.
This guide explains what ZUGFeRD actually is, which profile you need, how to create a ZUGFeRD invoice step by step, and which tools can do it for you automatically.
What is a ZUGFeRD invoice?
ZUGFeRD stands for "Zentraler User Guide des Forums elektronische Rechnung Deutschland" and is a hybrid e-invoice format. In plain English: you get a normal-looking PDF file with invisible structured XML (UN/CEFACT Cross Industry Invoice) embedded inside it.
The advantage: humans open the PDF and see a regular invoice. Accounting software reads the embedded XML and books the invoice automatically. You don't need to send two separate files.
The current version is ZUGFeRD 2.3, based on the European standard EN 16931. In France the same standard is called Factur-X — it was developed jointly with the French body FNFE-MPE and is technically identical.
Don't want to fiddle with profiles and PDF/A-3 containers? Create a compliant e-invoice in 30 seconds.
Norman generates every invoice as ZUGFeRD or XRechnung — with all required fields, proper PDF/A-3 wrapping, and automatic validation. Free, no quota.
Create a ZUGFeRD invoice for free →
ZUGFeRD vs. XRechnung — what's the difference?
Both are accepted e-invoice formats under § 14 of the German VAT Act (UStG), but they differ in one key way:
Format — Hybrid (PDF/A-3 + XML) — XML only
Human-readable? — Yes, in the PDF — No, viewer required
Typical use — B2B — Public sector (federal, some states)
Leitwegsnummer required — No — Yes
Transmission — Email is fine — Often via portal (ZRE, OZG-RE)
Rule of thumb: if you invoice a German federal authority, you usually need an XRechnung. If you invoice another business, ZUGFeRD is the better choice because your client can open the PDF in any reader.
The six ZUGFeRD profiles, explained
ZUGFeRD has six profiles with increasing levels of detail. Not every profile counts as a legally valid e-invoice in Germany — and this is the most common rookie mistake.
MINIMUM and BASIC WL — not compliant
Both contain only header data (sender, recipient, total) but no line items. They are not proper e-invoices under § 14 UStG and only work as internal accounting helpers. If you send one of these as your only invoice, your client may lose their input VAT deduction.
BASIC
Header data plus line items, but technically only a subset of EN 16931 — some required fields are missing. BASIC does not satisfy the German e-invoice mandate.
EN 16931 (formerly called COMFORT)
The standard profile for the German e-invoicing mandate. Includes every field required by EN 16931. This is the profile you should use in 95 % of cases.
EXTENDED
Extends EN 16931 with extra fields like detailed delivery addresses, discount structures, or industry-specific data. Useful for large enterprises with complex accounting rules; overkill for freelancers and small companies.
XRECHNUNG
Since ZUGFeRD 2.1 there is an XRECHNUNG profile. It embeds a full XRechnung XML inside the PDF — handy when you invoice federal authorities and still want to attach something readable.
How to create a ZUGFeRD invoice, step by step
1. Gather the mandatory fields
A ZUGFeRD invoice must contain the same mandatory fields as any invoice under § 14 UStG:
Full name and address of you and your client
Your tax number (Steuernummer) or VAT ID (USt-IdNr.)
Invoice date and a sequential invoice number
Service period or delivery date
Quantity, type, and description of what was provided
Net amount, VAT rate, VAT amount, gross amount
If you're a Kleinunternehmer: reference to § 19 UStG
IBAN/BIC and payment terms
2. Choose the profile
For B2B invoices in Germany: EN 16931. Period. Anything less either fails the legal requirement (BASIC, MINIMUM, BASIC WL) or is unnecessarily complex (EXTENDED).
3. Generate the file as PDF/A-3
A ZUGFeRD invoice must be a PDF/A-3 — only this standard allows embedding an XML file. PDF/A-1 or a regular PDF will not work.
You can't realistically do this manually with Word and Adobe. You need software that handles it automatically — see the next section.
4. Validate the ZUGFeRD file
Before sending the first real invoice, validate the file:
Mustangproject — free open-source validator (Java)
KoSIT validator — the official validator from the German government
FeRD validator — straight from the standardization body
Good accounting software validates automatically when you create the invoice, so you don't have to run a separate check.
5. Send by email
ZUGFeRD invoices can be sent by regular email — no special transmission channel, no digital signature required. The one formal requirement: your client must agree (in advance, or via your terms and conditions) to receive invoices electronically. For B2B from 2025 onwards, consent is assumed.
Which software creates ZUGFeRD invoices?
Most German invoicing and accounting tools support ZUGFeRD by now — differences come down to which profiles, automatic validation, and price:
Norman — AI-native invoicing, ZUGFeRD and XRechnung free, no quota
Lexoffice — Market leader, ZUGFeRD from the mid-tier plan up
sevDesk — Bookkeeping plus ZUGFeRD/XRechnung in one package
FastBill — Solid invoicing tool, ZUGFeRD in all plans
Papierkram — Lean tool, ZUGFeRD available
Mustangproject — Open-source library, ideal for developers
If you're still deciding, the 2026 e-invoicing software comparison walks through every tool side by side. People considering a switch from Lexoffice can also check the direct Norman vs. Lexoffice comparison.
Common mistakes — and how to avoid them
Wrong profile: MINIMUM, BASIC WL and BASIC are not valid e-invoices. Always use EN 16931 or higher.
PDF/A-1 instead of PDF/A-3: Only PDF/A-3 allows embedded XML. A regular PDF with a separate XML attached is not a ZUGFeRD invoice.
PDF and XML don't match: If the PDF says €100 and the XML says €110, the XML wins legally. The recipient will book the wrong amount.
No validation up front: A broken ZUGFeRD file looks just like a normal PDF — the error only surfaces at the client's accounting team or their tax advisor.
Forgetting client consent: Even though e-invoicing is now mandatory, you formally need your client's agreement to send electronically (assumed for B2B from 2025).
ZUGFeRD and Kleinunternehmer — does this apply to me?
If you're a Kleinunternehmer under § 19 UStG, the 2024 Wachstumschancengesetz exempts you from sending electronic invoices. You can keep sending PDFs or paper.
You still need to be able to receive e-invoices — and ZUGFeRD is convenient here because the file opens like a normal PDF. The dedicated piece E-Invoicing for Kleinunternehmer covers this in detail. If you want to voluntarily send ZUGFeRD (because a client asks for it), nothing stops you.
Bottom line
For most freelancers and small businesses, ZUGFeRD is the more practical choice over XRechnung because the hybrid format doesn't require special software on the receiving end. The two things that matter: pick the right profile (EN 16931) and make sure it's a PDF/A-3 container.
The good news: once your software is set up, generating a ZUGFeRD invoice is no slower than a normal PDF — click "create invoice", and the tool handles PDF/A-3 wrapping, XML embedding, validation, and email delivery automatically.