Mustang, a ZUGFeRD/Factur-X solution

Mustangproject is a open source library and command line tool for ZUGFeRD/FacturX, a PDF-based format for electronic invoices.

You can support electronic invoices in your own java software with the library or quickly find out how many invoices have metadata, extract or add ZUGFeRD metadata using the command line tool.

Mustangproject 1.6.0 was released on 2019-02-04.



Interoperability is very important to us. Our sample invoice not only passes the GEFEG ZUGFeRD validator and 3-Heights™ PDF Validator Online Tool . We fixed a small, unspectacular and harmless violation of the PDF/A-3 standard which is e.g. still present in the official ZUGFeRD sample files.


Mustangproject has a relative high abstraction level, and you e.g. don't have to manually specify the invoice type to „380“ like in this sample from Konik sample

invoice.setHeader(new Header()


Our business process abstraction which allows you to upgrade the library and switch between the ZUGFeRD versions with a single command.

Reading of ZUGFeRD data has been implemented using Xpath (a XML query language). This means that Mustangproject can parse ZUGFeRD files from before version 1.0 to including version 2 (public preview) using the same code base.


Open-Source licenses can be restrictive or permissive. While e.g. Konik is based on the „viral“ Gnu Public License, Mustangproject is even more free, based on the permissive Apache Public License, which allows you to even sell commercial software including Mustangproject without paying us a single cent in license fees.


Picture of the Open Source Business Award OSBAR
In 2015 the Open-Source Business Alliance awarded Mustangproject with the "OSBAR" in gold to direct "deserved attention" (verdiente Aufmerksamkeit) to it. Thank you!


This is a matrix comparing some open source ZUGFeRD libraries:

Mustang Konik Factur-X Python library
Mustangproject Logo Konik Logo
Version 1.6.0 1.2.9
Publication date 04.02.2019 25.08.2016 28.07.2017
Basis Java PDFBox Java (and .net) itext, PDFBox Python
Human language English English English
Source format PDF-A1, PDF-A3 PDF, PDF-A1, PDF-A3 PDF-A1
Business processes Yes No No
Profile Extended Extended ?
Architecture JAXB/Plain JAXB Python :-)
Licence 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
Checker Fehler/Warnungen 0/0 1/1
PDF validation errors 0 1 Not possible
to top