ErrorEN 16931Manual only

BR-CO-12

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

What does this rule mean?

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

A calculation/amount rule: the figures it names must reconcile arithmetically.

BT-99
Document level charge amount
BT-108
Sum of charges on document level
Official rule message (standard)

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

Where the rule applies

Syntax: CII · UBL

The same rule, expressed twice: UBL and CII name the same fields with different paths. Running a CII file against the UBL rules is why you get errors that mean nothing.

UBL

  • cac:LegalMonetaryTotal

CII

  • //ram:SpecifiedTradeSettlementHeaderMonetarySummation

Technical test

The rule passes when this Schematron expression holds true:

(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)* 10 * 10 ) div 100)

How to fix it

Touches amounts, VAT or IBAN. We never change these automatically — correct them in your source data.

Check the affected amounts in your source data — amounts are never changed automatically.

Correct the affected entry in your XML, then re-check the invoice. Validation runs locally in your browser — your file never leaves your machine.

Check an e-invoice here

Drop an XML or ZUGFeRD PDF file here. Validation runs locally in your browser against EN 16931 — your file never leaves your machine.

100% local — no upload, no account.

Related rules

← Back to the error library