2.23.0 “Bonne Journées de la Facture Électronique”

Frankfurt am Main, Germany

On Friday, 24 April 2026, we released version 2.23.0 “Bonne Journées de la Facture Électronique” of our open-source e-invoicing toolkit “Mustangproject”. It can, as always, be embedded into Java software or downloaded to run as commandline application.

Highlights

Apart from their validation we now also support writing subinvoice lines (#1073, thanks kschwank).

Plus we merged some France-related pull requests, e.g. the conversion to french PDF (#1083), the configurable BT-23 business process ID for CII export (#1046) and of course validation which now also takes into account the first AFNOR XP12-012 schematron (#1089, thanks @meparis).

Event

A propos France: we cordially invite potential contributors on the day following the FNFE-organized physical JFE event, a free online event organized by us, on May 7th 2026, 16:00-17:00 CET, regading the coming e-invoice obligation in France
as of September: our Event details and application.

Changelog

On Mustang 2.23.0, the following fixes were applied

  • #993 Cash discount not parsed
  • #1029 Added a breaking change notice regarding the removal of hardcoded values in #729
  • #1044 Correct version of org.apache.pdfbox:fontbox from 3.0.3 to 3.0.6.
  • #1049 Prevent exceptions in validation
  • #1038 Header allowances are aggregated incorrectly for non-XRechnung profiles
  • #1052 Remove parsing OriginatorDocumentReference.ID as date
  • #1055 Correct order of ApplicableTradeTax sub-elements.
  • #1072 Correct XPath-expressions for GrandTotal and TaxBasisTotalAmount.
  • #1075 Vulnerability in dependency PDFBox version 3.0.6
  • #1076 XMP error during validation based on mustang version 2.22. (XMP Metadata: Could not parse XMP metadata (XML invalid))
  • #1084 Fix xml description
  • #1082 Centralize and secure DocumentBuilder creation.
  • reduce possible exceptions in metrics action

And altogether we are talking of the following new features

  • #1037 Compress attachments
  • #1046 Add configurable BT-23 business process ID for CII export
  • #1050 Add validator information to PDF report (name and version)
  • #1061 Add ability to mark an Invoice as a test invoice.
  • #1073 add hierarchical invoice positions in CII XML export for EXTENDED profile
  • #1083 PDF Visualizations in English and French
  • #1089 Add France schematron ruleset
  • added Extended-CTC-FR profile to selection for command line

FYI

I will try to renew my expired GPG key in the next maven central release and @langfr is now co-maintainer: thank you and congratulations.

We are still set for Java 11 in this release but for #1067 fixing #1025 (a convert-to-UBL-issue), we will open a Java17 branch (thanks phax!). We’re just not yet sure how to call the new version, this minor correction sounds to small for a “Mustangproject 3.0” release.

kind regards,
Jochen Stärk