5IT GmbH · Arbeitsblatt

E-Rechnung — wie der Vorgang aussieht

Diese Seite beantwortet drei Fragen: was eine E-Rechnung überhaupt ist, wie sie entsteht und geprüft wird, und was im Haus dafür zu tun ist.

Alle Beispiele sind neutral. Auf dieser Seite stehen keine echten Rechnungsdaten, keine Kundennamen und keine Bankverbindung. Zum Ausprobieren liegt eine Musterrechnung bereit.

1 · Was eine E-Rechnung ist

Eine E-Rechnung ist keine PDF-Rechnung per Mail. Ein eingescanntes oder gedrucktes PDF bleibt ein Bild — ein Programm kann daraus nichts verlässlich auslesen. Eine E-Rechnung ist eine einzige Datei mit zwei Schichten:

Die sichtbare Schicht Das PDF, das Menschen lesen. Sieht aus wie jede Rechnung und lässt sich ganz normal öffnen, drucken und ablegen.
Die unsichtbare Schicht Eine XML-Datei im PDF. Dort stehen Beträge, Steuersätze, Adressen und Positionen als Daten — das liest die Buchhaltung des Empfängers maschinell ein.
Beide Schichten müssen dasselbe sagen. Steht im PDF ein anderer Betrag als im XML, ist die Rechnung fehlerhaft — auch wenn sie auf dem Bildschirm tadellos aussieht. Deshalb wird nicht getippt, sondern beides aus derselben Quelle erzeugt.

Zum Ansehen: eine Musterrechnung

Eine vollständige, gültige E-Rechnung mit erfundenen Daten. Öffnen Sie sie wie ein normales PDF — das XML steckt unsichtbar darin.

Musterrechnung herunterladen (PDF) Das XML darin ansehen

Wer die beiden vergleicht, sieht den Punkt sofort: dieselben Zahlen, einmal für Menschen gesetzt, einmal für Maschinen.

Zum Selberprüfen gibt es eine Oberfläche. Rechnung hineinziehen, Klartext-Urteil heraus — ohne Kommandozeile. Sie läuft im Netz der 5IT GmbH; wo sie für Ihr Haus erreichbar sein soll, klären wir gemeinsam. Die Befehle unten sind der Unterbau davon.

2 · Der Vorgang in fünf Schritten

So läuft es mit dem Prüfwerkzeug, das auf dem Anwendungsserver eingerichtet ist. Geprüft wird gegen EN 16931 — die europäische Norm, auf die sich alle berufen.

#SchrittWas dabei herauskommt
1Rechnungsdaten bereitstellen
aus der Warenwirtschaft
die Zahlen, die in beide Schichten müssen
2Sicht-PDF nach PDF/A wandeln die Archivfassung — ohne sie geht es nicht weiter
3XML erzeugen die maschinenlesbare Schicht
4Beides verbinden die fertige E-Rechnung, ein PDF
5Prüfen, erst dann versenden Gewissheit, dass der Empfänger sie annimmt
Am 30.10.2026 ist der ganze Weg durchgelaufen — an einer echten Rechnung, erzeugen, prüfen und wieder auslesen. Jeder Schritt meldete den Rückgabewert 0, das Ergebnis lautete valid. Die zurückgewonnenen Daten stimmten mit den eingesetzten überein.

Die Befehle

Schritt 2 · PDF/A erzeugen
gs -dPDFA=3 -dBATCH -dNOPAUSE -sColorConversionStrategy=RGB -sDEVICE=pdfwrite -dPDFACompatibilityPolicy=1 -sOutputFile=rechnung-pdfa.pdf rechnung.pdf
Schritt 4 · PDF und XML verbinden
mustang --action combine --source rechnung-pdfa.pdf --source-xml rechnung.xml --out erechnung.pdf --format zf --version 2 --profile E --no-additional-attachments
Schritt 5 · Prüfen
mustang --action validate --source erechnung.pdf
Gegenprobe · XML wieder herausziehen
mustang --action extract --source erechnung.pdf --out probe.xml

