Mustangserver 0.8.1

On Saturday, May 6th, along with the successful completion of our server maintenance we released a new version of Mustangserver, 0.8.1, which allows you to choose the PDF/A-Version of the PDF->PDF/A-conversion:

When we tested that feature in cooperation with a customer we sometime saw significantly smaller output file sizes when exported to PDF/A-3 instead of PDF/A-1, in one particular case even a reduction of 87%.

Additionally we improved logging, e.g. with a default logging config #29. And Mustangservers upgrade to Mustang 2.7.0 allowed the validation and creation of XRechnung 2.3, which will become mandatory as of August 2023. The
reading(=parsing) of XR 2.3 is backward compatible anyway.

We recently conducted a small survey which features you would like to see in Mustangserver.

The most requested feature was the ability to visualize (i.e. convert into HTML).
This has now been prepared by feeding our know-how we gained with Quba back into
Mustang 2.7.0.
Apart from being able to create HTML from UBL input (invoice and credit memo) this
includes french and english tranlations and the codelist attribute lookup, i.e.
instead of 15 “H87″s of an item you will see 15 “Piece(H87)” of that item.
Also prepared in Mustangproject was the ability to extract data into
existing invoice objects, which may air in 2.7.1 and allow Mustangserver to
extend the Invoice object currently returned in it’s parse method.

At least the visualization, maybe even the subclass feature will be used in the next Mustangserver version.

XML converted to french HTML

Mustang 2.7.0

In todays (2023-04-17) release of version 2.7.0, Mustang has learned from our invoice viewer Quba and can now
– convert Factur-X/XRechnung CII XML to HTML with different output languages (english and french is now possible, previously its was only german)
– this now also works with UBL XML input (invoice, credit memo)
– it also revolves codelists, instead of e.g. type “380” you will see “380 (commercial invoice)”

Mustang 2.6.2 “Happy Easter”

In todays (2023-04-06) “Happy Easter” release of Mustang 2.6.2 it is now also possible to build the software on Linux: it was always running and embeddable in Linux (as it is on Windows and Mac) but it now also builds there, if required. Which also fixes it’s Github action, which performs automatic tests on pull requests.

The B2G (read: EN16931) validation was improved by upgrading the CEN schematron to v1.3.9 and Mustang can now read, write and validate XRechnung 2.3 (mandatory in Germany as of August). Additionally there was also a small correction for B2G in France by being able to define when VAT collection becomes applicable (issue #309).

As always, the command line version of Mustang can be downloaded from this website.

Mustangserver planned maintenance February

On Saturday, February 26 we performed the scheduled February maintenance on our Mustangserver REST API which included the following:

  • We moved the VM to a physically different (newer, bigger) server in a different data centre of the same provider, of course remaining in Germany. You should not even notice the change, although you may notice api.usegroup.de and gw.usegroup.de resolve to a new IP address.
  • There is now a manual for Mustangserver 0.8.0, adding the brief description how to write Order-X files
  • We now use the host system firewall, which should give us more security

additionally, in the past weeks

  • we renewed our SSL server certificate
  • Quba’s validation feature was unfixed from 0.7.0 and now always uses the most up to date version
  • we shut down Mustangserver versions prior to 0.8.0
  • we performed a usability test on the Mustangproject homepage, had the obligatory data protection awareness training for our employees and we
  • further improved monitoring: apart from monitoring our infrastructure (i.e. network, system, and the API server) we now also monitor the Mustangserver process

We will most likely do some un-down-timish updates in the meantime, e.g. Mustangserver 0.8.1 will be released in the near future and support to convert from plain PDF to PDF/A-3. It will be an additional parameter which will be backward compatible. PDF/A-3 files can be surprisingly smaller than PDF/A-1 ones.

If all goes well there will be no scheduled maintenance neccessary for March or April. Unless otherwise communicated the next scheduled maintenance with a small downtime will take place on Saturday, May 6th, 2023, again from 15:00-16:00 CET. The reason is yet another SSL certificate update which requires us to restart the API management process.

Mustang 2.6.1

Today, February 13th, 2023 we released Mustang 2.6.1 with the following

New Features

  • allow prepaid amount in invoice class
  • allow Bank credentials without BIC

Corrections for small profiles

  • allow minimum profile without delivery date

“Systemic corrections”

  • return error code not only on validation but also on recursive directory validation
  • toolchain.xml now only required on `mvn release:release` not already on `mvn package`
  • upgraded dependencies jackson-databind from 2.13.4.1 to 2.14.2 and xmlunit-assertj from 2.9.0 to 2.9.1

Mustangserver 0.8.0

Today, Monday, February 6th 2023, we published version 0.8.0 of our e-invoicing REST API service Mustangserver.

It adds support for reading and writing orders in Order-X using the format code “ox” in the operations invoice2xml, parse and extract. invoice2xml writes and parse reads JSON data for which the same structure like for invoices is used.

The validation of Order-X files using Mustangserver was already previously available.

Order-X is the sister format to Factur-X, while in Factur-X, invoices, corrections and credit memos can be expressed in a both human and machine readable way, Order-X does the same for orders. Currently the most recent version 1 of Order-X supports the profiles Basic, Comfort and Extended.

Mustangserver Manual

Today, 23rd of January 2023, we published the first manual for Mustangserver 0.7.0, including “How can I register”, a PHP sample client and chapters e.g. on Postman and JMeter.

Mustang 2.6.0 “Joyeux Noël”

Mustang 2.6.0 “Joyeux Noël”, released December 23rd, 2022, supports trade parties without neccesarily providing a postal address, as allowed e.g. in France. It also improves the “Minimum” profile (also popular in France) by e.g. automatically hiding invoice lines, applicabletradetax, linetotalamount, paymentreference etc. if active. Due date and delivery dates are also no longer mandatory for credit notes. An issue in the deployment has been fixed (#297), Svante provided the hope of server based tests and weclapp-dev thankfully contributed the fix to another null pointer exception. Together with the fact that attempts to use the minimum profile would previously usually also be accompanied by nullpointers, one could almost say that this version comes with 20% less nullpointer exceptions 🙂

Merry Christmas, or better Joyeux Noël to all of you and your families.

Mustang 2.5.7

Mustangproject version 2.5.7, released November 7th, 2022, works again in Java 1.8 and improves the validator (EN16931 checks are now also run on “Basic” profile) as well as the importer: ZF1 invoices can now be imported in the invoiceimporter and some getters were added to the ordinary importer.