fatalPeppol BIS Billing 3.0profileCIIUBL
Allowance/charge amount must equal base amount * percentage/100 if base amount and percentage exists
An allowance or charge gives both a base amount and a percentage, but the amount does not equal base x percentage / 100.
Recompute the amount, or drop the base amount and percentage and state only the amount. Peppol checks the arithmetic; EN 16931 alone does not.
CII — context —
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)
UBL — context —
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)