BR-CO-10
Sum of Line Net Amounts Mismatch (BT-106)
What This Error Means
The sum of invoice line net amounts (BT-106) must equal the sum of all line net amounts (BT-131). In UBL, BT-106 is cac:LegalMonetaryTotal/cbc:LineExtensionAmount and BT-131 is cbc:LineExtensionAmount in each cac:InvoiceLine; in CII they are ram:LineTotalAmount in the header and line monetary summations. There is no tolerance: a difference of one cent is enough. The rule is fatal.
Why this happens
The rule adds up the line net amounts exactly as they appear in the file, rounds that sum to two decimals and compares it with BT-106. The classic cause is rounding at different stages: the software sums full-precision line values (quantity × unit price with three or four decimals) and rounds only the total, while each line is written to the XML already rounded. The result is a one- or two-cent gap. Other causes: lines were added, removed or changed after the totals were calculated; a negative line (a return or credit item) was left out of the sum; a document-level discount or freight charge was folded into BT-106 instead of BT-107/BT-108; or BT-131 itself has three decimals, which is also a BR-DEC-23 error.
How to Fix It
Round each line net amount (BT-131) to two decimals first, then set BT-106 (cac:LegalMonetaryTotal/cbc:LineExtensionAmount) to the exact sum of those rounded values. Document-level allowances and charges do not belong in BT-106; they go into BT-107/BT-108 and BT-109.
Step-by-step
1) Round each line net amount (BT-131) to 2 decimals at the line level, before summing. 2) Compute BT-106 as the exact arithmetic sum of the rounded line amounts, including negative lines. 3) Keep document-level allowances and charges out of BT-106; they reduce or increase BT-109 via BR-CO-13. 4) Make sure every amount carries the document currency in currencyID. 5) Recalculate the totals whenever lines change. 6) Validate again. If the gap is exactly one or two cents, it is almost always a per-line versus total rounding mismatch.
<!-- Two lines: 208.33 + 500.00 --> <cac:LegalMonetaryTotal> <cbc:LineExtensionAmount currencyID="EUR">708.33</cbc:LineExtensionAmount> <cbc:TaxExclusiveAmount currencyID="EUR">708.33</cbc:TaxExclusiveAmount> <cbc:TaxInclusiveAmount currencyID="EUR">842.91</cbc:TaxInclusiveAmount> <cbc:PayableAmount currencyID="EUR">842.91</cbc:PayableAmount> </cac:LegalMonetaryTotal>
Fix Automatically
Upload your invoice to our Smart Repair engine. It checks the file against the full KoSIT rule set, including BR-CO-10, and corrects supported fields with a GoBD audit trail.
Open Smart RepairFrequently asked questions
Why do I get a one-cent difference?
Because the line amounts and the total were rounded at different stages. Round each line to 2 decimals first, then add up those rounded values to get BT-106.
Which fields must match for BR-CO-10?
The sum of all BT-131 (cbc:LineExtensionAmount in each invoice line) must equal BT-106 (cbc:LineExtensionAmount in cac:LegalMonetaryTotal). BT-109 (cbc:TaxExclusiveAmount) is checked separately by BR-CO-13.
Related Errors
Other commonly encountered validation errors