Im folgenden Projekt wird eine auf FileMaker basierende Faktura um eRechnungen im ZUGFeRD Format ergänzt.
ZUGFeRD in FileMaker implementieren:
Um das Erzeugen von ZUGFeRD PDFs in Filemaker einzubauen sind mehrere Schritte notwendig.
Zum Einsatz kommt dabei ein Stack aus FileMaker Script, GhostScript. GoLang und Python:
- Ein FileMaker Script welches Debitoren- und Rechnungsdaten als FileMaker XML exportiert.
- Ghostscript, um die von FileMaker erzeugten PDFs in PDF/A zu konvertieren.
- Eine in GoLang geschriebene Lösung, die aus dem FileMaker XML das X-Rechnung XML erzeugt.
- Ein Python-Script, welches das Ganze steuert und am Ende das X-Rechnung XML in das PDF einbettet.
Die Lösung integriert sich nahtlos in den Druckprozess von FileMaker und läuft sowohl unter macOS, als auch unter Windows:
Warum keine reine Python-Lösung für ZUGFeRD in FileMaker?
Zum Zeitpunkt des Projekts gab es noch kein vollständiges ZUGFeRD-Package in Python. Plan B war GoLang zu verwenden, eine extrem schnelle und robuste crossplatform-fähige Sprache. welche unabhängige Binärdateien erzeugt. Auch in GoLang waren alle verfügbaren ZUGFeRD-Packages unvollständig. Hier konnten jedoch über entsprechende XML-Libs die fehlenden Teile schnell ergänzt werden.