BR-CO-15
Grand Total Calculation Error (BT-112)
What This Error Means
The invoice total amount with VAT (BT-112, cbc:TaxInclusiveAmount) must equal the invoice total without VAT (BT-109, cbc:TaxExclusiveAmount) plus the invoice total VAT amount (BT-110, cbc:TaxAmount in document currency). The rule also requires exactly one cac:TaxTotal/cbc:TaxAmount in the document currency. It is fatal.
Why this happens
BR-CO-15 fires when BT-112 does not equal BT-109 + BT-110 (rounded to two decimals). It also fires when the file has no cac:TaxTotal/cbc:TaxAmount in the document currency, or more than one, for example two cac:TaxTotal blocks with the same currency. The most frequent causes are: a wrong net total (BR-CO-13 fires as well); a VAT total that does not match the breakdown (BR-CO-14 fires as well); document-level allowances or charges applied to the gross amount but not to BT-109; or a gross amount taken over from the ERP instead of being recalculated from the XML values.
How to Fix It
Check that cbc:TaxInclusiveAmount = cbc:TaxExclusiveAmount + cbc:TaxAmount. If you have allowances or charges at document level (BG-20, BG-21), include them in the TaxExclusiveAmount before adding VAT.
Step-by-step
1) Resolve BR-CO-10 and BR-CO-13 first so that BT-106 and BT-109 are right. 2) Make sure there is exactly one cac:TaxTotal with cac:TaxSubtotal and its cbc:TaxAmount in the document currency; resolve BR-CO-14 so that it equals the sum of the category amounts. 3) Set cbc:TaxInclusiveAmount = TaxExclusiveAmount + TaxAmount. 4) Keep all amounts at two decimals. 5) Then check BT-115 (BR-CO-16). 6) Validate again. Fixing the net total or the VAT total often clears BR-CO-15 at the same time.
<cac:LegalMonetaryTotal> <cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount> <cbc:TaxExclusiveAmount currencyID="EUR">1000.00</cbc:TaxExclusiveAmount> <cbc:TaxInclusiveAmount currencyID="EUR">1190.00</cbc:TaxInclusiveAmount> <cbc:PayableAmount currencyID="EUR">1190.00</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-15, and corrects supported fields with a GoBD audit trail.
Open Smart RepairFrequently asked questions
What is the exact formula BR-CO-15 checks?
TaxInclusiveAmount (BT-112) = TaxExclusiveAmount (BT-109) + TaxAmount (BT-110). All three must be in the same currency and reconcile exactly.
How do document-level discounts affect this?
A document-level allowance reduces TaxExclusiveAmount (BT-109), which in turn lowers both the VAT base and the gross total. Apply allowances and charges before computing VAT, not afterwards.
I have two cac:TaxTotal blocks. Is that allowed?
Only if you use a separate VAT accounting currency (BT-6, cbc:TaxCurrencyCode): the second block then carries just the VAT total in that currency (BT-111), without subtotals. Two blocks in the document currency make BR-CO-15 fail, because the rule expects exactly one VAT total in that currency.
Related Errors
Other commonly encountered validation errors