~~NOCACHE~~ ==== ZUGFeRD ==== 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 **[[http://www.ferd-net.de/|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 (p2f)-Gateway nur unter Zuhilfenahme von externen Programmen möglich. Inzwischen haben wir ein **eigenes Programm** erstellt, sodass nun eine reine (p2f)-Lösung zur Verfügung steht. ==== ==== \\ Für die Erzeugung ZUGFeRD-kompatibler Rechnungen wird von einem normalen (p2f)-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 [[print2forms:tips:tip69|ZUGFeRD-Lösung]] ausführlich beschrieben.