2.20.0

The new feature is support for BT-17 (tender or lot reference) (#923).
This release also fixes issues with the nonshaded (depencencies-not-included) version (#950 “ClassNotFoudException while running the PDFValidator”), upgrades to pdfbox 3.0.6, change return type of getCashDiscounts to CashDiscount object, not interface, adds a new known ZUGFeRD production software (a “signature”, #959) and corrects the calculation of charges on product level (#960).

Mustangserver 1.7.3

Today, on 20 October 2025, we released version 1.7.3 of our E-invoicing server Mustangserver.
Notably, cash discounts are now not only written but also parsed. The validation has been upgraded to XRechnung 3.0.2 and mere “academic” PDF/A violations have now been downgraded to warnings.

Mustangserver 1.7.3 is now based on the most recent version of Mustangproject, 2.19.1, which also fixes the following details:

  • added JSONIgnore for Products intra community supply, reverse charge and invoice’s isValid (which rather means isComplete, by the way)
  • #917/#940 percentual allowance/charges actualamount not multiplied with qty/Some quantities and allowances may cause Non-terminating decimal expansion

  • #915 Update SubjectCode.java to add subject code ‘PMT’
  • #921 Treat schematron rule flag “information” as notice.
  • #926 reject FX with UBL
  • upgrade apache fop 2.10 to 2.11
  • #931 Enable setting and reading Additional Document Description.
  • #933, #413, #557, #765 Format list of dates for PDFs individually/Bug: “FORG0001: Invalid date (Day must be two digits)” bei der Transformation von ZUGFeRD nach PDF/Visualize XML into PDF throws error if XML contains multiple SpecifiedTradePaymentTerms blocks/Exception when generating PDF
  • make Line Calculation, e.g. total line net amount, accessible via JSON using getCalculation
  • #943/#944 ZUGFeRD2PullProvider getXML() does not set fixed Encoding / Use UTF-8 when creating new Strings from byte[].
  • #893 Tradeparty globalID is not read from JSON
  • #905 Parse product level charges/discounts into JSON
  • #869 Import Account Holder returns SellerTradeParty.name instead of AccountHolder
  • #861 Multiple problems with Product.CountryOfOrigin
  • #882 Change order of ApplicableProductCharacteristic and DesignatedProduct…
  • #899 fix encoding error in ZUGFeRDInvoiceImporter.java
  • #908 Validation: Make clear when embedded file name is wrong
  • #909 ShipToTradeParty should not contain URIUniversalCommunication
  • #821 ERROR org.mustangproject.ZUGFeRD.ValidationLogVisualizer – Failed to create PDF

BMF macht Validierung von E-Rechnungen zur Obliegenheit

Der am 15.10.2025 veröffentlichte finale Umsatzsteuer-Anwendungserlass stellt klar, dass mit “einer geeigneten Validierungsanwendung” (wie das kostenlose Mustangproject) festgestellt werden kann “Ob eine Rechnung die Anforderungen der Normenreihe EN 16931 – auch hinsichtlich des Formats und der gültigen Geschäftsregeln – erfüllt”. Eine “Validierung der E-Rechnung ersetzt nicht die dem Empfänger obliegende Pflicht zur Überprüfung der Rechnung auf Vollständigkeit und Richtigkeit (vgl. Abschnitt 15.2a Abs. 6 und 15.11 Abs. 3), sondern unterstützt ihn hierbei.”

Stefan Engel-Flechsig, Rechtsanwalt und Initiator von ZUGFeRD sprach im Zusammenhang mit der im UStAnwErl erwähnten Validierung auf den 12. ZUGFeRD-Entwicklertagen vergangenen Monat von einer “Obliegenheit” des Steuerpflichtigen, also einer zur Vermeidung von Rechtsnachteilen gebotenen Pflicht.

Mustangserver now works with large files and workloads

Mustangserver offers the possibility to convert from ordinary PDF to PDF/A using it’s “Mustangserver-docs” component.

Some users experienced timeouts if the PDFs to be converted exceeded several dozend pages.

We have now completely overhauled this component.

Version 2.0 of “Mustangserver-docs”

  1. decouples the request from the retrieval using a so-called message queue, thus avoiding virtually any timeouts and
  2. utilizes a network file storage (so called S3 buckets) as source and target for the conversion.
    This allows full autonomy by e.g. allowing the user to alternatively specify her own S3 instance.
  3. allows to book the PDF functionality, i.e. “Mustangserver-docs” autonomously. Previously “Mustangserver-docs” had to be procured additional to Mustangserver. Mustangserver provides additional e-invoiving capabilities like
    reading, writing, validating or converting e-invoices (also from XML to PDF/A).

As of today, October 14th, 2025, you can sign up for a evalution period by just checking the “PDF” option in the signup form.

What is Mustangserver?

Mustangserver provides functionality to read, write, convert and validate
electronic invoices like Factur-X/ZUGFeRD, XRechnung, or EN16931 files.

It is published by the authors of Mustangproject and Quba-Viewer and can be run as SAAS, in the cloud, or, using the Mustangservers inhouse option, also completely “off grid”.

What is PDF/A?

PDF/A makes PDF files archivable. PDF/A files can be read using any viewer, are self-contained,and required for many electronic invoices.

In Germany, as of 2028 paper invoices and ordinary PDF files will be forbidden for use in domestic B2B invoices in favor of XML and the PDF/A based Factur-X format.

What is Ghostscript?

Ghostscript is a multipurpose PDF tool and interpreter for the PostScript and Portable Document Format (PDF) page description languages.

Initiated in 1988, it is the only open source PDF converter which can print vectors “virtually”, being able to
reassemble them in a valid PDF/A-file, which has been build from scratch.
This process is so reliable and secure that it is

  1. used as printer driver e.g. on Linux systems and
  2. used in Software to make potential malicious PDFs much safer

What is S3?

Simple Storage Service (S3) is a open standard filehosting service specification, specifying how global files access can be addressed, authenticated and authorized, read, listed and written to, protocolled, versioned, encrypted,
lifecycled, proxied, and/or replicated.

S3 storage can be procured online for as little as 60 euro cent for 1GB over 10 years.

A number of open-source server (and client) implementations allow to run S3 also on own hardware, even on a local installation.

2.19.1

This release brings various small updates: apart from some housekeeping (#914, #932, #939, #943, upgrade of apache fop) e.g. Factur-X files with UBL content are now rejected (#926), Cash discounts are now not only written but also parsed on import (#692) and the calculation of item discounts was corrected (#917).

As always, futher details can be found in the history and Mustangproject 2.19.1 can be integrated using Maven Central or downloaded for command line use.

Mustangserver 1.7.1

July 12th, 2025: We are proud to announce the immediate availability of the new version 1.7.1 of our e-invoice REST API, Mustangserver.

The release not only catches up wirh Mustangproject 2.18.0, but slightly exceeds it: one issue will only be part of the next Mustangproject release.

As mentioned in the Mustangproject announcement we now use the code already introduced in 2020 to also raise warnings in the validation of invoices which which were calculated incorrectly in a particular way. Among others, there was also a fix in the calculation of relative item allowances/charges.

With Mustangserver, you can read, write, convert and validate E-invoices. More information and the sign up for a four week evaluation period are available on the Mustangserver homepage.

Mustangproject now worth a million dollars?

The open source service provider OpenHub displays an automatic estimate how much work must have gone into the projects they list. Of course this is a very rough estimate (based on the lines of code and the basic COCOMO model) but it now states the effort that went into Mustangproject may now exceed one million dollars and with their default values may have been as much as 18 man years and $1,004,027 (on Saturday, July 5th, 2025).

The potential error margin may be quite high, but on the other hand this estimate does not include work on the website, various speeches, or contributions e.g. in the Factur-X/ZUGFeRD standardization committee.

Anyway, thanks to all contributors! And thanks for contributing this (automatic) estimate!

Mustangserver 1.7.0

On June 12th, 2025, the new version 1.7.0 of our e-invoice REST API, Mustangserver, was published.
It introduces centralized exception tracking, i.e. errors affecting customers now immediately alert our technical support. Previously those messages were stored in logfiles, which had to be evaluated either occasionally or periodically.

The release brings all features and improvements of Mustang 2.17.0, upgrades PHIVE and supports more validation formats and upgrades to PDFBox 3.0.5, fixing a minor with certain PDF files (issue 217).