PEPPOL-EN16931-R042: Percentage missing for allowance or charge with base amount
Official message
[PEPPOL-EN16931-R042] Allowance/charge percentage MUST be provided when allowance/charge base amount is provided.
[PEPPOL-EN16931-R042] Allowance/charge percentage MUST be provided when allowance/charge base amount is provided.
- Severity
- Error The invoice is invalid and may be rejected by the recipient.
- Applies to
- XRechnung (CII), XRechnung (UBL)
What does this mean?
Allowance/charge percentage MUST be provided when allowance/charge base amount is provided. This applies on document level (BT-93/BT-94, BT-100/BT-101) and on line level (BT-137/BT-138, BT-142/BT-143). The percentage is missing.
The rule originates from Peppol BIS Billing 3.0 and is applied in the XRechnung validation.
Typical causes
The base amount was given for information although the allowance or charge is a fixed amount.
The percentage was only mentioned in the reason text.
How to fix the error
Add the percentage used to calculate the amount from the base amount, or omit the base amount if it is a fixed amount.
CII: ram:SpecifiedTradeAllowanceCharge/ram:CalculationPercent with ram:BasisAmount, UBL: cac:AllowanceCharge/cbc:MultiplierFactorNumeric with cbc:BaseAmount.
Generate and validate the invoice again.
In E-Rechnungsfreund
In the invoice form, "Experte" view, section "Zu-/Abschläge auf Dokumentenebene (BG-20/BG-21)" (document level allowances and charges), also fill in "%" for an entry with "Grundbetrag" (base amount), or clear "Grundbetrag". For lines the same applies on the tab "Zu-/Abschläge (BG-27/28)" of the line.
Example
Wrong
<ram:SpecifiedTradeAllowanceCharge>
...
<ram:BasisAmount>250.00</ram:BasisAmount>
<ram:ActualAmount>7.50</ram:ActualAmount>
...
</ram:SpecifiedTradeAllowanceCharge>
Correct
<ram:SpecifiedTradeAllowanceCharge>
...
<ram:CalculationPercent>3</ram:CalculationPercent>
<ram:BasisAmount>250.00</ram:BasisAmount>
<ram:ActualAmount>7.50</ram:ActualAmount>
...
</ram:SpecifiedTradeAllowanceCharge>
For developers: test expression per syntax
XRechnung (CII) (CII)
Context: ram:SpecifiedTradeAllowanceCharge[not(ram:CalculationPercent) and ram:BasisAmount]
false()
XRechnung (UBL) (UBL)
Context: ubl-invoice:Invoice/cac:AllowanceCharge[not(cbc:MultiplierFactorNumeric) and cbc:BaseAmount] | ubl-invoice:Invoice/cac:InvoiceLine/cac:AllowanceCharge[not(cbc:MultiplierFactorNumeric) and cbc:BaseAmount] | ubl-creditnote:CreditNote/cac:AllowanceCharge[not(cbc:MultiplierFactorNumeric) and cbc:BaseAmount] | ubl-creditnote:CreditNote/cac:CreditNoteLine/cac:AllowanceCharge[not(cbc:MultiplierFactorNumeric) and cbc:BaseAmount]
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.