BR-DEC-24EN 16931

BR-DEC-24: Positionsnachlass mit mehr als zwei Nachkommastellen

Der Nachlassbetrag einer Rechnungsposition (BT-136) darf höchstens zwei Nachkommastellen haben. Häufigster Auslöser: ein prozentualer Rabatt wird ungerundet aus der Basis berechnet.

Regeltext im Prüfregelwerk

The allowed maximum number of decimals for the Invoice line allowance amount (BT-136) is 2.

BT-136

Nachlässe auf Positionsebene sind fast immer Prozentrechnungen, und Prozentrechnungen liefern fast nie glatte Centbeträge. Genau an dieser Stelle greift BR-DEC-24.

Was die Regel prüft

BT-136 (BT = Business Term, das nummerierte Feld der Norm) ist der Betrag eines Nachlasses innerhalb einer einzelnen Rechnungsposition, etwa ein Positionsrabatt von 3 %. Dieser Betrag darf höchstens zwei Nachkommastellen haben. Wie bei allen DEC-Regeln zählt die Schreibweise in der XML: 3.1455 ist unzulässig, ebenso 3.150 mit überflüssiger Null.

Der Nachlass steht in der CII-Syntax als ram:SpecifiedTradeAllowanceCharge mit ChargeIndicator false in den Abrechnungsdaten der Position; sein Betrag ist ram:ActualAmount.

Warum sie in der Praxis fehlschlägt

  • Der Rabatt ist prozentual definiert und die Software schreibt das rohe Produkt aus Basis und Prozentsatz in die XML: 3 % von 104,85 EUR sind 3,1455.
  • Der Nachlass wird aus einer bereits ungerundeten Basis abgeleitet, dann erben beide Felder zu viele Stellen (für die Basis meldet der Validator zusätzlich BR-DEC-25).

So behebst du den Fehler

Runde den Nachlassbetrag nach der Prozentrechnung kaufmännisch auf zwei Nachkommastellen. Achte danach auf die Konsistenz: Der Positionsnettobetrag (BT-131) muss mit dem gerundeten Nachlass gerechnet sein, sonst passt die Positionsrechnung nicht mehr. Bei PEPPOL-Prüfung kommt hinzu, dass Betrag, Basis und Prozentsatz zusammenpassen müssen (PEPPOL-EN16931-R040), also immer erst runden, dann weiterrechnen. Belegschmied gibt alle Beträge fest mit zwei Nachkommastellen aus, der Fall tritt dort nicht auf.

XML-Beispiel: vorher und nachher

<ram:SpecifiedLineTradeSettlement>
  <ram:SpecifiedTradeAllowanceCharge>
    <ram:ChargeIndicator><udt:Indicator>false</udt:Indicator></ram:ChargeIndicator>
    <ram:CalculationPercent>3</ram:CalculationPercent>
    <ram:BasisAmount>104.85</ram:BasisAmount>
    <!-- verletzt BR-DEC-24: Nachlassbetrag mit vier Nachkommastellen -->
    <ram:ActualAmount>3.1455</ram:ActualAmount>
    <ram:Reason>Positionsrabatt</ram:Reason>
  </ram:SpecifiedTradeAllowanceCharge>
  <!-- … -->
</ram:SpecifiedLineTradeSettlement>
<ram:SpecifiedLineTradeSettlement>
  <ram:SpecifiedTradeAllowanceCharge>
    <ram:ChargeIndicator><udt:Indicator>false</udt:Indicator></ram:ChargeIndicator>
    <ram:CalculationPercent>3</ram:CalculationPercent>
    <ram:BasisAmount>104.85</ram:BasisAmount>
    <!-- korrekt: kaufmännisch auf Cent gerundet -->
    <ram:ActualAmount>3.15</ram:ActualAmount>
    <ram:Reason>Positionsrabatt</ram:Reason>
  </ram:SpecifiedTradeAllowanceCharge>
  <!-- … -->
</ram:SpecifiedLineTradeSettlement>

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