Factur-X Hackathon Back-to-Office-report
There is the ZUGFeRD Community in Germany and now there is also a Factur-X Community in France. Around 100 German ZUGFeRD project managers meet on the (regular, commercial) „ZUGFeRD Entwicklertage“ (Developer Days) event in Bielefeld and in January around 80 French gathered on the first Factur-X Hackathon in Paris.
It has been proclaimed that Factur-X was just the „international name“ of ZUGFeRD. Nevertheless, since it has been published under a different name by a different entity (the French FNFE instead of the German AWV) with a different version (Factur-X 1.0 mirrors ZUGFeRD 2.0) de facto it‘s a fork. A very friendly one, they developed it together and they talk both with each other and on each other‘s conferences, and there is a lot going on not only parallel but amicably.
ZUGFeRD 2.0 had been announced for mid-december 2018 but is still not released, Factur-X is released since beginning of 2018 but it lacks the „Extended“ profile and some details like the schematron file promised for ZUGFeRD 2.0.
The challenges for the Hackathon were published beforehand, one of which turned out to be very interesting: There was a task on the „visualization“ (i.e., usually the conversion into HTML) of the XML and as an open source guy I would usually do this with XSLT and Saxon.
The visualization is important because ZUGFeRD/Factur-X PDF files contain a copy of the invoice contents in XML and the user has to decide if (s)he wants to check, pay and book the PDF or the XML version. There are plenty of PDF readers to visualize the PDF but if you choose the XML part, which afterwards allows automated processing, and despite the calculation can be checked automatically, a viewer software functionality is usually still required in order to enable the user to check the invoice, i.e. if he has really received the goods mentioned.
ZUGFeRD 1.0 had a XSL style sheet to allow exactly this visualization.
Factur-X has none.
ZUGFeRD 2.0 has one, but according to AWV it will not be made available.
The interesting finding is that the XSL style sheet for the German X-Rechnung is compatible because one of the two possible XML formats defined in X-Rechnung is exactly the one used by Factur-X/ZUGFeRD 2.0. I mentioned it here.
Remark: on the French national invoicing portal you can apparently upload Factur-X PDFs, but the German national invoicing portal requires you to separate the files and upload the XML only.
The usual language was French. That was to be expected and like the French seem to prefer their mother tongue just like the Germans do. Otherwise it was astonishingly similar to the developer days, similar powerpoint slides, similar legal topics, similar discussions.
Open-source-wise I knew of two (German initiated) java libraries, one validator, and a French Python library. In the course of the Hackathon I learned that the French did not only publish a second open source validator but finally also someone coded an open source Factur-X library for PHP. Alexis (de Lattre) raised the idea of a web site with links to all Open Source resources and I created one, despite I could not find a real cool wiki software for it (it's now Markdown, just send pull requests).
The coding happened at the end and, despite I do not speak French, I had the impression of a concentrated and very disciplined exercise every German would have loved. Everybody was working in parallel and it was interesting to see how the participants would finally, after some hours of work, achieve their goals, typically validating successfully against their freshly unveiled validator (online version, source code).
I was happy to „graduate“ as well: Their validator also checks a detail, some particular metadata called XMP where my Mustangproject had a bug I was able to correct.
And after the event
As revanche I did not only publish the corrected version of my Mustangproject but also a new version of my now also XMP checking open source ZUGFeRD/Factur-X Validator, called ZUV, which also powers this online validator.
I am impressed by what they accomplished not only for and in the hackathon but in total as an e-invoicing community. If this was a race, in 2017 I still had the impression they were a bit „behind“ but in the meantime they seem to be leading.
My personal conclusion: the French seem to get along very well.
Mustangproject.org Chief ZUGFeRD Amatuer