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.

Fails
<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>
Fixed
<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.