robin.vision Appointment

SmartFormular

Tools › SmartFormular E-Rechnung lite › Validation rules › BR-CO-12

BR-CO-12

The sum of charges (BT-108) does not equal the individual charges (BT-99)

Validation rule of EN 16931 (CEN, rule set 1.3.16) · Level: Error

What the message means

The sum of charges (BT-108) does not equal the individual charges (BT-99).

What the issuer needs to change

Have the charge total recalculated.

Fields concerned

Your invoice reports BR-CO-12? Check it with SmartFormular E-Rechnung lite, free to try until 31 December 2026: the tool shows every finding with an explanation, the invoice in readable form and a GiroCode to pay – in your browser, no upload.

Check an e-invoice

Origin

Rule set
EN 16931 (CEN, rule set 1.3.16)
Syntax
CII, UBL
Level
Error

Original rule text

Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99).

Source: CEN/TC 434, EN 16931 validation rules 1.3.16, European Union Public Licence 1.2

Technical details for IT

UBL

Context: cac:LegalMonetaryTotal
Test: not(xs:decimal(cbc:ChargeTotalAmount) = (round(sum(../cac:AllowanceCharge[cbc:ChargeIndicator=true()]/xs:decimal(cbc:Amount)) * 10 * 10) div 100) or (not(cbc:ChargeTotalAmount) and not(../cac:AllowanceCharge[cbc:ChargeIndicator=true()])))

CII

Context: //ram:SpecifiedTradeSettlementHeaderMonetarySummation
Test: not((not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()])and not (ram:ChargeTotalAmount)) or ram:ChargeTotalAmount = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()]/ram:ActualAmount[1])* 10 * 10 ) div 100) )

Related rules

All validation rules

Technical explanation by robin.vision, not tax or legal advice. Rules as of 31 August 2026 (KoSIT validator configuration).