Guides
XRechnung, ZUGFeRD, PDF: welches Format wann zählt
Drei Dateien, die alle eine Rechnung sein wollen, und nur zwei davon zählen. Was die Formate unterscheidet, welches du selbst verschickst, und woran du erkennst, dass eine Datei nicht reicht.
- Stand

Seit dem 1. Januar 2025 landen im Postfach Dateien, die alle eine Rechnung sein wollen und dabei verschieden aussehen. Eine ist eine PDF und lässt sich öffnen. Eine ist eine XML-Datei und sieht im Browser aus wie ein Fehler. Eine dritte ist beides gleichzeitig. Ob eine davon eine E-Rechnung im Sinne des Gesetzes ist, hängt nicht daran, was du siehst, sondern daran, was in der Datei steht.
Danach weißt du:
- woran du erkennst, ob eine eingegangene Datei als E-Rechnung zählt
- welches Format du selbst verschickst, und warum die Frage kleiner ist als sie klingt
- welche zwei ZUGFeRD-Varianten durchfallen, obwohl ZUGFeRD draufsteht
Was eine E-Rechnung von einer PDF unterscheidet
Eine PDF trägt ein Bild von Zahlen. Wer sie ansieht, erkennt die Rechnungsnummer, den Betrag und den Steuersatz, aber ein Programm sieht nur Striche auf einer Fläche. Eine E-Rechnung trägt die Zahlen selbst: die Rechnungsnummer steht in einem Feld, das Rechnungsnummer heißt, der Betrag in einem, das Betrag heißt. Deshalb kann eine Buchhaltung sie einlesen, ohne dass jemand abtippt.
Welche Felder es gibt und wie sie heißen, legt eine europäische Norm fest, die EN 16931. Alles, was diese Norm erfüllt, ist eine E-Rechnung. In Deutschland begegnen dir davon zwei Ausprägungen, und der Unterschied zwischen ihnen ist kleiner, als die zwei Namen vermuten lassen.
XRechnung: nur die Daten
Die XRechnung ist eine reine XML-Datei. Sie hat keine Ansicht. Wer sie doppelklickt, bekommt Zeichensalat zu sehen, und das ist kein Fehler, sondern der Zweck: die Datei ist für Programme gemacht, nicht für Augen. Um sie zu lesen, brauchst du ein Rechnungsprogramm oder einen kostenlosen Betrachter.
Sie ist der Standard für Rechnungen an öffentliche Auftraggeber. Wer an eine Behörde stellt, kommt an ihr meist nicht vorbei und braucht zusätzlich die Leitweg-ID: eine Kennung, die der Empfänger vorgibt und ohne die die Rechnung dort abgewiesen wird.
Gültig ist derzeit XRechnung 3.0, technisch als Bundle 3.0.2 mit halbjährlichen Fehlerkorrekturen, zuletzt vom 31. August 2026. Die Betreiber haben festgelegt, dass 3.0 bis mindestens 31. Juli 2027 in Kraft bleibt. Eine Vorversion der Fassung 4.0 ist am 15. September 2026 erschienen, die endgültige Fassung wird für das Frühjahr 2027 erwartet; sie folgt der überarbeiteten europäischen Norm. Eile entsteht daraus nicht: alte und neue Fassung laufen eine Zeit lang nebeneinander, und dein Programm bringt die neue mit einem Update mit.
ZUGFeRD: Bild und Daten in einer Datei
ZUGFeRD ist eine PDF, in der die XML-Datei mitliegt. Wer sie öffnet, sieht eine gewohnte Rechnung. Wer sie einliest, bekommt dieselben Felder wie bei der XRechnung. Beides steckt in derselben Datei, und keiner der beiden Wege stört den anderen.
Deshalb ist ZUGFeRD zwischen Firmen der Normalfall. Du musst nicht wissen, ob dein Kunde schon eine Software hat, die strukturierte Rechnungen einliest. Hat er eine, liest sie mit. Hat er keine, sieht sein Mitarbeiter die Rechnung wie immer.
Aktuell ist ZUGFeRD 2.5.2, veröffentlicht am 4. August 2026 als Korrektur der Fassung 2.5 vom 10. Juni 2026. Die Fassung 2.4 vom 4. Dezember 2025 ist damit nicht ungültig geworden: das Finanzministerium erkennt alles ab ZUGFeRD 2.0.1 an, und die Versionssprünge betreffen fast nur das Profil EXTENDED und die Codelisten. In Frankreich heißt dasselbe Format Factur-X, dort in der Fassung 1.09.2. Es ist wirklich dasselbe Format mit zwei Namen: wer eine Factur-X aus Frankreich bekommt, hat eine gültige E-Rechnung im Postfach.
Die Stelle, an der es klemmt: die Profile
ZUGFeRD gibt es in Ausbaustufen, Profile genannt, und nicht jede reicht aus:
- MINIMUM: nur ein paar Kopfdaten, gedacht als Hilfe für die Buchung. Keine E-Rechnung.
- BASIC-WL: ohne Rechnungspositionen, das WL steht für without lines. Keine E-Rechnung.
- BASIC, EN 16931 (früher COMFORT genannt), EXTENDED und das Profil XRECHNUNG: reichen aus.
Der Ärger daran ist, dass auf allen ZUGFeRD steht. Ein Programm, das MINIMUM erzeugt, meldet keinen Fehler, und der Empfänger merkt es erst, wenn seine Buchhaltung nach den Positionen sucht und keine findet. Wenn du in deinem Rechnungsprogramm eine einzige Einstellung nachsiehst, dann diese.
Wann eine PDF noch zählt
Eine gewöhnliche PDF ohne eingebettete Daten ist seit 2025 keine E-Rechnung mehr, sondern eine sonstige Rechnung. Verboten ist sie damit nicht. Sie ist nur nicht das, was die Pflicht meint.
Solange die Pflicht zum Ausstellen dich noch nicht trifft, darfst du weiter PDFs verschicken, wenn der Empfänger damit einverstanden ist. Ausgenommen bleiben außerdem Kleinbetragsrechnungen bis 250 Euro, Rechnungen von Kleinunternehmern und Fahrausweise. Beim Empfangen gilt nichts davon: eine E-Rechnung annehmen können musst du seit dem 1. Januar 2025, und dafür ist keine Ausnahme vorgesehen.
Welches Format du selbst verschickst
Die kurze Antwort: an Behörden XRechnung, an Firmen ZUGFeRD. Die längere: die Frage ist kleiner, als sie klingt. Beide erfüllen dieselbe Norm, beide werden von jedem Programm gelesen, das E-Rechnungen einliest, und die meisten Rechnungsprogramme haben den Haken für beides längst eingebaut.
Wichtiger als die Wahl ist, dass du eine einzige Ausgangsrechnung prüfst, bevor du hundert davon verschickst. Fällt sie durch, liegt es fast immer am Profil oder an einem leeren Pflichtfeld, und beides ist eine Einstellung, keine Neuanschaffung.
Was du tust, wenn etwas Unbekanntes ankommt
Vier Schritte, in dieser Reihenfolge:
- Sieh dir die Endung an. Eine .xml deutet auf eine XRechnung. Eine .pdf kann beides sein, eine gewöhnliche PDF oder eine ZUGFeRD, und von außen sieht man ihr das nicht an.
- Lass die Datei prüfen. Dafür gibt es kostenlose Werkzeuge, die in einem Durchlauf sagen, ob die Datei der Norm entspricht und welches Profil sie hat.
- Sieh dir das Profil an. Steht dort MINIMUM oder BASIC-WL, hast du keine E-Rechnung bekommen, auch wenn ZUGFeRD draufsteht.
- Ruf beim Absender an. In den allermeisten Fällen ist es eine falsch gesetzte Einstellung, und der Absender weiß selbst nichts davon.
Das Prüfen haben wir in ein Shell-Skript gepackt, das Mustang-CLI aufruft, den Prüfbericht liest und das Profil in einer Liste nachschlägt. Am 18. September 2026 haben wir es über vier selbst erzeugte Dateien laufen lassen, eine XRechnung-nahe XML im Profil EN 16931, eine XML im Profil MINIMUM, eine PDF mit eingebetteter XML und eine gewöhnliche PDF. Für die MINIMUM-Datei sieht das so aus:
Datei: testdaten/rechnung_minimum.xml
Mustang: 2.26.0, Rückgabewert 0, Gesamturteil: valid, Fehlermeldungen: 0
Profil: MINIMUM
Kennung: urn:factur-x.eu:1p0:minimum
Pflicht: erfüllt das Profil die E-Rechnungspflicht? nein
Ergebnis: keine E-Rechnung im Sinne der Pflicht. Beim Absender nach dem Exportformat fragen.Die zweite Zeile ist die, die den Ärger erklärt: Mustang sagt „valid“, weil die Datei alle Regeln ihres Profils einhält. Dass das Profil nicht reicht, steht nirgends im Prüfbericht, sondern nur im BMF-Schreiben. Ein Prüfwerkzeug allein beantwortet die Frage also nicht; man muss die Kennung gegen eine Liste halten, und die ist kurz genug, um sie im Paket mitzuliefern.
Beim Bauen ist uns eine zweite Stelle aufgefallen. Unsere erste Test-PDF hatte die XML nur als Dateianhang, ohne die XMP-Metadaten, die der ZUGFeRD-Standard in der PDF verlangt. Mustang meldete dazu „XML could not be extracted“ und behandelte die Datei wie eine gewöhnliche PDF. Erst mit den Metadaten fand es die Daten. Das ist kein Fehler des Werkzeugs, sondern die Norm: eine PDF, an die jemand nur eine XML angehängt hat, ist keine ZUGFeRD-Rechnung, auch wenn die XML darin einwandfrei ist.
Zum Nachbauen
Das Paket zu diesem Beitrag enthält den Spickzettel, die Profilliste, das Prüfskript und die vier Testdateien. Mustang-CLI selbst liegt nicht bei, weil die Datei 59 MB groß ist; die README nennt den Download mit Version und Prüfsumme. Entpacken, Java und Mustang bereitlegen, dann:
- spickzettel.md: die drei Dateitypen, die Profile mit Pflichtstatus und die Anhaltspunkte, an denen du eine Datei ohne Werkzeug erkennst
- profile.csv: die Profilkennungen, wie sie in der XML stehen, mit Name, Pflichtstatus und Quelle; das Skript schlägt hier nach
- pruefe_datei.sh: prüft eine PDF oder XML mit Mustang, nennt Profil und Urteil, zieht mit --xml die eingebettete XML heraus; Rückgabewert 0 nur, wenn Profil und Prüfung stimmen
- testdaten/: die vier Dateien, mit denen die Ausgabe oben entstanden ist
XRechnung, ZUGFeRD, PDF: Spickzettel, Profilliste und Prüfskript
HerunterladenStand dieses Artikels
Geprüft am 10. September 2026, Versionen und Skript nachgeprüft am 18. September 2026. XRechnung 3.0 (Bundle 3.0.2, Korrekturstand vom 31. August 2026), in Kraft bis mindestens 31. Juli 2027; Vorversion 4.0 vom 15. September 2026, endgültige Fassung für Frühjahr 2027 angekündigt (Quelle: xeinkauf.de). ZUGFeRD 2.5.2 vom 4. August 2026, entspricht Factur-X 1.09.2; ZUGFeRD 2.4 vom 4. Dezember 2025, in Kraft seit 15. Januar 2026 (Quelle: ferd-net.de). Die Einordnung der Profile folgt dem BMF-Schreiben zur obligatorischen E-Rechnung vom 15. Oktober 2025, Randziffer 14. Das Prüfskript ist mit Mustang-CLI 2.26.0 vom 25. August 2026 und Java 21 gegen die vier selbst erzeugten Testdateien gelaufen; gegen Rechnungen aus einem echten Rechnungsprogramm haben wir es an diesem Tag nicht geprüft. Die Test-PDF ist kein vollwertiges PDF/A-3, Mustang meldet das im PDF-Teil des Berichts und bewertet die Datei trotzdem nach der XML als gültig.
Häufige Fragen
Ist eine PDF mit einer Rechnung darin eine E-Rechnung?
Nein, solange in der PDF keine strukturierten Daten mitliegen. Eine gewöhnliche PDF, auch eine sehr ordentliche, ist eine sonstige Rechnung. Eine ZUGFeRD-Datei sieht von außen genauso aus, trägt die Daten aber im Inneren mit.
Muss ich mich zwischen XRechnung und ZUGFeRD entscheiden?
Nur beim Ausstellen, und auch dort nicht endgültig. Empfangen musst du beide. Die meisten Betriebe verschicken ZUGFeRD an Firmen und XRechnung an Behörden, weil die Behörde es so verlangt.
Woran erkenne ich das Profil einer ZUGFeRD-Rechnung?
Es steht in der eingebetteten XML-Datei und wird von jedem Prüfwerkzeug angezeigt. Am geöffneten PDF, also von außen, ist es nicht zu sehen. Ob das Profil reicht, sagt das Werkzeug nicht; das steht in der Profilliste im Paket.

Was die GoBD von einem automatischen Ablauf verlangt
Der Ablauf läuft, und dann fragt jemand, ob man das überhaupt darf. Vier Anforderungen betreffen einen automatischen Rechnungseingang wirklich — und drei verbreitete Behauptungen darüber stimmen nicht.

Was ist n8n, und wofür lohnt es sich wirklich
n8n verbindet Programme miteinander und lässt einen Ablauf danach ohne dich weiterlaufen. Was das kostet, was die Lizenz wirklich erlaubt und wann sich der Aufbau nicht rechnet, steht hier mit Zahlen und mit Datum.

n8n auf Hetzner Cloud selbst hosten
Eine n8n-Instanz auf einem Server in Deutschland: Maschine wählen, Standort setzen, mit Docker Compose aufsetzen. Gemessen: 355 MB im Leerlauf, 16,6 Sekunden bis zur Anmeldeseite, und eine Sicherung, die beim Wiederherstellen bestanden hat.