PEPPOL-EN16931-R041

Allowance/charge base amount MUST be provided when allowance/charge percentage is provided.

error: the document is invalid Peppol documentation ↗

Why it fails

  • An allowance or charge gives a percentage (cbc:MultiplierFactorNumeric) but no base amount (cbc:BaseAmount).

How to fix it

Add the amount the percentage was applied to. Then cbc:Amount must equal the base amount times the percentage divided by 100 (PEPPOL-EN16931-R040).

What the rule checks

As the rule set's publisher wrote it. The rule runs on every element the context matches, and fails where the test is false; the validator reports the line of that element.

Context
ubl-invoice:Invoice/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)] | ubl-invoice:Invoice/cac:InvoiceLine/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)] | ubl-creditnote:CreditNote/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)] | ubl-creditnote:CreditNote/cac:CreditNoteLine/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)]
Test
false()

Checked with Peppol BIS Billing 3.0 Invoice, Peppol BIS Billing 3.0 Credit Note

Context
ram:SpecifiedTradeAllowanceCharge[ram:CalculationPercent and not(ram:BasisAmount)]
Test
false()

Checked with XRechnung 3.0 Invoice (CII)