3 · Drei Fallen, die Zeit kosten

1 · Die Erwartungsprüfung will ein Verzeichnis, keine Datei.
--action validateExpectValid mit --source meldet 255 — und zwar bei genau derselben Datei, die validate als gültig durchwinkt. Das sieht aus wie eine abgelehnte Rechnung und ist in Wahrheit ein falscher Aufruf. Richtig ist -d <Verzeichnis>.
2 · Ein normales PDF wird abgewiesen.
Die Meldung lautet „PDF-A version not supported". Das ist kein Fehler des Werkzeugs: Das Format setzt PDF/A-3 als Hülle voraus. Deshalb steht Schritt 2 vor Schritt 4. Das Flag -i hilft hier nicht — es verzeiht Fehler in einem PDF/A, nicht das Fehlen der Kennung.
3 · Ohne --no-additional-attachments bleibt der Befehl stehen.
Er fragt nach weiteren Anhängen und wartet auf eine Eingabe, die in einem automatischen Ablauf nie kommt. Dann bricht er mit einer Fehlermeldung ab, die nach einem Programmfehler aussieht.
Eine Meldung bleibt stehen und ist in Ordnung: BR-DE-21. Das Werkzeug prüft zusätzlich gegen XRechnung — das Format für öffentliche Auftraggeber. Im Geschäftsverkehr unter Privaten ist EN 16931 das richtige Format. Der Gesamtstatus bleibt valid. Wer eine makellose Ausgabe erwartet, sucht sonst an der falschen Stelle.

4 · Was im Haus zu tun ist

Beim Empfang von Rechnungen

  1. E-Rechnungen müssen angenommen werden können. Das betrifft jeden Betrieb, der von anderen Unternehmen Rechnungen bekommt.
  2. Das XML ist das Original, nicht das PDF. Archiviert werden muss die Datei, wie sie angekommen ist — ein Ausdruck oder ein neu erzeugtes PDF genügt nicht.
  3. Eingehende Rechnungen prüfen lassen. Dasselbe Werkzeug sagt in Sekunden, ob eine Eingangsrechnung formal in Ordnung ist.

Beim Versand von Rechnungen

  1. Festlegen, womit erzeugt wird. Diese Entscheidung steht noch aus und blockiert alles Weitere.
  2. Klären, woher das PDF/A kommt. Liefert die Warenwirtschaft eines, hat der Ablauf zwei Schritte — sonst drei.
  3. Die Pflichtfelder des größten Kunden abgleichen. Dort werden Felder verlangt, die über den normalen Rechnungsinhalt hinausgehen. Sie gehören vor den ersten Echtversand geprüft, nicht danach.
  4. Jede Rechnung vor dem Versand prüfen. Eine abgelehnte Rechnung verzögert die Zahlung — die Prüfung dauert zwei Sekunden.
Die Verantwortung für den Rechnungsinhalt bleibt im Haus. Das Werkzeug prüft die Form: ob Pflichtangaben fehlen, ob die Summen zueinander passen, ob die Struktur der Norm entspricht. Ob der richtige Betrag an den richtigen Empfänger geht, prüft kein Programm.
Zu den Fristen: Die Pflicht, E-Rechnungen annehmen zu können, gilt bereits. Die Pflicht, selbst welche zu versenden, kommt gestaffelt und hängt am Vorjahresumsatz. Welches Datum für einen bestimmten Betrieb gilt, gehört beim Steuerberater erfragt — hier steht bewusst keine Jahreszahl, weil eine falsche teurer wäre als eine fehlende.
5IT GmbH · Ulrichstr. 69 · 82057 Icking · Telefon 089 250078420 · ms@5it.de
Arbeitsblatt vom 30.10.2026. Alle Beispiele auf dieser Seite sind erfunden.