Mustang, eine ZUGFeRD/Factur-X Lösung

Mustangproject

Mustangproject ist eine open-source Bibliothek und Kommandozeilenwerkzeug für ZUGFeRD/Factur-X, ein offener e Rechnungsstandard der auf PDF-Dateien basiert.

Mit der Mustang Bibliothek können Sie ihre eigene Java Software e Rechnungen lesen und schreiben lassen. Mit der Kommandozeile können Sie aus PDF/A-1 das für ZUGFeRD benötigte PDF/A-3 machen, ZUGFeRD/Factur-X Daten in PDFs einbetten oder auslesen oder herausfinden, wie viele Ihrer PDFs bereits ZUGFeRD-Dateien sind.

Mustangproject 1.7.3 wurde am 01.08.2019 veröffentlicht und unterstützt ZUGFeRD 2, ZUGFeRD 1, sowie Factur-X 1.

Features

  • PDF/A-1 in PDF/A-3 konvertieren
  • ZUGFeRD 1 und ZUGFeRD 2 lesen und schreiben
  • Java-Bibliothek
  • Liberale Lizenz (APL2=kostenlose Nutzung in kommerzieller und nichtkommerzieller Software)
  • Mustang ist besonders
  • Die Mustangproject Bibliothek
    • unterstützt Maven
    • kann in Ihre Java Software eingebettet werden
  • Die Kommandozeile
    • Läuft auf Linux, Mac OS und Windows und
    • Erlaubt, ZUGFeRD XML in PDF einzubetten und
    • aus der PDF-Datei zu lösen
    • Ein experimentelles Konvertieren von ZUGFeRD 1 auf 2
    • Konvertieren von PDF/A-1 nach PDF/A-3
    • Statistiken wie viele PDF-Dateien ZUGFeRD/Factur-X-Dateien sind

Valide

Interoperabilität ist uns sehr wichtig, deswegen legen wir auch Wert darauf dass unsere Dateien den Spezifikationen entsprechen. Das Prüfen wir regelmäßig durch den Einsatz von Validatoren. Unsere Beispielrechnung ist nicht nur laut des GEFEG ZUGFeRD validator gültiges PDF und ZUGFeRD sondern auch gültiges PDF/A laut des 3-Heights™ PDF Validator Online Tool . Wir vermeiden selbst kleine, unspektakuläre und harmlose Verletzungen des PDF/A-3-Standards die in den offiziellenZUGFeRD Beispieldateien noch vorkommen.

Stabil

Ein relativ hoher Abstraktionsgrad erlaubt es, sich nicht manuell mit den richtigen Rechnungs-Typ-Codierungen (wie „380“ in diesem Konik Beispiel) herumschlagen zu müssen.


invoice.setHeader(new Header() 
.setInvoiceNumber("20131122-42") 
.setCode(_380); 

(Quelle: http://konik.io/blog/2016/Konik-1.2.9.html)

Diese Abstraktion erlaubt Aktualisierungen “unter der Haube”, sprich Sie können beispielsweise ohne Codeanpassungen zwischen verschiedenen ZUGFeRD Versionen wechseln.

Das Auslesen von ZUGFeRD-Daten wurde mit Xpath, einer XML-Abfragesprache realisiert. Das ermöglicht, dass Mustangproject ZUGFeRD-Dateien von vor Version 1.0 bis inklusive Version 2 lesen und verstehen kann.

Kostenlos

Open-Source licenses können liberal oder restriktiv sein. Während beispielsweise Konik der „viralen“) Gnu Gnu Public License unterliegt, ist Mustangproject noch kostenloser und erlaubt mit der liberalen Apache Public License sogar die kommerzielle Verwendung ohne zusätzliche Lizenzkosten.

Auszeichnungen

In 2015 hat dieOpen-Source Business Alliance Mustangproject mit dem“OSBAR”in Gold ausgezeichnet um verdiente Aufmerksamkeit auf das Projekt zu richten. Danke!
Picture of the Open Source Business Award OSBAR

Vergleich

Eine Matrix mit einigen Open-Source ZUGFeRD Bibliotheken:

Mustang Konik Factur-X Python library
Mustangproject Logo Konik Logo
Version 1.7.3 1.2.9
Veröffentlichungsdatum 01.08.2019 25.08.2016 28.07.2017
Basis Java PDFBox Java (and .net) itext, PDFBox Python
Humansprache English English English
Quellenformate PDF-A1, PDF-A3 PDF, PDF-A1, PDF-A3 PDF-A1
Geschäftsprozesse Yes No No
Profil Extended Extended ?
Architektur JAXB/Plain JAXB Python 🙂
Lizenz APL (permissive) GPL (restrictive) and commercial APL (permissive)
Discounts possible Yes(?) possible
Deposits possible Yes(?) possible
Dunning fees possible Yes(?) possible
Other fees possible Yes(?) possible
Official Sample Mustang
Konik
None
Validator Fehler/Warnungen 0/0 1/1
PDF validation errors 0 1 Not possible