BR-DEC-01EN 16931

BR-DEC-01: Nachlass auf Dokumentenebene mit mehr als zwei Nachkommastellen

Der Betrag eines Nachlasses auf Dokumentenebene (BT-92) darf höchstens zwei Nachkommastellen haben. Häufigster Auslöser: ein prozentualer Rabatt wird berechnet und ungerundet in die XML geschrieben.

Regeltext im Prüfregelwerk

The allowed maximum number of decimals for the Document level allowance amount (BT-92) is 2.

BT-92

BR-DEC-01 gehört zur BR-DEC-Serie, die für alle Geldbeträge der Rechnung die Schreibweise prüft: maximal zwei Nachkommastellen, wie es Cent-Beträge eben haben.

Was die Regel prüft

BT-92 (BT = Business Term, das nummerierte Feld der Norm) ist der Betrag eines Nachlasses auf Dokumentenebene, also eines Rabatts, der auf die ganze Rechnung wirkt statt auf eine einzelne Position. Er fließt über BR-CO-11 in die Summe der Nachlässe (BT-107) und darüber in die Nettosumme der Rechnung ein.

Geprüft wird die Schreibweise in der XML, nicht der rechnerische Wert: 25.13 ist zulässig, 25.125 nicht, und auch 25.130 mit angehängter Null fällt durch, weil drei Zeichen nach dem Punkt stehen.

Warum sie in der Praxis fehlschlägt

Nachlässe auf Dokumentenebene sind fast immer prozentual: 3 % Treuerabatt, 5 % Aktionsnachlass. Die Rechnung dahinter erzeugt fast zwangsläufig krumme Werte, 3 % von 837,45 EUR sind 25,1235 EUR. Schreibt die Software das Ergebnis der Prozentrechnung direkt in die XML, statt vorher auf Cent zu runden, ist die Regel verletzt.

Der zweite Auslöser ist Gleitkomma-Arithmetik: Aus 0,03 × 837,45 wird intern etwas wie 25.123499999999997, und genau diese Zeichenkette landet in der Datei.

So behebst du den Fehler

Runde BT-92 kaufmännisch auf zwei Nachkommastellen, bevor der Wert in die XML geschrieben wird. Prüfe danach, ob die Summenkette noch aufgeht: BT-107 muss die Summe aller gerundeten BT-92-Werte sein (BR-CO-11), sonst löst du mit der Korrektur die nächste Meldung aus. Wenn du den Nachlass zusätzlich mit Basisbetrag (BT-93) und Prozentsatz (BT-94) angibst, müssen auch diese zum gerundeten Betrag passen. Belegschmied gibt alle Beträge fest mit zwei Nachkommastellen aus, der Fall tritt dort nicht auf.

XML-Beispiel: vorher und nachher

Ein Rabatt von 3 % auf 837,45 EUR, ungerundet übernommen:

<ram:ApplicableHeaderTradeSettlement>
  <ram:SpecifiedTradeAllowanceCharge>
    <ram:ChargeIndicator><udt:Indicator>false</udt:Indicator></ram:ChargeIndicator>
    <!-- verletzt BR-DEC-01: vier Nachkommastellen -->
    <ram:ActualAmount>25.1235</ram:ActualAmount>
    <ram:Reason>Treuerabatt 3 %</ram:Reason>
  </ram:SpecifiedTradeAllowanceCharge>
  <!-- … -->
</ram:ApplicableHeaderTradeSettlement>

Korrigiert, kaufmännisch auf Cent gerundet:

<ram:ApplicableHeaderTradeSettlement>
  <ram:SpecifiedTradeAllowanceCharge>
    <ram:ChargeIndicator><udt:Indicator>false</udt:Indicator></ram:ChargeIndicator>
    <ram:ActualAmount>25.12</ram:ActualAmount>
    <ram:Reason>Treuerabatt 3 %</ram:Reason>
  </ram:SpecifiedTradeAllowanceCharge>
  <!-- … -->
</ram:ApplicableHeaderTradeSettlement>

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