BR-DEC-23: Positionsnettobetrag mit mehr als zwei Nachkommastellen
Der Nettobetrag einer Rechnungsposition (BT-131) darf höchstens zwei Nachkommastellen haben. Häufigster Auslöser: Menge mal Einzelpreis wird ungerundet in die XML geschrieben.
The allowed maximum number of decimals for the Invoice line net amount (BT-131) is 2.
Diese Meldung entsteht fast nie durch eine Eingabe, sondern durch eine fehlende Rundung im erzeugenden Programm. Sie tritt gern mehrfach auf, einmal pro betroffener Position.
Was die Regel prüft
BT-131 (BT = Business Term, das nummerierte Feld der Norm) ist der Nettobetrag einer einzelnen Rechnungsposition: Menge mal Preis, abzüglich Positionsnachlässe. Er darf höchstens zwei Nachkommastellen haben. Geprüft wird die Zeichenkette in der XML, 103.075 ist also auch dann unzulässig, wenn der Wert rechnerisch korrekt wäre.
Wichtig zur Abgrenzung: Der Einzelpreis (BT-146) darf mehr als zwei Nachkommastellen haben, etwa 0,0375 EUR pro Stück bei Kleinteilen. Die Zwei-Stellen-Grenze gilt erst für das Ergebnis der Positionsrechnung.
Warum sie in der Praxis fehlschlägt
- Krumme Mengen mal krumme Preise: 1,75 Stunden × 58,90 EUR ergibt 103,075. Wird das Produkt ungerundet übernommen, sind es drei Nachkommastellen.
- Der Preis ist intern mit vier Nachkommastellen hinterlegt (üblich bei Schüttgut, Kabelware, Kleinteilen), und die Software reicht das Produkt ohne Rundung durch.
- Gleitkomma-Arithmetik produziert Werte wie
103.07500000000001.
So behebst du den Fehler
Runde jeden Positionsnettobetrag kaufmännisch auf zwei Nachkommastellen, bevor er in die XML geschrieben wird, und bilde die Positionssumme (BT-106) anschließend aus den gerundeten Werten. Wer erst summiert und dann rundet, riskiert die Folgeregel BR-CO-10, weil die Summe der ausgewiesenen Positionsbeträge nicht mehr zur ausgewiesenen Gesamtsumme passt. Belegschmied rundet jede Position beim Erzeugen der XML auf Cent und summiert die gerundeten Werte, der Fall tritt dort nicht auf.
XML-Beispiel: vorher und nachher
<ram:IncludedSupplyChainTradeLineItem>
<!-- … Menge 1.75 HUR × 58.90 EUR … -->
<ram:SpecifiedLineTradeSettlement>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<!-- verletzt BR-DEC-23: drei Nachkommastellen -->
<ram:LineTotalAmount>103.075</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<!-- … -->
<ram:SpecifiedLineTradeSettlement>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<!-- korrekt: kaufmännisch gerundet -->
<ram:LineTotalAmount>103.08</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
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.