Zurück zum Blog

ZUGFeRD-Rechnung erstellen: Schritt-für-Schritt-Anleitung

Veröffentlicht am 15. Januar 2026von Invapi Team
ZUGFeRDAnleitungE-RechnungPDF

ZUGFeRD-Rechnung erstellen: Schritt-für-Schritt-Anleitung

ZUGFeRD ist eines der beliebtesten E-Rechnungsformate in Deutschland, weil es zwei Welten vereint: eine visuell lesbare PDF-Rechnung und eine maschinenlesbare XML-Datei in einem einzigen Dokument. In dieser Anleitung erfahren Sie, wie Sie eine konforme ZUGFeRD-Rechnung erstellen.

Was genau ist eine ZUGFeRD-Rechnung?

Eine ZUGFeRD-Rechnung ist ein PDF/A-3-Dokument mit einer eingebetteten CII-XML-Datei (Cross-Industry Invoice). Das PDF enthält die visuelle Darstellung der Rechnung, wie Sie sie von klassischen PDF-Rechnungen kennen. Zusätzlich ist eine XML-Datei als Anhang im PDF eingebettet, die alle Rechnungsdaten in strukturierter, maschinenlesbarer Form enthält. Ab ZUGFeRD 2.1 heißt diese Datei factur-x.xml (in ZUGFeRD 2.0 noch zugferd-invoice.xml).

Der Vorteil: Empfänger ohne spezielle Software sehen eine normale PDF-Rechnung. Empfänger mit E-Rechnungssystemen können die Daten automatisiert auslesen und weiterverarbeiten.

Die ZUGFeRD-Profile

ZUGFeRD 2.x (aktuell in Version 2.4, entspricht Factur-X 1.08) bietet verschiedene Profile, die sich im Umfang der enthaltenen Daten unterscheiden:

Minimum

Enthält nur grundlegende Kopfdaten (Rechnungsnummer, Datum, Gesamtbetrag). Geeignet für die reine Archivierung, aber nicht für die automatisierte Verarbeitung.

Basic WL (Without Lines)

Erweitert das Minimum-Profil um Verkäufer- und Käuferinformationen sowie Umsatzsteueraufschlüsselung, enthält aber keine einzelnen Rechnungspositionen.

Basic

Wie Basic WL, aber mit Rechnungspositionen. Die erste Stufe, die eine sinnvolle automatisierte Verarbeitung ermöglicht.

EN 16931 (Comfort)

Bildet das vollständige europäische Datenmodell EN 16931 ab. Dieses Profil ist die Basis für die gesetzliche E-Rechnungspflicht und deckt alle Pflichtfelder der europäischen Norm ab.

Extended

Ermöglicht zusätzliche Felder über EN 16931 hinaus, etwa für branchenspezifische Anforderungen.

XRechnung

Ein spezielles Profil, das die XRechnung-CIUS vollständig abbildet und damit auch für Rechnungen an öffentliche Auftraggeber geeignet ist.

Für die meisten Anwendungsfälle empfehlen wir mindestens das Profil EN 16931 (Comfort), da es die gesetzlichen Anforderungen erfüllt.

Pflichtfelder einer ZUGFeRD-Rechnung

Ab dem Profil EN 16931 (Comfort) sind folgende Kernangaben erforderlich:

  • Rechnungsnummer (BT-1)
  • Rechnungsdatum (BT-2)
  • Währungscode (BT-5), z. B. EUR
  • Verkäufer: Name, Adresse, Umsatzsteuer-ID
  • Käufer: Name, Adresse
  • Rechnungspositionen: Bezeichnung, Menge, Einzelpreis, Umsatzsteuersatz
  • Gesamtbeträge: Netto, Umsatzsteuer, Brutto
  • Zahlungsinformationen: Fälligkeitsdatum, Zahlungsart, IBAN

Schritt-für-Schritt: ZUGFeRD-Rechnung erstellen

Schritt 1: Rechnungsdaten strukturieren

Erfassen Sie alle Rechnungsdaten in einem strukturierten Format. Bei invapi verwenden Sie dafür ein JSON-Objekt mit allen relevanten Feldern — Verkäufer, Käufer, Positionen, Beträge und Zahlungsinformationen.

Schritt 2: PDF vorbereiten

Erstellen Sie eine visuelle PDF-Rechnung mit Ihrem gewohnten Layout und Branding. Das PDF dient als Grundlage und wird zum PDF/A-3-Container. Achten Sie darauf, dass die Angaben im PDF mit den XML-Daten übereinstimmen.

Schritt 3: CII-XML erzeugen

Die maschinenlesbare XML-Datei muss im UN/CEFACT Cross-Industry Invoice Format vorliegen. Manuell ist das fehleranfällig — hier empfiehlt sich ein automatisiertes Tool oder eine API.

Schritt 4: XML in PDF einbetten

Die CII-XML-Datei wird als Anhang in das PDF eingebettet. Dabei muss das PDF dem PDF/A-3-Standard entsprechen und die XML-Datei als verknüpften Anhang mit dem richtigen MIME-Type referenzieren.

Schritt 5: Validieren

Vor dem Versand sollten Sie die erzeugte ZUGFeRD-Rechnung validieren. Die Validierung prüft sowohl die XML-Struktur als auch die Einhaltung der EN 16931-Geschäftsregeln.

Der einfache Weg mit invapi

Die Schritte 3 bis 5 können Sie mit der invapi API automatisieren. Übergeben Sie Ihre Rechnungsdaten als JSON zusammen mit einer PDF-Datei, und invapi erzeugt eine vollständige, validierte ZUGFeRD-Rechnung.

Der Ablauf über die API:

  1. Rechnungsdaten als JSON zusammenstellen
  2. PDF hochladen und zusammen mit dem JSON an den ZUGFeRD-Endpunkt senden
  3. Validierte ZUGFeRD-PDF als Ergebnis erhalten

Die Konvertierung, Einbettung und Validierung übernimmt die API. Sie können mit dem kostenlosen Plan direkt starten.

Fazit

ZUGFeRD-Rechnungen vereinen das Beste aus zwei Welten: menschliche Lesbarkeit und maschinelle Verarbeitbarkeit. Der Erstellungsprozess erfordert zwar mehr als eine einfache PDF-Erstellung, lässt sich aber mit den richtigen Werkzeugen vollständig automatisieren. Wer sich jetzt mit ZUGFeRD vertraut macht, ist für die E-Rechnungspflicht bestens vorbereitet.