E-Invoice news

On 2026-03-03 Jochen Stärk wrote in Frankfurt am Main, Germany:

E-invoices no longer free?

Since France’s system has cancelled major parts of it’s public invoicing portal and therefore using commercial service providers has now become mandatory, which means that every french company will have to select commercial service providers to send and receive invoices. Those services are not free because they have to certify themselves commercially and sign up to other commercial services which require even further certification. PDPLibre would like to change that retroactively for France.

Axel Kannenberg, a journalist from the Heise publishing house, was as kind as to ask the german Ministry of Finance if that will also happen in Germany. They replied on 29.01. and apparently they are working intensively on having it available as cheap as possible, i.e. the answer is not a “no” but a “maybe”.
Although this will hit us in some years, i.e. is not related to the upcoming obligation to send e-invoices which starts beginning of 2027, please do already sign up to my online petition to continue to be able to send/receive invoices to make the message clear.

Minor news

The German Ministry of Finance made up it’s mind on gastronomical expenses in the age of e-invoices and there was the publication of a way to use Wirtschafts-IDs in e-invoices (Geba). I’m just not sure if that mainly or only concerns Peppol at the moment.

I learned Bitkom has a GoBD Checklist since a while and of course Poland introduced it’s Continous Transaction Control System (Umsatzsteuermeldesystem) on February 1st apparently with a proprietary format called KSEF.

EN16931:2025

The new, second major version of the EN16931-standard has finally been accepted. Apparently there was a lot of input from the industry and private economy but I have no idea what that means. Rumours were the formats will be upraded (e.g. Cross Industry Invoice from 16B to the backward compatible 22B? 25B?) and there will be extensions, but I have no clear picture yet when what will be officially published, much less be officially binding.

Easy E-Rechnung

I am no real father yet but sometimes it feels like my open source projects, Mustang and Quba, were my children. And after my first “grandson” a while ago (Andreas Rudolphs “ZUGFeRD Manager“) I’m very proud to present my second “granddaughter”, Mustangs’ child, Easy E-Rechnung. The work Mustang does in that scenario is almost neglectible and I’ve made only very minor contributions, comparable maybe to babysitting, to Easy E-Rechnung itself but Aron Homberg is a real AI crack and it’s… just magic.

It’s open source scan-to-Factur-X, i.e. a GUI on a invoice recognition. Which you can run locally on your GPU and you are presented a suggestion how the future Factur-X look like, which you can often just approve. Given the fact that invoice recognition will remain neccessary for non-EU-imports now at least there’s a way to start automatizing it using open source. And I have to admit I personally never quite managed to get InvoiceNet running and invoice2data is template based (see zugferd.org for the links).

Mustangserver 1.8.1

Version 1.8.0 of Mustangserver was released 18 December 2025, and supported ZUGFeRD 2.4 as well as styledinvoices, a way to exert full visual control on created Factur-X invoices.
Today, February 6th, 2026, we already released the subsequent version 1.8.1, which ships with a calculate endpoint, enabling e.g. invoice creation forms to easily obtain live previews of taxes and total amounts for users.

Mustangproject and -Server support new Factur-X versions

Today, on December 18th, 2025, version 2.21.0 of the open source e-invoicing toolkit Mustangproject and version 1.8.0 of the Software-as-a-Service REST API Mustangserver have been released.

They both support validation of the new Factur-X 1.08 version, in Germany also referred to as ZUGFeRD 2.4. Additional information on changes of Mustangproject can be obtained in it’s history file. The new version of Mustangproject can, as usual, be integrated into software projects using Maven Central, or be downloaded as a command line tool.

Mustangserver additionally now makes Factur-X invoices designable: A new, so called “StyledInvoice” allows to send a Factur-X invoice along with a HTML Template and additional resources in a single request, which are then converted into a Factur-X file. The resources can be ordinary files, like logo images or fonts, to be used in HTML, or references thereof in a corporate fileshare (i.e., a S3 bucket).

The use of HTML (mustache)-templates makes it possible for customers to offer their users to customize and design the optics of the resulting PDF part of the invoice e.g. using standard embeddable visual live design tools. The feature is further described in the Mustangserver manual.

Mustangserver 1.8 offers a free 4-week-evalution version.

Screenshot of a (german) demo on possible “StyledInvoice” designs:

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.