Die kleine E-Rechnungs-Toolbox für die eigene Umsetzung
Wir haben im letzten Artikel einen Überblick über relevante Standards gegeben. Diesmal möchten wir eine kurze, unvollständige Liste an Tools und Libraries geben, die bei der eigenen Umsetzung helfen können. Der Hauptfokus liegt hierbei auf dem hybriden Format ZUGFeRD/Factur-X.
Mustang(Java)
Wer E-Rechnungen im ZUGFeRD-Format austellen möchte, sollte sich die Mustang-Library anschauen (github).
Sie bietet die Möglichkeit:
- E-Rechnungen aus POJOs zu erstellen und als XML zu exportieren
- XML zu visualisieren,
- in PDFs einzubetten (und dabei PDF/A zu erstellen)
- vorhandene E-Rechnungsanhänge aus PDFs zu extrahieren
- Umwandlung von E-Rechnungs XML in UBL nach CII
- Optionen die Resultate zu validieren
Viele der Möglichkeiten sind auch über ein CLI verfügbar, für das Erstellen eigenen XMLs muss man aber doch eigenen Code schreiben.
factur-x (Python)
Hierbei handelt es sich um Tool für das Zusammenführen von ZUGFeRD/Factur-X PDFs (github) Es können gültige Dokumente aus vorhanden PDF und XML erstellt, sowie vorhandenes XML extrahiert werden. Eine Option das XML zu validieren ist auch dabei. Neben einem CLI ist auch bereits die Möglichkeit integriert das Ganze als (Flask) Webservice laufen zu lassen.
drafthorse (Python)
Eine Python Library für das Erstellen von ZUGFeRD XML mit ähnlicher Funktionalität wie Mustang (github). Mit einem Datenmodell, welches die XML-Properties nahezu 1:1 mappt, lassen sich E-Rechnungen definieren. Diese können dann exportiert, oder and PDFs anhängt werden. Auch das parsen von ZUGFeRD-XML ist möglich.
xrechnung (Ruby)
Eine Library um XRechnung-XML zu erstellen (github) Im Vergleich zu den vorigen Optionen produziert diese Lib ausschließlich das XRechnung-Format und nutzt als Syntax UBL. Da XRechnung kein hybrides Format ist, werden keine Hilfsfunktionen für den Umgang mit PDFs geboten.
Wenn es bei den ganzen Standards und Begriffen noch Unsicherheiten gibt, möchten wir an dieser Stelle an unseren vorigen Artikel erinnern, der etwas Licht ins Dunkel bringt.