Ein PDF ist nicht automatisch eine strukturierte E-Rechnung
Eine PDF-Datei kann eine Rechnung für Menschen gut lesbar darstellen. Ihre Informationen sind damit aber noch nicht in einem einheitlichen, maschinell lesbaren Rechnungsformat organisiert.
Für einen PDF-Beleg werden die benötigten Felder aus Text oder Bildinhalt gewonnen. Anschließend muss kontrolliert werden, ob die erkannten Angaben tatsächlich die passenden Rechnungsdaten sind.
Wie sich XRechnung und ZUGFeRD unterscheiden
XRechnung basiert auf strukturierten XML-Rechnungsdaten. Bei ZUGFeRD werden eine PDF-Darstellung und eingebettete XML-Daten miteinander verbunden. Der konkrete Aufbau hängt vom jeweiligen Profil und der Formatversion ab.
Für die Verarbeitung ist deshalb zuerst das Format zu erkennen. Vorhandene strukturierte Daten sollten direkt berücksichtigt werden, statt sie ausschließlich aus einer sichtbaren Dokumentansicht erneut zu schätzen.
Auslesen und Validieren sind zwei Aufgaben
Ein Parser kann Felder aus einem Dokument übernehmen. Eine Validierung prüft zusätzlich, ob die Datei zu einem erwarteten Schema und den vorgesehenen Regeln passt. Die inhaltliche Rechnungsprüfung ist wiederum ein weiterer Schritt.
Diese Ebenen dürfen nicht verwechselt werden. Auch eine technisch lesbare Datei kann falsche Beträge oder eine nicht erbrachte Leistung enthalten. Ein Rechnungsprozess braucht daher sowohl technische als auch fachliche Kontrollen.
Ein gemeinsamer Prozess trotz verschiedener Formate
Das Eingangsformat sollte den ersten Verarbeitungsschritt bestimmen. Danach brauchst du vergleichbare Felder für Lieferant, Belegnummer, Beträge und Fälligkeiten sowie einen Verweis auf das Original.
So können unterschiedliche Rechnungstypen im selben Prüf- und Freigabeprozess weiterlaufen. Welche Formate, Profile und Versionen in deinem konkreten Ablauf benötigt werden, solltest du anhand echter Beispielbelege festlegen.
