BR-43EN 16931

BR-43: Zuschlag auf Positionsebene ohne Betrag

Eine Rechnungsposition enthält einen Zuschlag (BG-28), aber keinen Zuschlagsbetrag (BT-141). Meist legt die Software den Zuschlagsblock an, ohne den Betrag zu füllen.

Regeltext im Prüfregelwerk

Each Invoice line charge (BG-28) shall have an Invoice line charge amount (BT-141).

BG-28BT-141

BR-43 betrifft Zuschläge innerhalb einer einzelnen Rechnungsposition, etwa einen Mindermengen- oder Expresszuschlag auf genau diese Zeile. Für Zuschläge auf Dokumentebene gilt die parallele Regel BR-36.

Was die Regel prüft

Wenn eine Rechnungsposition die Gruppe „Zuschlag auf Positionsebene“ (BG-28, BG = Business Group, eine Feldgruppe der Norm) enthält, muss darin der Zuschlagsbetrag (BT-141, BT = Business Term, das nummerierte Einzelfeld) stehen. Ein Zuschlag ohne Betrag ist rechnerisch wertlos: Der Empfänger könnte den Positions-Nettobetrag nicht nachvollziehen, denn der berechnet sich aus Menge mal Preis plus Zuschläge minus Nachlässe.

Warum sie in der Praxis fehlschlägt

Der häufigste Auslöser ist Software, die den Zuschlagsblock immer anlegt, sobald irgendein Zuschlagsfeld angefasst wurde. Trägt der Nutzer nur einen Grund wie „Mindermengenzuschlag“ ein oder bricht die Eingabe ab, steht der Block ohne ram:ActualAmount in der XML.

Zweiter Fall: Der Zuschlag ist als Prozentsatz erfasst und das Programm rechnet den absoluten Betrag nicht aus. Die EN 16931 verlangt aber immer den Betrag, der Prozentsatz allein genügt nicht.

Dritter Fall: Verwechslung von Zuschlag und Nachlass über den ChargeIndicator. Steht er auf true, ist es ein Zuschlag (BG-28, geprüft von BR-43), bei false ein Nachlass (BG-27, geprüft von BR-41). Wer den Indicator falsch setzt, bekommt die Meldung der jeweils anderen Serie.

So behebst du den Fehler

Prüf die betroffene Position: Soll dort wirklich ein Zuschlag stehen? Wenn ja, trag den Betrag ein (maximal zwei Nachkommastellen, sonst folgt BR-DEC-27). Wenn nein, entferne den Zuschlagsblock komplett statt ihn leer stehen zu lassen. In Belegschmied kann ein Positionszuschlag ohne Betrag gar nicht erst gespeichert werden.

XML-Beispiel: vorher und nachher

Der Zuschlagsblock hat einen Grund, aber keinen Betrag:

<!-- verletzt BR-43: SpecifiedTradeAllowanceCharge ohne ActualAmount -->
<ram:SpecifiedLineTradeSettlement>
  <ram:SpecifiedTradeAllowanceCharge>
    <ram:ChargeIndicator><udt:Indicator>true</udt:Indicator></ram:ChargeIndicator>
    <ram:Reason>Mindermengenzuschlag</ram:Reason>
  </ram:SpecifiedTradeAllowanceCharge>
  <!-- … -->
</ram:SpecifiedLineTradeSettlement>

Korrigiert mit Zuschlagsbetrag (BT-141):

<ram:SpecifiedLineTradeSettlement>
  <ram:SpecifiedTradeAllowanceCharge>
    <ram:ChargeIndicator><udt:Indicator>true</udt:Indicator></ram:ChargeIndicator>
    <ram:ActualAmount>15.00</ram:ActualAmount>
    <ram:Reason>Mindermengenzuschlag</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