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
[PEPPOL-EN16931-R040] Allowance/charge amount must equal base amount * percentage/100 if base amount and percentage exists
- 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
- PEPPOL-EN16931-R001: Geschäftsprozesstyp (BT-23) fehlt
- PEPPOL-EN16931-R005: Steuerwährung (BT-6) ist gleich der Rechnungswährung (BT-5)
- PEPPOL-EN16931-R008: Die Rechnung enthält leere Elemente
- PEPPOL-EN16931-R010: Elektronische Adresse des Käufers (BT-49) fehlt
- PEPPOL-EN16931-R020: Elektronische Adresse des Verkäufers (BT-34) fehlt
- PEPPOL-EN16931-R041: Grundbetrag fehlt bei Zu- oder Abschlag mit Prozentsatz
Zuletzt aktualisiert:
Erläuterung der Prüfregel, keine Rechts- oder Steuerberatung.