BR-DEC-17EN 16931

BR-DEC-17: Rundungsbetrag mit mehr als zwei Nachkommastellen

Der Rundungsbetrag (BT-114) darf höchstens zwei Nachkommastellen haben. Häufigster Auslöser: die Software schreibt eine intern berechnete Rundungsdifferenz ungerundet in die XML.

Regeltext im Prüfregelwerk

The allowed maximum number of decimals for the Rounding amount (BT-114) is 2.

BT-114

Der Rundungsbetrag ist eines der am seltensten genutzten Felder der E-Rechnung. Wenn BR-DEC-17 auftaucht, steckt fast immer eine Software dahinter, die das Feld automatisch befüllt.

Was die Regel prüft

BT-114 (BT = Business Term, das nummerierte Feld der Norm) ist der Betrag, um den der Rechnungsendbetrag gerundet wurde, etwa beim Runden auf volle Euro. Er geht in die Schlussrechnung nach BR-CO-16 ein:

Fälliger Betrag (BT-115) = Gesamtsumme brutto (BT-112) − gezahlter Betrag (BT-113) + Rundungsbetrag (BT-114)

BR-DEC-17 prüft dabei nur die Schreibweise: Der Wert darf maximal zwei Nachkommastellen haben. 0.44 und 0 sind zulässig, 0.4444 nicht. Geprüft wird der Text in der XML, nicht der rechnerische Wert: auch 0.440 mit angehängter Null fällt durch.

Warum sie in der Praxis fehlschlägt

In Deutschland wird kaum auf volle Beträge gerundet, das Feld bleibt daher meist leer. Schief geht es typischerweise so:

  • Die Software nutzt BT-114 als Auffangbecken für Rundungsdifferenzen zwischen Positionssummen und Endbetrag und schreibt die rohe Differenz aus der Gleitkomma-Arithmetik hinein, etwa 0.0049999999.
  • Der Rundungsbetrag wird aus einer Prozentrechnung abgeleitet und vor der Ausgabe nicht auf Cent gerundet.

So behebst du den Fehler

Runde den Wert kaufmännisch auf zwei Nachkommastellen, bevor er in die XML geschrieben wird. Prüfe danach, ob die Gleichung aus BR-CO-16 noch aufgeht, sonst folgt die nächste Validator-Meldung. Wenn dein Betrag gar keine echte Rundung abbildet, sondern nur ein Rechenartefakt ist, lass das Feld ganz weg: BT-114 ist optional. Belegschmied gibt beim Erzeugen der XML alle Beträge fest mit zwei Nachkommastellen aus, der Fall tritt dort nicht auf.

XML-Beispiel: vorher und nachher

<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:TaxBasisTotalAmount>1037.44</ram:TaxBasisTotalAmount>
  <ram:TaxTotalAmount currencyID="EUR">197.12</ram:TaxTotalAmount>
  <!-- verletzt BR-DEC-17: Rundungsbetrag hat vier Nachkommastellen -->
  <ram:RoundingAmount>0.4444</ram:RoundingAmount>
  <ram:GrandTotalAmount>1234.56</ram:GrandTotalAmount>
  <ram:DuePayableAmount>1235.00</ram:DuePayableAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:TaxBasisTotalAmount>1037.44</ram:TaxBasisTotalAmount>
  <ram:TaxTotalAmount currencyID="EUR">197.12</ram:TaxTotalAmount>
  <!-- korrekt: auf Cent gerundet, 1234.56 + 0.44 = 1235.00 -->
  <ram:RoundingAmount>0.44</ram:RoundingAmount>
  <ram:GrandTotalAmount>1234.56</ram:GrandTotalAmount>
  <ram:DuePayableAmount>1235.00</ram:DuePayableAmount>
</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.

← Alle Fehlermeldungen im Überblick