Whats new in ZUGFeRD 2.4? And else?

Yesterday, Factur-X 1.08 a.k.a. ZUGFeRD 2.4 was published. The new feature is subitems with subtotals, but there are also many new examples, and the validation now requires a machine readable date when
the services were performed or the goods were delivered, plus empty, a.k.a.
NIL elements, are now deprecated.

Mustang was part of the toolchain (it e.g. generated the XSLT files for the release) and of course we have a preview but it will still takes some time to finalize a new Mustang release.


It turns out Mustang already produces ZUGFeRD 2.4 (try to prove the opposite). It’s unclear if anybody volunteers to add subinvoice lines, or at least correct the arithmetrical warnings their validation currently created, but December is usually a good month for open source projects, so a
service-date-checking nil-deprecating validation is in sight.

In the past two months since I last posted news on the google group the highlights were:

2025-09-12 I learned about SEMOX and VEFA , the first being a open source domain specific language, which overlaps in functionality with the proprietary Gefeg.fx tool, the latter being a validator directed at
validating a whole file format specification, rather than individual files.

2025-10-15 UstAnwendungserlass: The german VAT implementation law
recommending validation has been published in it final form.

2025-10-27 I learned of a new open source Python factur-x library

2025-10-10 pdplibre.org apparently collect information, may publish software, and
in the long term potentially even become a accredited platform (formerly called PDP), i.e.
a service provider in France whom you can use to transmit/receive messages.
I also learned that the REST API to transmit invoices is already AFNOR-standardized
AFNOR XP Z12-013 and that of the 117 APs/PDPs listed only around 7 actually passed certification, with the rest being resellers.

2025-11-10 There is a french open source Factur-X app, called the-gate.fr

2025-12-01 FacturXDocumentationParser is a open source project which publishes interactive Factur-X documentation

2025-12-04 Hanno Böck recently held a speech on e-invoice security, see also his github

Local speech (in german) November 24th

On 24 November, 19:00-~22:00 CET we will deliver a 5-minute speech in the “Ignite” format (20 slides) on the 117th Web Monday in Frankfurt (WMFRA), whose venue is ~600m from our office.

There will be a (german) livestream and like on previous WMFRA #77 and #99 a recording might be published on youtube some weeks after the event.

Slides

Download (german) slides.

And here are the sources:

  1. https://audiovisual.ec.europa.eu/en/topnews/M-009199
  2. https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=OJ:L_202500516
  3. https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=OJ:L_202500517
  4. https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=OJ:L_202500518
  5.  https://www.recht.bund.de/bgbl/1/2024/108/VO.html Art 23 S. 23ff
  6. Video,Protokoll
  7. https://www.oecd.org/tax/forum-on-tax-administration/publications-and-products/Italy-Electronic-invoicing-May-2021.pdf
  8. https://www.dinmedia.de/de/vornorm/din-cen-ts-16931-2/274991011
  9. https://xeinkauf.de/app/uploads/2024/07/302-XRechnung-2024-06-20.pdf
  10. https://www.ferd-net.de/ZUGFeRD-Download
  11. https://www.destatis.de/DE/Themen/Branchen-Unternehmen/Unternehmen/Unternehmensregister/_inhalt.html
  12. https://www.pagero.com/compliance/solutions/e-invoicing-mandate-france
  13. https://ec.europa.eu/digital-building-blocks/sites/spaces/DIGITAL/pages/467108971/Obtaining+a+copy+of+the+European+standard+on+eInvoicing
  14. https://ec.europa.eu/digital-building-blocks/sites/spaces/DIGITAL/pages/467108885/eInvoicing+in+France
  15. AFNOR XP Z12-013
  16. https://www.impots.gouv.fr/liste-des-plateformes-agreees-immatriculees-sous-reserve
  17. https://www.bundesfinanzministerium.de/Monatsberichte/2022/09/Inhalte/Kapitel-3-Analysen/3-4-umsatzsteuerbetrug-elektronisches-meldesystem-pdf.pdf?__blob=publicationFile&v=5
  18. https://ec.europa.eu/digital-building-blocks/sites/spaces/DIGITAL/pages/467108974/Registry+of+supporting+artefacts+to+implement+EN16931
  19. https://ec.europa.eu/digital-building-blocks/sites/spaces/DIGITAL/pages/467108974/Registry+of+supporting+artefacts+to+implement+EN16931?preview=/467108974/765100266/eInvoicing%20technical%20guidance%20document_v1.pdf
  20. https://dserver.bundestag.de/btd/20/127/2012742.pdf
  21. https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Steuerarten/Umsatzsteuer/Umsatzsteuer-Anwendungserlass/2025-10-15-einfuehrung-obligatorische-e-rechnung.pdf?__blob=publicationFile&v=3
  22. https://www.helger.com/
  23. https://www.fakturama.info/
  24. https://github.com/horstoeko
  25. https://github.com/stephanstapel/ZUGFeRD-csharp
  26. http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s02.html
  27. https://quba-viewer.org/
  28. https://www.mustangproject.org/
  29. https://www.zugferd.org
  30. https://github.com/ZUGFeRD/corpus/tree/master/XML-Rechnung
  31. https://www.youtube.com/watch?v=rrkrvAUbU9Y

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.