BR-DEC-25: Basisbetrag des Positionsnachlasses mit mehr als zwei Nachkommastellen
Der Grundbetrag, auf den sich ein Positionsnachlass bezieht (BT-137), darf höchstens zwei Nachkommastellen haben. Häufigster Auslöser: die Software übernimmt den ungerundeten internen Positionswert als Basis.
The allowed maximum number of decimals for the Invoice line allowance base amount (BT-137) is 2.
BR-DEC-25 betrifft nicht den Rabatt selbst, sondern die Bezugsgröße, aus der er berechnet wird. Sie taucht deshalb selten allein auf: Meist meldet der Validator gleichzeitig BR-DEC-24 für den Nachlassbetrag oder BR-DEC-23 für den Positionsnetto.
Was die Regel prüft
BT-137 (BT = Business Term, das nummerierte Feld der Norm) ist der Basisbetrag eines Positionsnachlasses: der Wert, auf den der Prozentsatz angewendet wird, typischerweise Menge mal Einzelpreis vor Abzug. In der CII-Syntax ist das ram:BasisAmount innerhalb von ram:SpecifiedTradeAllowanceCharge. Erlaubt sind höchstens zwei Nachkommastellen, geprüft wird die Schreibweise in der XML.
Warum sie in der Praxis fehlschlägt
- Die Software nimmt als Basis den internen, ungerundeten Positionswert: 26,5 m × 3,961 EUR ergibt 104,9665, und genau diese Zahl landet als Basis in der XML.
- Die Basis wird als Zwischenergebnis einer Gleitkomma-Rechnung übernommen, mit Artefakten wie
104.97000000000001.
Da der Nachlassbetrag aus derselben Zahl berechnet wird, zieht ein ungerundeter Basisbetrag fast immer weitere DEC-Meldungen nach sich.
So behebst du den Fehler
Runde die Basis kaufmännisch auf zwei Nachkommastellen und berechne den Nachlass aus dem gerundeten Wert, nicht umgekehrt. Die Reihenfolge lautet: erst Basis runden, dann Prozentsatz anwenden, dann das Ergebnis runden, dann den Positionsnetto aus den gerundeten Werten bilden. Beachte außerdem: Wer eine Basis angibt, sollte bei PEPPOL-Prüfung auch den Prozentsatz mitliefern (PEPPOL-EN16931-R042 verlangt beide zusammen). Belegschmied schreibt grundsätzlich nur centgenaue Beträge in die XML.
XML-Beispiel: vorher und nachher
<ram:SpecifiedTradeAllowanceCharge>
<ram:ChargeIndicator><udt:Indicator>false</udt:Indicator></ram:ChargeIndicator>
<ram:CalculationPercent>2</ram:CalculationPercent>
<!-- verletzt BR-DEC-25: Basisbetrag mit vier Nachkommastellen -->
<ram:BasisAmount>104.9665</ram:BasisAmount>
<ram:ActualAmount>2.10</ram:ActualAmount>
<ram:Reason>Materialrabatt</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
<ram:SpecifiedTradeAllowanceCharge>
<ram:ChargeIndicator><udt:Indicator>false</udt:Indicator></ram:ChargeIndicator>
<ram:CalculationPercent>2</ram:CalculationPercent>
<!-- korrekt: Basis auf Cent gerundet, Nachlass daraus berechnet -->
<ram:BasisAmount>104.97</ram:BasisAmount>
<ram:ActualAmount>2.10</ram:ActualAmount>
<ram:Reason>Materialrabatt</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
Rechnung selbst prüfen
Laden Sie Ihre Datei hoch und sehen Sie in Sekunden, welche Regeln sie besteht und welche nicht. Kostenlos, ohne Anmeldung, nichts wird gespeichert.
Regeln, die oft zusammen auftreten
← Alle Fehlermeldungen im Überblick
Gepflegt von Emilio Irmscher, Gründer von Belegschmied. Über den Autor