BR-DEC-09EN 16931

BR-DEC-09: Summe der Positionsnettobeträge mit mehr als zwei Nachkommastellen

Die Summe der Positionsnettobeträge (BT-106) darf höchstens zwei Nachkommastellen haben. Häufigster Auslöser: die Software summiert ungerundete Positionswerte und schreibt das rohe Ergebnis in die XML.

Regeltext im Prüfregelwerk

The allowed maximum number of decimals for the Sum of Invoice line net amount (BT-106) is 2.

BT-106

BT-106 ist das erste Feld des Summenblocks am Ende der Rechnung. Wenn hier schon mehr als zwei Nachkommastellen stehen, zieht sich der Fehler meist durch alle Folgesummen.

Was die Regel prüft

BT-106 (BT = Business Term, das nummerierte Feld der Norm) ist die Summe aller Positionsnettobeträge (BT-131), in CII das Element ram:LineTotalAmount. Die Regel prüft nur die Schreibweise: maximal zwei Zeichen nach dem Dezimalpunkt. Inhaltlich verlangt BR-CO-10 zusätzlich, dass der Wert exakt die Summe der Positionsbeträge ist.

Die Norm ist hier bewusst gestuft: Einzelpreise (BT-146) dürfen mehr als zwei Nachkommastellen haben, etwa 0,0475 EUR pro Stück. Aber jeder Positionsnettobetrag (BR-DEC-23) und erst recht die Summe darüber muss ein sauberer Cent-Betrag sein.

Warum sie in der Praxis fehlschlägt

Der klassische Auslöser: Die Software berechnet jede Position als Menge × Einzelpreis, hält die Ergebnisse ungerundet im Speicher und summiert sie. 1.250 Stück × 0,0475 EUR sind 59,375 EUR; ein paar solcher Positionen, und die Summe hat drei oder mehr Nachkommastellen. In der XML stehen die Positionen dann oft korrekt gerundet, nur die Summe wurde aus den Rohwerten gebildet.

Dazu kommt Gleitkomma-Arithmetik: Selbst aus lauter glatten Cent-Beträgen macht eine float-Addition gern 1037.4400000000001.

So behebst du den Fehler

Runde zuerst jeden Positionsnettobetrag auf zwei Nachkommastellen und bilde BT-106 dann als Summe der gerundeten Werte, nicht umgekehrt. Nur so stimmen Schreibweise (BR-DEC-09) und Rechenprobe (BR-CO-10) gleichzeitig: Wer die rohe Summe am Ende rundet, riskiert eine Cent-Abweichung gegenüber den gerundeten Positionen. Rechne anschließend den restlichen Summenblock einmal durch, denn BT-106 geht direkt in die Nettosumme BT-109 ein. Belegschmied rundet pro Position und summiert die gerundeten Werte, der Fall tritt dort nicht auf.

XML-Beispiel: vorher und nachher

<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <!-- verletzt BR-DEC-09: Summe mit vier Nachkommastellen -->
  <ram:LineTotalAmount>1037.4375</ram:LineTotalAmount>
  <ram:TaxBasisTotalAmount>1037.44</ram:TaxBasisTotalAmount>
  <!-- … -->
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>

Korrigiert, als Summe der bereits gerundeten Positionsbeträge:

<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:LineTotalAmount>1037.44</ram:LineTotalAmount>
  <ram:TaxBasisTotalAmount>1037.44</ram:TaxBasisTotalAmount>
  <!-- … -->
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>

Rechnung selbst prüfen

Lade deine Datei hoch und sieh in Sekunden, welche Regeln sie besteht und welche nicht. Kostenlos, ohne Anmeldung, nichts wird gespeichert.

Regeln, die oft zusammen auftreten

← Alle Fehlermeldungen im Überblick