Mustang 2.12.0

Am heutigen 20.07.2024 haben wir Mustang in Version 2.12.0 veröffentlicht. Aufgrund von Abhängigkeiten ist dies die erste Version die mindestens Java in Version 11 oder höher erfordert (vorher Version 8 oder höher).

Korrekturen

  • Erkanntes Profil auf XRechnung setzen falls XR importiert wird #395
  • #397 Build unbenutzbar auf alpine/docker
  • Fix #389: ClassCastException: ZUGFeRDExporterFromA3
  • ZF extended sollte kein deliverydate erfordern #411
  • ubl visualization: ubl namespace prefix nicht länger erwarten #416
  • #392 CLI: action combine: –ignorefileextension um PDF/A Fehler zu ignorieren funktioniert nicht
  • Alle BankDetails aus CII import zur Verfügung stellen (statt nur der ersten): #408.

Refactorings

  • Jakarta XML support #372
  • Aktualisierung auf PDFBox 3 #373
  • Mindestens Java 11 erfordern aufgrund upgrade auf PH-Schematron 8
  • in der Kommandozeile ist Factur-X=fx jetzt Standard für combine
  • logback (#402) und java.util.logging (#407) zugunsten von slf4j entfernt
  • Powershell: –no-additional-attachments parameter hinzugefügt für besseres batch processing:
    In cmd.exe hatte auch –attachments “” funkioniert aber in der Powershell war es ungewöhnlicherweise –attachments ‘””‘

Neue Features

  • Unterstützung von export/visualization nach PDF, mit Dank an Heavenfighter #387 der die Schreifteinbettung gelöst hat #388
  • XRechnung/UBL-Dateien validieren können #337

Nachtrag, 22.07., 20:00 Uhr CET: Während der Wechsel auf Java 11 angekündigt war hat die Notwendigkeit für den “shaded” classifier für Abhängigkeiten beim Bezug über Maven Central überrascht. Bitte lassen Sie mich wissen wenn jemand eine Idee hat wo das her kam, ich sehe keine Änderung die das notwendig gemacht haben könnten.

Mustang 2.11.0

Am gestrigen 22.05.2024 haben wir Version 2.11 unseres plattformunabhängigen open-source E-Rechnungs-Tool/Validierer-/-Bibliothek Mustangproject veröffentlicht.

Änderungen

  • EN16931 validation 1.3.12 codelists v11 #357
  • Überflüssige Schriftartdateien entfernt #358
  • invoice’s getSender/getRecipient() gibt jetzt Tradeparty statt IZUGFeRDExportableTradeParty zurück
  • #314 ZUGFeRDInvoiceImporter hat einen zusätzlichen Konstuktor

Verbesserungen/Korrerkturen

  • InvoiceImporter UBL import verbessertm, insbesondere auch für Contacts
  • (erste) IBAN wird jetzt in die Absender getBankDetails geparsed
  • Bruttopreis (lies: Nettolistenpreis) entfernt wenn gleich Nettopreis https://github.com/ZUGFeRD/mustangproject/pull/369 / Aufgegeben zugunsten XRechnung 3

Neue Features

  • ZUGFeRDImporter lies jetzt auch XML-Dateien (vorher nur müglich durch XMLImporter)
  • Xrechnungimporter liest jetzt auch aus Dateiname oder Inputstream
  • Inputstreams werden generell besser unterstützt https://github.com/ZUGFeRD/mustangproject/pull/379
  • Auf Valdierungsfehler auch programmatisch zugreifen können, nicht nur über XML: https://github.com/ZUGFeRD/mustangproject/pull/382
  • Und zu guter letzt: Skonto-Schreibunterstützung! (Neue Klasse, vorher nur möglich für XR, nicht ZF Extended, durch manuelles setPaymentTermDescription)

Deutschland führt 2025-2028 verpflichtende B2B-e-Rechnung ein

Am Freitag, dem 22.03.2024 hat der Bundesrat dem Wachstumschancengesetz zugestimmt, das im innerdeutschen Geschäftsverkehr Papier- und PDF-Rechnungen (ausgenommen Factur-X/ZUGFeRD) bis 2028 abschaffen wird. Hintergrund

Aus diesem Anlass haben wir die (inoffizielle) https://ZUGFeRD.org/-Seite gerelaunched. Sie enthält weiterhin eine Liste der ZUGFeRD Open-Source Tools und Bibliotheken, hat aber jetzt auch eine Navigation und eine (inoffizielle englischsprachige) FAQ.

Mustangserver 1.3

Am heutigen 04.03.2024 haben wir Version 1.3 unserer Infrastruktur und unserer Mustangserver REST API veröffentlicht.

Infrastruktur

  • Es gibt jetzt minimale Service Level Agreements (SLAs) selbst im Basisvertrag.
    Schon dort garantieren wir jetzt 99% Verfügbarkeit, außerdem skalieren die Preise besser und das maximale Anfragevolumen für “Standardkunden” hat sich verfünffacht.

  • Authentifizierung durch API keys: API keys sind leichter zu benutzen als unsere Oauth2 Authentifizierung und können zeitlich, auf Referrer oder IPs beschränkt werden. Dies war schon vorher möglich aber jetzt haben wir die letzten Fehler beseitigt und das Feature auch in die Dokumentation aufgenommen.
  • Es gibt jetzt end-to-end-monitoring auf beiden APIs, Mustangserver und Mustangserver-docs. Vorher haben wir nur das Betriebssystem und den Prozess überwacht, was in seltenen Fällen unbemerkte Ausfälle ermöglicht hätte. Jetzt führen wir periodisch tatsächliche API-Operationen inklusive Authentifizierung durch.
  • Die Lastverteilung ist jetzt getestet und eingeschaltet.

Mustangserver Anwendung

Unter anderem

  • haben wir den Phive Validierer aktualisert um beispielsweise XRechnung 3.0.1 validieren zu können
    (für CII war dies mit dem Mustangserver-eigenen Validierer bereits möglich),
  • Wir haben die Dokumentation beispielsweise um xmltohtml erweitert
  • Wir ermöglichen Lognachrichten in massiv parallelen Szenarien und
  • wir haben einen Endpunkt “combine” hinzugefügt, der es ermöglicht, ein als JSON übergebenes Rechnungsobjekt direkt in eine PDF/A-Datei zu schreiben. Vorher stand nur combineXML zur Verfügung, für das JSON erst über einen anderen Endpunkt umgewandelt werden musste.

B2B-Situation in Deutschland

Der Vermittlungsausschuss hat gestern vorgeschlagen, verpflichtende innerdeutsche E-Rechnungen zwei Jahre später als bislang geplant einzuführen, mit einer Verpflichtung zum Lesen am 2025 und zum Schreiben ab 2026. Der Bundestag wird diesen Kompromiss in seiner Sitzung am 23.02.2024 beraten, der Bundesrat kann es dann in seiner Sitzung am 22.03.2024 ratifizieren.

Update am 24.02.2024: Ich wurde darauf hingewiesen, dass die Deadline 2025/2026 bleibt, in der ursprünglichen Fassung von Donnerstag, 22.02. hatte ich fälschlicherweise eine zweijährige Verzögerung auf 2027/2028 interpretiert.

Mustangserver 1.2

Mustangserver 1.2, verfügbar seit 08.01.2024, brachte kleinere Änderungen, nämlich Unterstützung für XRechnung 3.0.1 auf /combineXML und
/parse sowie /invoice2XML und einhergehend die Unterstützung von Email Addressen von “tradeparties”, nicht nur von Kontakten. Bereits in der Vorgängerversion war es möglich XRechnung 3.0.1 zu validieren.

Diese neue Version wurde am 29.01.2024 auch zur Standardversion erklärt.

Mustang 2.10.0

Die am heutigen 30.12.2023 veröffentlichte Version 2.10.0 von Mustangproject unterstützt das Schreiben von XRechnung 3.0.1-Dateien, die ab Februar 2024 für innerdeutsche B2G-Rechnungen verbindlich werden (Fehler #343). Nutzer müssen dazu zusätzlich die Emailaddressen der Absende- und Empfangsorganisation angeben, nicht nur der des entsprechenden Kontakts.
Zusätzlich wurden zwei Details repartiert, betreffend PDF/A3-Eingabe per Inputstream und die Kommandozeile kann jetzt auch wieder Factur-X 1-Dateien erzeugen (Fehler #354).

Mustangserver 1.1

Am Samstag, dem 09.12.2023, haben wir während des geplanten Wartungsfensters an Mustangserver Version 1.1 veröffentlicht. Diese Version

  • benennt einen Parameter um (aus Konsistenzgründen wurde invoice2XML’s Parameter “standard” zu “format” umbenannt)
  • Verbessert die Fehlerbehandlung und gibt jetzt auch Exception-Messages zuück die in der Vergangenheit verworfen wurden
  • Der intern benutzte Header-Parameter Username, der optional war, wurde aus der interaktiven Demo entfernt. Er wurde ohnehin vom API-management überschrieben und war verwirrend für Nutzer die glauben könnten, dort etwas eingeben zu müssen, was ohnehin zu Fehlern führte.
  • Der Endpunkt CombineXML akzeptiert jetzt auch PDF/A-3-Eingabedateien für Factur-X-Ausgabe: Wir haben gesehen, dass mit dem mustang-docs “PDF” Endpunkt generierte PDF/A-3s in einigen Fällen (bei sehr grafiklastigen Dateien) bis zu 80% kleiner waren als ihre PDF/A-1 Pendants, zurückzuführen auf neuen Komprimierungsalgorithmen die zwischen diesen Versionen eingeführt wurden.

ZUsätzlich haben wir im Wartungsfenster

  • die SSL-Zertifikate aktualisiert, die ansonsten am 23.12. abgelaufen wären,
  • wir leiten beim Zugriff auf api.usegroup.de jetzt standardmäßig weiter zum “devportal”, d.i. dem API “Marktplatz”. Die Standardweiterleitung war zum “publisher” (de facto Teil der Administration) was für selbstregistrierte Benutzer ohne Adminrechte zu unerwarteten Meldungen über fehlende Zugriffsrechte führen konnte.
  • Wir haben Zugriff auf Mustangserver-docs, den PDF/A-generierenden Teil der API, eingeschränkt. Existierende Nutzer haben immer noch Zugriff aber neue selbstregistrierende Nutzer müssen dieses Recht jetzt beantragen, da es ohnehin ein Premium-Feature ist.

Mustang 2.9.0

Mustangproject Version 2.9.0 wurde am heutigen 27.11.2023 veröffentlicht.
Neue Features beinhalten:

  • Vormals musste man angeben ob die PDF-Eingabe PDF/A-1 oder PDF/A-3 war, mit dem jetzt gelösten Issue #341 kann man Mustang diese Feststellung überlassen
  • Es validiert jetzt auch XRechnung 3.0.1 #347

Die folgenden Korrekturen wurden umgesetzt

  • Fehlendes schließendes Tag in BankDetails sollte keine BIC angegeben sein #339
  • PDF/A-3 Eingabe setzt jetzt auch eine Standard-ZUGFeRD-Version

Die folgenden bekannten Fehler verbleiben in der Software:

  • Die XRechnung-Validation deckt nur die CII-Variante ab #337,
  • Mustang schreibt noch nicht XRechnung 3.0 #343 und
  • es gibt weiterhin einen bekannten ZUGFeRD-Fehler in der Validierung unter anderem des Referenzprofils XRechnung #316