Release 26.5.50 am 02.09.2026
· 2 Minuten Lesezeit
Dieses Release korrigiert den Block für den Rechnungsrabatt (BG-20) in der XRechnung-Ausgabe als CII und UBL: Eine Steueraufschlüsselung mit Wert 0 bleibt nicht mehr neben einer Gruppe mit tatsächlichem Steuersatz erhalten, der Abschlagsblock wird nur noch geschrieben, wenn ein Beleg wirklich einen Rechnungsrabatt enthält, und ein von der Bereinigung der Aufschlüsselung hinterlassener Filter kann die Belegzeilen nicht mehr leeren.
Bugfix
- Eine Steueraufschlüsselung mit einer Bemessungsgrundlage von 0 bleibt nun nur noch erhalten, wenn eine verbleibende Belegzeile sowohl ihre Steuerkategorie als auch ihren Steuersatz teilt. Bisher wurde allein die Kategorie verglichen, sodass eine Gruppe wie Regelsteuersatz mit 0 % neben den tatsächlichen 19-%-Zeilen erhalten blieb und einen Abschlagsblock (BG-20) mit einem Steuersatz von 0 speiste — vom KoSIT-Validator mit BR-S-06 abgewiesen. Betroffen sind Belege, bei denen eine Zeile aus den Belegzeilen entfernt wird, aber weiterhin eine Gruppe zur Aufschlüsselung beiträgt, etwa eine mseDoc2SITE-Leistungsgruppenzeile ohne MwSt.-Produktbuchungsgruppe (CHN-428)
- Belege werden nicht mehr ganz ohne Zeilen geschrieben. Die Bereinigung der Aufschlüsselung filterte den Zeilenpuffer des Aufrufers nach der Steuerkategorie und setzte den Filter nie zurück; der Writer liest diesen Puffer ungefiltert, sodass die CII- und UBL-Ausgabe keine Rechnungs- bzw. Gutschriftszeilen enthielt, sobald die gefilterte Kategorie auf keine Zeile passte (BR-16). Die Bereinigung arbeitet nun auf einer eigenen Kopie des Puffers, und beide Zeilenschleifen des Writers setzen den Puffer vor dem Lesen zurück. Der Fehler kam mit 26.5.46 hinzu und betraf auch das Szenario der Aufschlüsselungskorrektur aus diesem Release (CHN-428)
- Der Abschlagsblock (BG-20) wird nun nur noch geschrieben, wenn die Zeile der Steueraufschlüsselung einen Rechnungsrabatt enthält. Die vier Blockzeilen — CII und UBL, Rechnung und Gutschrift — steuern ihre Ausgabe über das Dezimalfeld Rechnungsrabattbetrag, waren aber mit dem Datentyp
TypeTexthinterlegt, und Verarbeiten oder Ignorieren behandelt nur Dezimal-, Ganzzahl- und Boolean-Werte als leer. Der Text0passierte daher die Prüfung, und seit 26.5.37 wurde für jede Gruppe ein leerer Abschlagsblock geschrieben, mit Rabatt oder ohne. Die Zeilen sind nun mitTypeDecimalhinterlegt; da Schemazeilen Mandantendaten sind, korrigiert ein Upgrade sie auf bestehenden Mandanten — angepasst werden nur Zeilen, die über den Rechnungsrabattbetrag gesteuert werden, sodass individuelle Kundenänderungen erhalten bleiben (CHN-428)