In diesem Projekt wird eine in Xojo geschriebene Faktura um ZUGFeRD-PDFs und X-Rechnungen ergänzt. Wie in meinem ZUGFeRD FileMaker-Projekt, kommt hier ebenfalls ein Stack aus GhostScript, Python und GoLang zur Anwendung. Zur Integration wurde zusätzlich noch eine Xojo-Klasse geschrieben, wodurch ein Export der Rechnungsdaten aus der Faktura entfällt.
Xojo-Schnittstelle für ZUGFeRD und X-Rechnung programmieren
Die Xojo-Schnittstelle der Faktura steuert die folgenden Abläufe:
- Anstoßen der PDF-Konvertierung in das PDF/A-Format via GhostScript.
- Übergabe der Rechnungsdaten an Python zur Weiterverarbeitung.
Das Python Skript erzeugt als Nächstes das X-Rechnung XML mit Hilfe eines in GoLang geschriebenen Konverters:
- Bekommt der Rechnungs-Empfänger eine X-Rechnung, so bleibt es bei der X-Rechnung XML-Datei.
- Benötigt er ein ZUGFeRD-PDF, wird das X-Rechnung XML in das zuvor erzeugte PDF/A-Dokument eingebettet.
Das folgende Schaubild zeigt den Datenfluss beim Erzeugen des ZUGFeRD-PDF und der X-Rechnung über die Xojo-Klasse der Faktura: