PEPPOL-EN16931-R044: Charge on price level is not allowed
Official message
[PEPPOL-EN16931-R044] Charge on price level is NOT allowed. Only value 'false' allowed.
[PEPPOL-EN16931-R044] Charge on price level is NOT allowed. Only value 'false' allowed.
- Severity
- Error The invoice is invalid and may be rejected by the recipient.
- Applies to
- XRechnung (CII), XRechnung (UBL)
What does this mean?
Charge on price level is NOT allowed: in the item price of a line only a discount (item price discount, BT-147) is allowed, not a charge. The ChargeIndicator must be false there; the invoice contains a charge (true) on price level.
The rule originates from Peppol BIS Billing 3.0 and is applied in the XRechnung validation. CII: ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge with ram:ActualAmount, UBL: cac:Price/cac:AllowanceCharge.
Typical causes
A surcharge was given as charge in the item price instead of as line level charge.
The indicator was swapped (true instead of false) for a price discount.
How to fix the error
State a price discount with ChargeIndicator false.
Either include a surcharge in the gross price (BT-148) or state it as line level charge (BG-28).
Generate and validate the invoice again.
In E-Rechnungsfreund
The application always writes the "Preisrabatt (BT-147)" (price discount) as an allowance. In the invoice form, "Experte" view, section "Rechnungspositionen (BG-25)" (invoice lines), include a surcharge in the "Bruttopreis (BT-148)" (gross price) or enter it in the tab "Zu-/Abschläge (BG-27/28)" (allowances/charges) of the line as "Zuschlag (BG-28)" (charge).
Example
Wrong
<ram:GrossPriceProductTradePrice>
<ram:ChargeAmount>100.00</ram:ChargeAmount>
<ram:AppliedTradeAllowanceCharge>
<ram:ChargeIndicator>
<udt:Indicator>true</udt:Indicator>
</ram:ChargeIndicator>
<ram:ActualAmount>5.00</ram:ActualAmount>
</ram:AppliedTradeAllowanceCharge>
</ram:GrossPriceProductTradePrice>
Correct
<ram:GrossPriceProductTradePrice>
<ram:ChargeAmount>105.00</ram:ChargeAmount>
</ram:GrossPriceProductTradePrice>
For developers: test expression per syntax
XRechnung (CII) (CII)
Context: rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice
not(ram:AppliedTradeAllowanceCharge/ram:ActualAmount) or ram:AppliedTradeAllowanceCharge/ram:ChargeIndicator/udt:Indicator = 'false'
XRechnung (UBL) (UBL)
Context: cac:Price/cac:AllowanceCharge
normalize-space(cbc:ChargeIndicator) = 'false'
Related validation rules
- PEPPOL-EN16931-R001: Business process type (BT-23) is missing
- PEPPOL-EN16931-R005: VAT accounting currency (BT-6) equals the invoice currency (BT-5)
- PEPPOL-EN16931-R008: The invoice contains empty elements
- PEPPOL-EN16931-R010: Buyer electronic address (BT-49) is missing
- PEPPOL-EN16931-R020: Seller electronic address (BT-34) is missing
- PEPPOL-EN16931-R040: Allowance or charge amount does not match base amount and percentage
Last updated:
Explanation of the validation rule, not legal or tax advice.