Mustangserver 1.6.3

Today, March 7th, 2025 we published a a new version of our e-invoicing REST API, Mustangserver.
It brings the benefits of Mustangproject version 2.16.3, e.g. the possibility to specify item based charges and allowances also using JSON, and fixes a potential security as well as a maintenance issue.

Existing users already see the 1.6.3 option, new users can subscribe for a free 30 day evaluation period. Version 1.6.3 will become the new default version as of tomorrow.

2.16.3

Today, March 3rd, 2025, we released a new version of our open-source e-invoicing library and tool, Mustangproject. This version 2.16.3 mitigates a potential security issue (#685/#725), allows to write invoices using the invoice class without VAT ID (#745) and more.

Details:

  • #558 ZUGFeRDInvoiceImporter does not read BankDetails.accountName
  • #686 Item: add BillingSpecifiedPeriod
  • #739 also parse invoiceperiod from ubl
  • #745 be able to specify legalorganisation id without schema
  • #747 correct profile detection
  • #710 Validation Error due to empty elements
  • #712 Correct bracket setting on condition for output of allowance reason.
  • #725 Unable to perform XML-oriented attacks
  • #685 Security Issue: XXE Vulnerability in ZUGFeRDInvoiceImporter (PR #725)
  • #761 Allow to set item allowance/charges from JSON

Mustangserver 1.6.2

Today, February 27th, 2025 we published a hotfix to our e-invoicing REST API, Mustangserver, fixing an issue in the “detach” endpoint which may cause some invoices not to display embedded factur-x.xml files.

Mustangserver 1.6.1

Today, February 6th, 2025 we released a new Version of our Software-as-a-Service e-procurement REST API, Mustangserver, fixing minor details like the in rare cases potential incomplete list of invoice attachments.

2.16.2

Mustangproject 2.16.2 was released today, February 5th, 2025 and features only minor fixes regarding (among others) PDF and invoice attachments, in detail:

  • #705 specifiedLogisticsCharge is not imported
  • #707 invoiceimporter may fail if certain values are not set
  • #708 embedded files cannot be determined
  • #709 ZUGFeRDInvoiceImporter ignored “first” embedded file in list of pdf attachments
  • #607 Enable flexible PaymentReference and a DocumentName.
  • #649 Reuse toPDF method to work without any dependencies to the file system
  • #650 Add net.sf.offo:fop-hyph
  • #665 Fix #632: Return ubl_creditnote as Standard for CreditNotes
  • #684 Optimize validation-report to pdf functionality
  • #703 Fill TaxExemptionReason during InvoiceImport.
  • #701 Ensure Base64 decoding can handle newlines when decoding a FileAttachment
  • #691 Fix current check failures.

2.16.1

Mustang 2.16.1, released today, January 21st, 2025, features some small corrections like

  • #678 some ubl creditnote attributes are not parsed
  • #679 validation of a XR does not ignore whitespace
  • #681 IBAN assigned to invoice sender not recipient on direct debit
  • #689 incorrect element order when both charge reason and reasoncode are specified
  • be able to set detailedDeliveryPeriodFrom, detailedDeliveryPeriodTo via JSON
  • updated verapdf from 1.26.1 to 1.26.2
  • cashDiscount JSON now corrently ignores values for cii and xr methods

2.16.0

Mustangproject, the open-source e-invoicing toolkit, released it’s version 2.16.0 today, January 10th, 2025.
This version adds support to parse charges/allowances (#651), allows allowance and charge reasoncodes also on document level (#657), allows multiple invoice referenced documents (#631) and supports a PDF validation report output (#356, using --log-as-pdf, it’s currently not yet documented anywhere).

Further fixes include

  • allow to add includedNotes with type
  • #645 Fix visualization of validation logs
  • #639 Fix invoice calculation if rounding amount is present
  • #633 Bump ch.qos.logback:logback-core from 1.2.13 to 1.5.16
  • #626 Fix minor java issues
  • #622 Fix FOP config
  • #629 Visualizing xml
  • #630 Fix issue #296 (Validation-Error: Ungültiger Content wurde beginnend mit Element ‘ram:DueDateDateTime’ ) (duplicate of #565)
  • #658 prevent nullpointerexception
  • #648 Fix log visualization
  • #652 Discount VAT is not subtracted from duepayable
  • #620 Fix logback config
  • #653 ZF2EdgeTest: methods ‘getPaymentMeansCode()’ & ‘getPaymentMeansInformation()’ does not override super methods
  • #654 remove wrong test methods

Mustangserver 1.6.0

Today, Monday, December 30th we released a new version of our E-Invoice-Rest-API Mustangserver which supports conversion to and from CII, UBL and FatturaPA based on a open source project called EeISI. Additionally, it now also supports writing embedded files. As usual, Mustangserver 1.6.0 is not yet the default version for all requests but can be specifically selected.

2.15.2

Mustangproject version 2.15.2 was published today, December 19th, 2024, and brought minor improvements in the fields of

Parsing

  • #618 import BT-20
  • correctly import additional referenced documents into invoice/corrected setting of attachments from jackson
  • corrected parseException structure

Validation

  • allow 1p0 as potential xmp version number

and

Writing

  • correcly write charge reason codes also for non-Xrechnung #617
  • #599 add tax category code for free export
  • #600 Fixes a problem where a stream was not safely closed

As usual it can e.g. be downloaded on the commandline page.

Chat under the christmas tree

In order to mutually ask and answer questions Jochen suggests to just meet at the matrix.org #facturx room the next three Thursdays (19.12., 26.12. and 02.01.) between 16:00 and 17:00 CET.

This chat “room” already exists and is open 24h/day at https://app.element.io/#/room/#facturx:matrix.org and you can already ask questions now. Matrix may require an account but you can use whatever client you want and of course it is for free and you dont need additional credentials to join the public #facturx room.

Of course you are free to ask anybody any question (e.g. RE Quba, Factur-X, XRechnung, B2B e-invocing) at any time but if you are totally new to the topic it would be appreciated if you previously had a chance to familiarize with the topic by e.g. having a look at https://medium.com/@jochen.staerk/why-and-how-germany-bans-b2b-paper-invoices-a4c7977f314a and/or try the (german domestic B2B) samples at https://github.com/ZUGFeRD/corpus/tree/master/XML-Rechnung/ .

So see you there, if you like 🙂