ZUGFeRD ist das E-Rechnungsformat, das in Deutschland am häufigsten im B2B-Bereich eingesetzt wird. Der Grund: Es verbindet ein ganz normales PDF mit maschinenlesbaren XML-Daten in einer einzigen Datei. Dein Kunde kann die Rechnung öffnen und lesen wie bisher. Gleichzeitig kann seine Buchhaltungssoftware die Daten automatisch verarbeiten. Klingt gut? Ist es auch. In dieser Anleitung zeige ich dir Schritt für Schritt, wie du eine ZUGFeRD Rechnung erstellst — inklusive Profile, Versionen, Validierung und einem Workflow, der in der Praxis funktioniert.
Was genau ist ZUGFeRD?
ZUGFeRD steht für "Zentraler User Guide des Forums elektronische Rechnung Deutschland". Das klingt sperrig, die Idee dahinter ist aber simpel: Eine Rechnung soll sowohl von Menschen als auch von Maschinen gelesen werden können.
Technisch funktioniert das so: Du erzeugst ein PDF im Format PDF/A-3. In dieses PDF wird eine XML-Datei eingebettet, die alle Rechnungsdaten strukturiert enthält. Beträge, Steuersätze, Adressen, Positionen. Alles, was eine Software braucht, um die Rechnung automatisch zu verbuchen.
Seit Version 2.0 basiert ZUGFeRD auf der europäischen Norm EN 16931. Damit ist es kompatibel mit dem französischen Pendant Factur-X. Eine ZUGFeRD-2.x-Rechnung ist also auch eine gültige Factur-X-Rechnung — und umgekehrt. Mehr zur Norm liest du im Beitrag EN 16931 verständlich erklärt.
Kurze Geschichte: Vom FeRD-Projekt zur Version 2.3
Hinter ZUGFeRD steht das Forum elektronische Rechnung Deutschland (FeRD), eine Initiative aus Wirtschaft, Verbänden und Verwaltung. Die erste öffentliche Version 1.0 erschien 2014 und basierte noch auf einer eigenen XML-Spezifikation. Mit Version 2.0 (2018) wurde das Format auf EN 16931 umgestellt, ab Version 2.1 (2020) gilt die direkte Factur-X-Kompatibilität.
Die aktuellen Versionen 2.2 und 2.3 erweitern Profile, Codes und Pflichtfelder. Praktisch heißt das: Wer heute ZUGFeRD 2.3 erzeugt, ist sowohl für den deutschen Markt als auch für grenzüberschreitende Rechnungen mit französischen Kunden gerüstet. Solange du auf einer 2.x-Version aufsetzt, bist du auf der sicheren Seite — Version 1.0 ist veraltet und sollte nicht mehr produktiv genutzt werden.
Hybrid statt Pure-XML: Der Unterschied zur XRechnung
Während XRechnung ein reines XML-Format ohne PDF-Darstellung ist, bleibt ZUGFeRD ein hybrides Format: Außen sichtbar ein klassisches PDF, innen die strukturierten XML-Daten. Den Vergleich der beiden Formate findest du detailliert im Artikel XRechnung vs. ZUGFeRD.
Die fünf ZUGFeRD-Profile im Detail
Nicht jede ZUGFeRD-Rechnung enthält gleich viel Daten. Je nach Anwendungsfall wählst du ein Profil, das den Detailgrad der XML-Daten bestimmt. Es gibt fünf Stufen:
| Profil | Detailgrad | Typischer Einsatz |
|---|---|---|
| MINIMUM | Nur Kopfdaten (Beträge, Datum, Parteien) | Einfache Archivierung, Buchhaltungs-Referenz |
| BASIC WL | Kopfdaten + Zahlungsinformationen (Without Lines) | Wenn Zahlungskonditionen mitgegeben werden, aber keine Einzelpositionen |
| BASIC | Einzelpositionen enthalten | Standardfall für die meisten B2B-Rechnungen |
| EN 16931 (COMFORT) | Vollständig EN-16931-konform | Pflicht für B2G, empfohlen für B2B |
| EXTENDED | Zusätzliche Felder über EN 16931 hinaus | Komplexe Geschäftsvorfälle, Konzerne, branchenspezifische Felder |
| XRECHNUNG (CIUS) | Spezialprofil für deutsche Behörden | B2G mit CIUS XRechnung — selten in ZUGFeRD-PDF |
MINIMUM und BASIC WL — die Leichtgewichte
MINIMUM enthält nur den Rechnungskopf: Rechnungsnummer, Datum, Verkäufer, Käufer, Bruttosumme. Es ist nicht EN-16931-konform und reicht nicht aus, um vollwertige B2B-Geschäftsvorfälle abzubilden. BASIC WL (Without Lines) liefert zusätzlich Zahlungsbedingungen, verzichtet aber weiterhin auf Einzelpositionen. Beide Profile eignen sich nur für Spezialfälle, etwa als Beleg für interne Buchhaltung oder als minimaler Datenanhang.
BASIC — der Standard für Selbstständige und KMU
BASIC ist das Profil, mit dem die meisten Solo-Selbstständigen und kleinen Unternehmen arbeiten. Es enthält alle Pflichtangaben nach §14 UStG plus Einzelpositionen mit Menge, Bezeichnung, Einzelpreis und Steuersatz. Für eine Handwerker-Rechnung, eine Freelancer-Rechnung oder eine Material-/Stunden-Position reicht BASIC vollständig aus. Wer mit dem Schlagwort "zugferd handwerker" sucht, landet in 99 % der Fälle bei diesem Profil.
EN 16931 (COMFORT) — Pflicht für Behörden, empfehlenswert für B2B
Sobald du an öffentliche Auftraggeber lieferst, brauchst du mindestens das Profil EN 16931 (auch COMFORT genannt). Es ist vollständig konform zur europäischen Norm und enthält alle Geschäftsregeln, die für den Vorsteuerabzug und die Verbuchung notwendig sind. Viele B2B-Plattformen und Buchhaltungsprogramme erwarten heute COMFORT, weil es maschinell zuverlässig auswertbar ist.
EXTENDED — für komplexe Lieferketten
EXTENDED erweitert COMFORT um Felder, die EN 16931 nicht abdeckt: detaillierte Lieferbedingungen, Sub-Positionen, branchenspezifische Codes. Im Alltag von Solo-Selbstständigen taucht EXTENDED selten auf — relevant ist es für Konzern-Lieferanten, Speditionen und große Handelsketten.
XRECHNUNG-Profil — der Sonderfall
Seit ZUGFeRD 2.1 gibt es ein eigenes XRECHNUNG-Profil, das den deutschen CIUS (Core Invoice Usage Specification) XRechnung als XML in eine PDF/A-3-Hülle packt. In der Praxis liefern deutsche B2G-Lieferanten direkt eine reine XRechnung. Das XRECHNUNG-Profil in ZUGFeRD ist daher Nische.
ZUGFeRD vs. Factur-X — ein Format, zwei Namen
ZUGFeRD und Factur-X sind technisch identisch. Beide bauen auf dem gleichen Cross Industry Invoice (CII) Schema auf und folgen EN 16931. Der Unterschied liegt nur im Marketing: In Deutschland heißt das Format ZUGFeRD, in Frankreich Factur-X. Eine ZUGFeRD-2.x-Datei kann in Frankreich ohne Umwandlung verarbeitet werden — und ein französischer Factur-X-Beleg läuft hier sauber durch.
Das macht ZUGFeRD attraktiv für alle, die grenzüberschreitend rechnen. Die XML-Datei heißt in beiden Fällen factur-x.xml und sitzt am gleichen Anhang-Slot des PDFs.
ZUGFeRD Rechnung erstellen: Schritt für Schritt
Jetzt wird es praktisch. So gehst du vor, um eine gültige ZUGFeRD-Rechnung zu erzeugen. Die folgenden fünf Schritte gelten unabhängig davon, ob du eine Software wie SimplyBills nutzt oder den Prozess selbst zusammenbaust.
Schritt 1: Rechnungsdaten zusammenstellen
Bevor du irgendetwas technisch umsetzt, brauchst du saubere Daten. Dazu gehören:
- Dein vollständiger Name und deine Anschrift
- Name und Anschrift des Rechnungsempfängers
- Deine Steuernummer oder USt-IdNr.
- Eine fortlaufende Rechnungsnummer
- Rechnungsdatum und Leistungszeitraum
- Einzelpositionen mit Menge, Bezeichnung und Einzelpreis
- Nettobetrag, Umsatzsteuer und Bruttobetrag
- Zahlungsziel und Bankverbindung
Diese Angaben sind nicht optional. Sie ergeben sich aus §14 UStG und müssen auf jeder Rechnung stehen. Eine ausführliche Pflichtangaben-Checkliste findest du im separaten Beitrag. Fehlt etwas, riskiert dein Kunde Probleme beim Vorsteuerabzug — und du beim nächsten Betriebsprüfungstermin.
Schritt 2: XML-Datei erzeugen
Die XML-Datei ist das Herzstück. Sie enthält alle Rechnungsdaten in einem genau definierten Schema. Welches Schema das ist, hängt vom gewählten Profil ab. BASIC und COMFORT nutzen unterschiedliche Pflichtfelder, EXTENDED erweitert das Schema um zusätzliche Knoten.
Du kannst die XML-Datei manuell erstellen, wenn du dich mit XML auskennst. Sinnvoller ist aber eine Software, die das für dich übernimmt. Tools wie SimplyBills erzeugen die XML-Daten automatisch aus deinen Eingaben und stellen sicher, dass das Schema eingehalten wird.
Die XML-Datei heißt bei ZUGFeRD immer factur-x.xml und folgt dem Cross Industry Invoice (CII) Standard. Das unterscheidet sie von XRechnung, die auf UBL oder ebenfalls CII basieren kann.
Schritt 3: PDF/A-3 erstellen
Ein normales PDF reicht nicht. ZUGFeRD verlangt das Format PDF/A-3. Der Unterschied zu einem gewöhnlichen PDF: PDF/A-3 erlaubt es, beliebige Dateien einzubetten. Genau das brauchen wir für die XML-Datei. PDF/A-1 und PDF/A-2 erlauben das nicht in der notwendigen Form.
Außerdem ist PDF/A ein Archivierungsformat. Schriften werden eingebettet, Transparenzen aufgelöst, JavaScript ist verboten, Verschlüsselung ist nicht erlaubt. Das garantiert, dass die Rechnung auch in zehn Jahren noch genauso aussieht wie heute — wichtig für die GoBD-konforme Archivierung.
Zur PDF/A-3-Erzeugung setzen viele Lösungen — darunter SimplyBills — auf das Open-Source-Tool Ghostscript. Ghostscript konvertiert ein Standard-PDF in PDF/A-3, bettet ICC-Farbprofile und Schriften ein und bereitet das Dokument für den XML-Anhang vor. Wer den Begriff "ghostscript zugferd" recherchiert, findet genau diesen Schritt.
Schritt 4: XML in PDF einbetten
Jetzt müssen PDF und XML zusammenkommen. Die XML-Datei wird als Anhang in die PDF/A-3-Datei eingebettet. Dabei wird sie mit einem speziellen Relationship-Typ ("Alternative") verknüpft, der Leseprogrammen signalisiert: "Hier steckt eine maschinenlesbare Rechnung drin." Zusätzlich werden XMP-Metadaten gesetzt, die die ZUGFeRD-Version und das Profil ausweisen.
Wenn du eine Bibliothek wie Mustang (Java) oder facturx (Python) verwendest, passiert das automatisch. Du gibst PDF und XML-Daten rein, die Bibliothek spuckt eine fertige ZUGFeRD-Datei aus. SimplyBills nutzt intern eine ähnliche Pipeline und liefert direkt das fertige PDF — inklusive XMP-Metadata und korrektem Relationship-Tag.
Schritt 5: Validierung
Bevor du die Rechnung verschickst, solltest du sie validieren. Die Validierung prüft zwei Dinge:
- Ist die XML-Datei schema-konform? Stimmen Datentypen, Pflichtfelder, Wertebereiche?
- Sind die Geschäftsregeln eingehalten? Zum Beispiel: Stimmt die Summe der Einzelpositionen mit dem Gesamtbetrag überein? Passen Netto, USt und Brutto rechnerisch?
Für die Validierung gibt es kostenlose Online-Tools. Die KoSIT stellt einen Validator bereit, der auch ZUGFeRD-Dateien akzeptiert. Auch der Factur-X-Validator aus Frankreich funktioniert mit ZUGFeRD-Dateien. Wer es lokal mag, kann den Open-Source-Validator Mustangproject über die Kommandozeile laufen lassen. Im Idealfall validiert deine Rechnungssoftware automatisch, bevor sie die Datei erzeugt — bei SimplyBills passiert das im Hintergrund.
So sieht eine ZUGFeRD-PDF aus
Von außen sieht eine ZUGFeRD-Rechnung aus wie ein ganz normales PDF. Dein Kunde öffnet die Datei in seinem PDF-Reader und sieht eine formatierte Rechnung mit Logo, Positionen, Beträgen. Nichts Ungewöhnliches.
Der Unterschied wird sichtbar, wenn du in die Anhänge des PDFs schaust. Dort findest du die Datei factur-x.xml. In Adobe Acrobat siehst du das im Bereich "Anlagen" oder "Attachments". Manche PDF-Reader zeigen ein kleines Büroklammer-Symbol. Auch die XMP-Metadaten im PDF tragen einen ZUGFeRD-Marker, an dem Buchhaltungssoftware sofort erkennt, dass eine strukturierte Rechnung vorliegt.
Für den Empfänger ändert sich wenig. Er kann die Rechnung lesen, ausdrucken, ablegen. Aber seine Buchhaltungssoftware kann die XML-Daten extrahieren und automatisch verbuchen. Kein Abtippen, keine OCR-Erkennung, keine Fehler.
Versand per E-Mail
ZUGFeRD-Rechnungen kannst du ganz normal per E-Mail verschicken. Die PDF-Datei geht als Anhang raus, fertig. Das ist einer der großen Vorteile gegenüber XRechnung: Du brauchst kein spezielles Portal und kein PEPPOL-Netzwerk. Mehr zum gesetzlichen Rahmen findest du in der Übersicht zur E-Rechnungspflicht 2025–2028 und im Praxisleitfaden zur B2B-E-Rechnungspflicht.
Ein paar Punkte, die du beachten solltest:
- Dateiname: Verwende einen sprechenden Namen wie Rechnung-2026-0042.pdf. Das erleichtert die Zuordnung beim Empfänger.
- Dateigröße: ZUGFeRD-PDFs sind etwas größer als normale PDFs, weil die XML-Daten und die PDF/A-3-Konformität Platz brauchen. Trotzdem bleiben sie in der Regel unter 1 MB.
- Betreffzeile: Nenne die Rechnungsnummer im Betreff. Klingt banal, spart aber Rückfragen.
- Signatur: Eine qualifizierte elektronische Signatur ist für ZUGFeRD nicht vorgeschrieben. Sie kann aber sinnvoll sein, wenn dein Kunde Wert darauf legt.
- Archivkopie: Lege jede versendete ZUGFeRD-Datei revisionssicher ab — mindestens 10 Jahre, GoBD-konform.
Viele Unternehmen versenden ZUGFeRD-Rechnungen direkt aus ihrer Buchhaltungssoftware. So stellst du sicher, dass der Prozess konsistent läuft und keine manuelle Nacharbeit nötig ist.
Anwendungsfälle: B2B, B2G und B2C
ZUGFeRD ist nicht für jeden Geschäftsvorfall die richtige Wahl. Drei typische Szenarien:
B2B — der Standardfall
Im klassischen Geschäftskundenverkehr ist ZUGFeRD ab 2025 für viele Empfänger Pflicht-tauglich: Jedes deutsche Unternehmen muss strukturierte E-Rechnungen empfangen und verarbeiten können. Mit ZUGFeRD BASIC oder COMFORT bist du auf der sicheren Seite. Der Empfänger sieht ein lesbares PDF, seine Software extrahiert die XML-Daten automatisch.
B2G — Behörden und öffentliche Auftraggeber
Hier wird es etwas anspruchsvoller. Viele Behörden verlangen explizit XRechnung statt ZUGFeRD. Akzeptiert eine Behörde ZUGFeRD, muss es mindestens das Profil EN 16931 (COMFORT) sein. MINIMUM und BASIC reichen nicht. Vorab klären, was der Auftraggeber konkret erwartet — manche akzeptieren ZUGFeRD nur, wenn das XRECHNUNG-Profil verwendet wird.
B2C — Privatkunden
Für Privatkunden bist du nicht verpflichtet, eine E-Rechnung im strukturierten Sinne zu liefern. Eine ZUGFeRD-Datei schadet aber nicht: Der Kunde sieht ein normales PDF und kann es genauso öffnen wie bisher. Die XML-Schicht stört nicht. Wer trotzdem ein klassisches PDF bevorzugt, kann SimplyBills auch ohne ZUGFeRD-Layer nutzen.
Häufige Fehler beim Erstellen
Einige Stolperfallen tauchen immer wieder auf. Hier die häufigsten:
- Falsches PDF-Format: PDF statt PDF/A-3. Die Rechnung sieht gleich aus, ist aber technisch nicht ZUGFeRD-konform. Buchhaltungssoftware lehnt die Datei ab.
- Profil und Daten passen nicht zusammen: Du wählst BASIC, lieferst aber keine Einzelpositionen. Die Schema-Validierung schlägt fehl.
- Beträge in PDF und XML weichen ab: Wenn die sichtbare PDF-Rechnung 1.190 Euro zeigt, die XML-Datei aber 1.180 Euro enthält, ist das ein Problem. Beide müssen übereinstimmen.
- Fehlende Pflichtfelder: Je nach Profil sind bestimmte Felder verpflichtend. Ein fehlendes Feld macht die XML-Datei ungültig.
- Falsches Relationship-Tag: Wird die XML mit "Source" statt "Alternative" eingebettet, erkennen viele Reader die ZUGFeRD-Struktur nicht.
- Kleinunternehmer-Hinweis fehlt: Wer §19 UStG nutzt, muss das in der XML-Datei kennzeichnen — sonst läuft die Steuerberechnung beim Empfänger ins Leere. Siehe E-Rechnung für Kleinunternehmer.
Sonderfall Kleinunternehmer und Freiberufler
Kleinunternehmer nach §19 UStG müssen keine Umsatzsteuer ausweisen, sind aber trotzdem verpflichtet, ab 2025 strukturierte Rechnungen zu empfangen — und ab 2027/2028 zu versenden. ZUGFeRD bietet hier einen sanften Einstieg: Das PDF sieht aus wie früher, die XML-Schicht erfüllt die gesetzliche Anforderung.
In der XML wird der Kleinunternehmer-Hinweis über den Steuer-Code "E" (Exempt from tax) mit Begründung "Kleinunternehmer gem. §19 UStG" kodiert. Tools wie SimplyBills setzen das automatisch, sobald du in den Stammdaten die Kleinunternehmerregelung aktivierst.
Freiberufler, die hauptsächlich Stunden- oder Pauschalleistungen abrechnen, fahren mit BASIC am besten. Für detailliertere Workflows lohnt sich der Blick in die Anleitung für Freiberufler-Rechnungen.
Der schnellere Weg: ZUGFeRD mit SimplyBills
All diese Schritte manuell umzusetzen ist möglich, aber aufwendig. Vor allem die Kombination aus PDF/A-3-Erzeugung, XML-Generierung und Einbettung erfordert technisches Know-how.
Mit einer Software wie SimplyBills gibst du einfach deine Rechnungsdaten ein und bekommst eine fertige, validierte ZUGFeRD-Datei. Profil wählen, Daten eingeben, Rechnung erstellen — fertig. Die Software kümmert sich um den Rest: PDF/A-3-Konvertierung via Ghostscript, XML-Generierung nach EN 16931, Einbettung mit korrektem Relationship-Tag, XMP-Metadaten und Validierung in einem Schritt.
SimplyBills erzeugt ZUGFeRD 2.x im Profil BASIC oder COMFORT — je nach Empfänger. Der Free-Plan erlaubt fünf ZUGFeRD-Rechnungen pro Monat, perfekt für Solo-Selbstständige mit geringem Volumen. Wer mehr braucht oder Zusatzfunktionen wie Stornorechnungen, Logo, Mahnungen oder KI-Scan nutzen möchte, wechselt für 9 €/Monat in den Pro-Plan.
Wer eine bestehende Papier- oder PDF-Rechnung in eine E-Rechnung umwandeln will, findet in der PDF-zu-E-Rechnung-Anleitung einen KI-gestützten Workflow, der ZUGFeRD direkt aus einem gescannten Beleg generiert.
FAQ — Häufige Fragen zu ZUGFeRD
Was ist ZUGFeRD?
ZUGFeRD ist ein hybrides E-Rechnungsformat: Eine PDF/A-3-Datei mit eingebetteter XML (factur-x.xml) nach EN 16931. Menschen lesen das PDF, Buchhaltungssoftware verarbeitet die strukturierten XML-Daten automatisch.
ZUGFeRD vs. PDF — was ist der Unterschied?
Ein normales PDF enthält nur eine visuelle Darstellung. ZUGFeRD ist technisch ein PDF/A-3 (Archivierungsformat) mit einer eingebetteten XML-Datei, die alle Rechnungsdaten strukturiert enthält. Optisch sind beide nicht zu unterscheiden — der Unterschied liegt im Anhang und in den XMP-Metadaten.
Welche ZUGFeRD-Version 2.x sollte ich nutzen?
Empfohlen ist die aktuelle Version 2.3. Version 2.0 und 2.1 sind ebenfalls noch konform, Version 2.2 wird breit unterstützt. Version 1.0 ist veraltet und sollte nicht mehr produktiv eingesetzt werden, da sie nicht EN-16931-konform ist.
Darf ich eine ZUGFeRD-Rechnung an Privatkunden schicken?
Ja, das ist erlaubt. Privatkunden sehen ein normales PDF und können es wie gewohnt öffnen. Die XML-Schicht stört nicht. Eine Pflicht zur strukturierten Rechnung gibt es im B2C-Bereich nicht.
Wie validiere ich eine ZUGFeRD-Rechnung?
Kostenlos über den KoSIT-Validator oder den Factur-X-Validator online. Lokal eignet sich das Open-Source-Tool Mustangproject. Profi-Software wie SimplyBills validiert die ZUGFeRD-Datei automatisch beim Export.
Kann ich ZUGFeRD kostenlos erstellen?
Ja. Der Free-Plan von SimplyBills enthält 5 ZUGFeRD-Rechnungen pro Monat. Open-Source-Alternativen wie Mustang (Java) oder facturx (Python) erlauben unbegrenzte ZUGFeRD-Erzeugung, erfordern aber technisches Setup inklusive Ghostscript.
ZUGFeRD vs. XRechnung — wann nutze ich was?
ZUGFeRD für B2B und B2C, weil das PDF lesbar bleibt. XRechnung für B2G (öffentliche Auftraggeber), weil viele Behörden explizit XRechnung verlangen. Detail-Vergleich im Artikel XRechnung vs. ZUGFeRD.
Zusammenfassung
ZUGFeRD ist ein hybrides Rechnungsformat aus PDF/A-3 und eingebettetem XML nach EN 16931. Du wählst ein Profil (meist BASIC oder COMFORT), stellst deine Rechnungsdaten zusammen, erzeugst eine XML-Datei, bettest sie in ein PDF/A-3 ein und validierst das Ergebnis. Verschickt wird per E-Mail als normaler PDF-Anhang — kein Portal, kein PEPPOL.
Der Aufwand hängt stark davon ab, ob du den Prozess manuell oder mit einer Software umsetzt. Manuell brauchst du Ghostscript, eine XML-Bibliothek und einen Validator. Mit SimplyBills reichen wenige Klicks: Daten eingeben, Profil wählen, exportieren. In jedem Fall ist ZUGFeRD der pragmatischste Weg, um E-Rechnungen im B2B-Bereich zu erstellen und zu versenden — und der einzige, bei dem dein Kunde die Rechnung weiterhin als lesbares PDF erhält.