Zum Inhalt springen

PEPPOL-EN16931-R040: Betrag eines Zu- oder Abschlags passt nicht zu Grundbetrag und Prozentsatz

Offizielle Meldung

[PEPPOL-EN16931-R040] Allowance/charge amount must equal base amount * percentage/100 if base amount and percentage exists

XRechnung (CII) · Fehler · Sprache der Meldung: Englisch · Stand: xrechnung-3.0.2-validator-configuration-2026-08-31

[PEPPOL-EN16931-R040] Allowance/charge amount must equal base amount * percentage/100 if base amount and percentage exists

XRechnung (UBL) · Fehler · Sprache der Meldung: Englisch · Stand: xrechnung-3.0.2-validator-configuration-2026-08-31
Schweregrad
Fehler Die Rechnung gilt als ungültig und kann vom Empfänger abgelehnt werden.
Gilt für
XRechnung (CII), XRechnung (UBL)

Was bedeutet das?

Sind bei einem Zu- oder Abschlag Grundbetrag und Prozentsatz angegeben, muss der Betrag Grundbetrag × Prozentsatz / 100 entsprechen. Das gilt auf Dokumentenebene (Abschlag BT-92 bis BT-94, Zuschlag BT-99 bis BT-101) und auf Positionsebene (Abschlag BT-136 bis BT-138, Zuschlag BT-141 bis BT-143). Der Betrag weicht ab.
Die Regel stammt aus Peppol BIS Billing 3.0 und wird bei der XRechnung-Prüfung angewendet. Toleriert wird eine Abweichung von 0,02 (bei Rechnungswährung HUF 0,5). Fehlt der Betrag, wird mit 0 gerechnet. Beispiel: 3 % von 250.00 = 7.50.

Typische Ursachen

Der Betrag wurde von Hand geändert, Grundbetrag oder Prozentsatz aber nicht.
Als Grundbetrag wurde ein anderer Wert angegeben als der, auf den sich der Prozentsatz bezieht.
Der Prozentsatz wurde als Bruchteil angegeben (0.03 statt 3).

So beheben Sie den Fehler

Den Betrag als Grundbetrag × Prozentsatz / 100 berechnen und auf zwei Nachkommastellen runden, oder Grundbetrag und Prozentsatz an den tatsächlichen Betrag anpassen.
Sind Grundbetrag und Prozentsatz nicht nötig, beide weglassen (siehe PEPPOL-EN16931-R041 und -R042).
CII: ram:SpecifiedTradeAllowanceCharge mit ram:ActualAmount, ram:BasisAmount und ram:CalculationPercent; UBL: cac:AllowanceCharge mit cbc:Amount, cbc:BaseAmount und cbc:MultiplierFactorNumeric.
Die Rechnung erneut erzeugen und prüfen.

In E-Rechnungsfreund

Im Rechnungsformular in der Ansicht „Experte“ im Abschnitt „Zu-/Abschläge auf Dokumentenebene (BG-20/BG-21)“ die Felder „Betrag“, „Grundbetrag“ und „%“ so ausfüllen, dass Betrag = Grundbetrag × % / 100 ist, oder „Grundbetrag“ und „%“ leer lassen. Für Positionen gilt das ebenso im Reiter „Zu-/Abschläge (BG-27/28)“ der Position.

Beispiel

Fehlerhaft

<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>false</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:CalculationPercent>3</ram:CalculationPercent>
  <ram:BasisAmount>250.00</ram:BasisAmount>
  <ram:ActualAmount>7.80</ram:ActualAmount>
  ...
</ram:SpecifiedTradeAllowanceCharge>

Richtig

<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>false</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:CalculationPercent>3</ram:CalculationPercent>
  <ram:BasisAmount>250.00</ram:BasisAmount>
  <ram:ActualAmount>7.50</ram:ActualAmount>
  ...
</ram:SpecifiedTradeAllowanceCharge>
Für Entwickler: Prüfausdruck je Syntax

XRechnung (CII) (CII)

Kontext: ram:SpecifiedTradeAllowanceCharge

not(ram:CalculationPercent and ram:BasisAmount) or u:slack(if (ram:ActualAmount) then ram:ActualAmount else 0, (xs:decimal(ram:BasisAmount) * xs:decimal(ram:CalculationPercent)) div 100, $slackValue)

XRechnung (UBL) (UBL)

Kontext: ubl-invoice:Invoice/cac:AllowanceCharge | ubl-invoice:Invoice/cac:InvoiceLine/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:CreditNoteLine/cac:AllowanceCharge

not(cbc:MultiplierFactorNumeric and cbc:BaseAmount) or u:slack(if (cbc:Amount) then cbc:Amount else 0, (xs:decimal(cbc:BaseAmount) * xs:decimal(cbc:MultiplierFactorNumeric)) div 100, $slackValue)

Verwandte Prüfregeln

Zuletzt aktualisiert:
Erläuterung der Prüfregel, keine Rechts- oder Steuerberatung.