BR-CO-12
The sum of charges at document level (BT-108) must equal the sum of the individual charge amounts (BT-99) exactly — the counterpart to BR-CO-11.
- Severity
- Error
- Applies to
- CII, UBL
- Rule set
- v2026-01-31
Official rule text
Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99).
Why does BR-CO-12 happen?
Freight and packaging are often totalled in the header and carried as a line of their own at the same time. The amount then appears twice in the document and only once in the total.
How do you fix BR-CO-12?
Sum BT-108 from every cac:AllowanceCharge whose cbc:ChargeIndicator is true and write the result to cbc:ChargeTotalAmount in UBL, ram:ChargeTotalAmount in CII. A charge belongs either in the line or at document level, never in both.
In the XML
A UBL fragment. The CII path is named above — same change, different element names.
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">20.00</cbc:Amount>
</cac:AllowanceCharge>
<cac:LegalMonetaryTotal>
<cbc:ChargeTotalAmount currencyID="EUR">35.00</cbc:ChargeTotalAmount>
</cac:LegalMonetaryTotal><cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">20.00</cbc:Amount>
</cac:AllowanceCharge>
<cac:LegalMonetaryTotal>
<cbc:ChargeTotalAmount currencyID="EUR">20.00</cbc:ChargeTotalAmount>
</cac:LegalMonetaryTotal>NormAPI provides technical validation, not tax or legal advice.