2.16.4

Die am 22.04.2025 veröffentlichte Mustangproject Version 2.16.4 bringt 16 kleine Korrekturen, zwei davon möglicherweise Sicherheitsrelevant, und eine von den 16 korrigiert leicht zu hohen Ressourcenverbrauch, i.e. nicht gelöschte Dateien.

Ein weiterer Punkt, (#764),
wird in 2.17.0, möglicherweise im Mai angegangen, vielleicht mit dem Release das auch ZUGFeRD 2.3.3 (i.e. Codelistenversion 15) unterstützen wird: Absolute, nicht prozentuale, positionsbasierte Zuschläge/Abschläge dürfen wohl nicht mit der Menge multipliziert werden, wie sie es derzeit in Mustang getan werden. Falls das wahr ist muss ich (Jochen) nicht nur die Berechnung sondern auch einige Tests korrigieren, und einige wenige Rechnungen werden unterschiedliche Endbeträge erzeugen.

Neue Funktionen in 2.16.4

  • #818 Möglichkeit der Angabe von Dateinamen-Ausnahmen beim rekursiven Validieren mit validateExpectValid
  • #741 read accountingReference lesen
  • #809 mehrere Zuschläge/Abschläge pro Position berücksichtigen
  • #812 Dateianhang bekommen eine Standard-Anhangsart (ohnehin nur für PDF-Dateianhänge verwendet)

Korrekturen

  • #774 XML Entities parsing deaktiviert (möglicherweise sicherheitsrelevant, teilweise rückgebaut wegen fehlschlagender Tests)
  • #778 XML External Entity Schutzfunktion hinzugefügt (möglicherweise sicherheitsrelevant, teilweise rückgebaut wegen fehlschlagender Tests)
  • #742/#753 “Adresszusatz 1” (LineTwo) zeigt “Postfach” in HTML
  • #614, #770 Exemption reason sollte nicht wiederholt werden
  • #728 setCorrection erzeugt doppelte XML-Ausgabe
  • #776 Mögliches Ressourcenleck in Dateiverarbeitenden Klassen
  • #782/771 NullPointerException vermeiden bei Product Description
  • #772 TradeParty Name sollte optional sein für ShipToTradeParty
  • #775 ungelöschte Temporärdateien
  • #802 fix: Großgeschriebenes D für ID in listID

Umstrukturierungen

  • #759 Klasse statt var Typ verwenden
  • #722 ValidationLogVisualizer erweitern, sodass er nicht zwingend das Dateisystem benutzt

Mustangserver 1.6.3

Am heutigen 07.03.2025 haben wir die neue Version unserer e-Rechnungs REST API, Mustangserver veröffentlicht.
Sie bringt die Vorteile von Mustangproject 2.16.3, beispielsweise die Möglichkeit Rabatte und Zuschläge auf positionsbasis über JSON mitzuteilen, und korrigiert eine mögliche Sicherheits- und eine Wartungslücke.

Bestehende Nutzer können 1.6.3 bereits auswählen, neue Nutzer können sich für einen kostenlose 30 Tage Zeitraum registrieren. Ab Morgen, Samstag, wird Version 1.6.3 auch die neue Mustangserver-Standardversion werden.

2.16.3

Am heutigen 03.03.2025 haben wir eine neue Version unseres open-source e-Rechnungs-Tools Mustangproject veröffentlicht. Die neue Version 2.16.3 verhindert eine potentielle Sicherheitslücke und erlaubt das Schreiben von Rechnungen ohne Umsatzsteuer-IDs (#745) mit der Rechnungsklasse und mehr.

Details:

  • #558 ZUGFeRDInvoiceImporter liest nicht BankDetails.accountName
  • #686 Position: BillingSpecifiedPeriod hinzugefügt
  • #739 Rechnungsperiode auch aus UBL parsen
  • #745 legalorganisation ID ohne Schema angeben können
  • #747 korrigierte Profilerkennung
  • #710 Validierungsfehler aufgrund leerer Elemente
  • #712 Klammerkorrektur für allowance reason.
  • #725 XML-bezogene Angriffsmöglichkeiten
  • #685 Sicherheitsproblem: XXE Schwäche in ZUGFeRDInvoiceImporter (PR #725)
  • #761 Positionsbezogene Zuschläge/Rabatte per JSON setzen können

Mustangserver 1.6.2

Am heutigen 27.02.2025 haben wir einen Hotfix für unser e-Rechungs-REST-API, Mustangserver, veröffentlicht, der ein Problem im “detach” Endpunkt löst, das dazu führen könnte, dass die eingebettete factur-x.xml einiger Factur-X/ZUGFeRD-Rechnungen nicht korrekt gelistet wurde.

Mustangserver 1.6.1

Am heutigen 06.02.2025 haben wir die neue Version 1.6.1 unserer Software-as-a-Service E-Procurement REST API, Mustangserver veröffentlicht, die kleinere Details korrigiert wie die in seltenen Fällen unvollständige Liste rechnungsbegründender Unterlagen.

2.16.2

Mustangproject 2.16.2 wurde am heutigen 05.02.2025 veröffentlicht und korrigiert kleinere Fehler unter anderem im Bereich PDF und Rechnunganhänge, im 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, veröffentlicht am heutigen 21.01.2025, enthält kleinere Korrekturen wie

  • #678 Einige Elemente/Attribute werden nicht gelesen bei UBL-Gutschriften
  • #679 Validierung einer XRechung kann Probleme mit Whitespaces haben
  • #681 Rechnungsempfänger-IBAN wird fälschlicherweise dem Absender zugeschrieben bei Lastschriften
  • #689 falsche Reihenfolge in XML wenn sowohl charge reason als auch reasoncode angegeben wurden
  • detailedDeliveryPeriodFrom und detailedDeliveryPeriodTo auch per JSON setzen können
  • Verapdf aktualisiert von 1.26.1 auf 1.26.2
  • Skonto-JSON ignoriert jetzt Werte für CII und XR-Methoden

2.16.0

Mustangproject, das open-source e-Rechnungs-Werkzeug, veröffentlichte heute, am 10.01.2025, seine Version 2.16.0.

Diese Version bringt Leseunterstützung für Ab- und Zuschläge (#651), erlaubt Ab- und Zuschlags “reasoncodes” auch auf Dokumentebene(#657) sowie mehrere Rechnungsbezüge (#631) und unterstützt eine PDF-Ausgabe des Validierungsreports (#356, mit --log-as-pdf, derzeit noch nirgends dokumentiert).

Weitere Korrekturen beinhalten

  • einfaches Anlegen von includedNotes mit Typ
  • #645 Visualisierung von Validierungsreports korrigiert
  • #639 Korrigierte Berechnung mit rounding amount
  • #633 Aktualisieren von ch.qos.logback:logback-core von 1.2.13 auf 1.5.16
  • #626 kleine Fehlerkorrekturen
  • #622 FOP-konfig korrigiert
  • #629 xml-Visualisierung
  • #630 korrigiert #296 (Validation-Error: Ungültiger Content wurde beginnend mit Element ‘ram:DueDateDateTime’ ) (Duplikat von #565)
  • #658 nullpointerexception vermeiden
  • #648 log-Darstellung erneut korrigiert
  • #652 Erlassene USt wird nicht vom duepayable abgezogen
  • #620 logback config korrigiert
  • #653 ZF2EdgeTest: Methoden ‘getPaymentMeansCode()’ & ‘getPaymentMeansInformation()’ implementieren keine super Methoden
  • #654 falsche Testmethode entfernt

Mustangserver 1.6.0

Am heutigen Montag, dem 30.12.2024, haben wir eine neue Version unseres E-Rechnungs-Rest-API Mustangserver veröffentlicht, die die Umwandlung von und nach CII, UBL und FatturaPA, basierend auf einem open-source Projekt namens EeISI unterstützt. Zusätzlich unterstützt sie beispielsweise auch das Schreiben von rechnungsbegleitenden Unterlagen (in Rechnungen eingebettete Dateien). Wie üblich ist Mustangserver 1.6.0 noch nicht Standard für alle Anfragen ohne Versionsangabe, kann aber explizit ausgewählt werden.

Chat unterm Weihnachtsbaum

Um geneseitig Fragen stellen beantworten zu können schlägt Jochen vor sich im matrix.org #facturx Raum an den nächsten zwei Donnerstagen (26.12. and 02.01.) zwischen 16:00 und 17:00 CET zu treffen.

Dieser Chatraum existiert bereits auf https://app.element.io/#/room/#facturx:matrix.org und man kann bereits jetzt Fragen stellen. Man benötigt einen Matrix-Account hat aber die freie Wahl des Chatclients. Es ist natürlich kostenlos und der öffentliche #facturx erfordert keine zusätzliche Authentifizierung.

Natürlich darf jeder jederzeit alle Fragen stellen (sei es betreffs Quba, Factur-X, XRechnung oder der B2B e-Rechnungspflicht) aber für absoluten Neulinge sei die Übersicht der B2B-Entwicklung und die entsprechenden Beispieldateien ans Herz gelegt.

Frohe Weihnachten und wir “sehen” uns im Chat, falls Sie mögen 🙂