Official rule text
[PEPPOL-EN16931-R042] Allowance/charge percentage MUST be provided when allowance/charge base amount is provided.
Why this error occurs
This rule only applies when another field has a certain value (for example a payment means code or an invoice type). Your file triggers the condition but does not provide the data that then becomes mandatory, or provides data that is then forbidden.
How to fix it
Either change the triggering value so the condition no longer applies, or add/remove the dependent elements as the rule text describes. Check the condition in the XPath test above to see exactly which value triggers it.
What the validator checks
Checked element (context):
UBL
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]Test (XPath):
false()CII
ram:SpecifiedTradeAllowanceCharge[not(ram:CalculationPercent) and ram:BasisAmount]Test (XPath):
false()
Check your invoice
Drop your XML or PDF on the validator and every failed rule is linked to its page here. Free, no account, the file is not stored.
Same check via API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateRelated rules
PEPPOL-EN16931-R001Business process identifier (BT-23) is missingPEPPOL-EN16931-R002No more than one note is allowed on document level, unless both the buyer and seller…PEPPOL-EN16931-R003Neither buyer reference nor purchase order reference givenPEPPOL-EN16931-R004Specification identifier is not the Peppol BIS Billing 3.0 identifierPEPPOL-EN16931-R005VAT accounting currency equals the invoice currencyPEPPOL-EN16931-R006Only one invoiced object is allowed on document levelPEPPOL-EN16931-R007Business process identifier has the wrong formatPEPPOL-EN16931-R008Document contains empty elements
Frequently asked questions
What does PEPPOL-EN16931-R042 mean?
PEPPOL-EN16931-R042 is a peppol bis billing 3.0 rule: Allowance/charge percentage MUST be provided when allowance/charge base amount is provided.
Will my invoice be rejected because of PEPPOL-EN16931-R042?
Yes. PEPPOL-EN16931-R042 is flagged "fatal"; validators (KoSIT, Peppol access points, the German ZRE/OZG-RE portals) reject the invoice until it is fixed.
Which formats does PEPPOL-EN16931-R042 apply to?
Invoices and credit notes sent over the Peppol network (UBL) and, because XRechnung embeds the Peppol rule set, every XRechnung as well. Syntax: UBL and CII.
Source: Peppol BIS Billing 3.0.20 (November 2025). Catalogue generated from the official schematron on 2026-10-14.