PEPPOL-EN16931-R046
Where a gross price is given, the net price must follow from it exactly: gross price minus the price allowance. The three numbers describe one calculation and have to add up.
- Severity
- Error
- Applies to
- CII, UBL
- Rule set
- v2026-01-31
Official rule text
Item net price MUST equal (Gross price - Allowance amount) when gross price is provided.
Why does PEPPOL-EN16931-R046 happen?
The net price comes from pricing and is already rounded, while the gross price and the discount are added for traceability out of condition records. A cent frequently sits between the two.
How do you fix PEPPOL-EN16931-R046?
Derive cbc:PriceAmount from cbc:BaseAmount minus the price allowance's cbc:Amount in UBL, or ram:ChargeAmount minus ram:ActualAmount in CII. If you cannot substantiate the gross price, omit it and the allowance — the net price alone is enough.
In the XML
A UBL fragment. The CII path is named above — same change, different element names.
<cac:Price>
<cbc:PriceAmount currencyID="EUR">105.00</cbc:PriceAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">10.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">110.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price><cac:Price>
<cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">10.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">110.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>NormAPI provides technical validation, not tax or legal advice.