Durch das Steuervereinfachungsgesetz 2011 wurden die Hürden für elektronische Rechnungen gesenkt. Im Umfeld dieses Gesetzes wurde dann ein neues Rechnungsformat mit dem Namen ZUGFeRD entwickelt. Es sieht vor, eine menschen- und maschinenlesbare Repräsentation der Rechnung in einer einzigen Datei zu vereinen.
Die Unterstützung dieses neue Rechnungsformat war bisher mit einem print2forms-Gateway nur unter Zuhilfenahme von externen Programmen möglich. Inzwischen haben wir ein eigenes Programm erstellt, sodass nun eine reine print2forms-Lösung zur Verfügung steht.
Für die Erzeugung ZUGFeRD-kompatibler Rechnungen wird von einem normalen print2forms-Gateway ein Skript aufgerufen, welches im ersten Schritt eine PDF-Datei erstellt, welche dem Standard PDF/A1 genügt. Die für die elektronische Auswertung der Rechnung benötigten Daten werden aus dem Druckdatenstrom der Rechnung extrahiert und in eine XML-Datei eingetragen. Zum Abschluss wird aus der PDF- und der XML-Datei eine PDF-Datei nach dem Standard PDF/A3 erzeugt.
Die Lösung benötigt ein an die speziellen Erfordernisse des jeweiligen Rechnungsdokuments angepasstes Skript, welches die Rechnungsinhalte den durch den ZUGFeRD-Standard vorgegebenen XML-Datenfeldern zuordnet. Als Ausgangspunkt für die Anpassung dieses Skript haben wir eine Vorlage in PHP geschrieben. Durch speziell für ZUGFeRD entwickelte PHP-Unterprogramme ist die Anpassung soweit vereinfacht worden, dass auch Mitarbeiter ohne umfassende Programmierkenntnisse aber mit dem notwendigen Rechnungs-Know-How klarkommen.
Das eigentliche Programm zur Erzeugung der PDF/A3-Datei benötigt eine aktuelle Java-Laufzeitumgebung.
Im Wiki haben wir im Rahmen eines Tips die ZUGFeRD-Lösung ausführlich beschrieben.