BR-S-8
Standard Rate: Taxable Amount per Rate Does Not Match (BT-116)
What This Error Means
For each VAT rate used with category S, the taxable amount (BT-116) in the VAT breakdown must equal the sum of the line net amounts (BT-131) plus document-level charges (BT-99) minus document-level allowances (BT-92) that carry category S and that same rate. The KoSIT report prints the rule as [BR-S-08]. For UBL the Schematron allows a difference of less than 1.00 in either direction; for CII it compares the values rounded to two decimals exactly. The rule is fatal.
Why this happens
The rule runs once per S breakdown. It takes that breakdown's rate, adds up all lines with category S and the same rate (cac:Item/cac:ClassifiedTaxCategory), adds document-level charges and subtracts document-level allowances with the same category and rate, and compares the result with BT-116. In UBL, because of the tolerance, one-cent rounding does not trigger it; a real mismatch does. In CII even one cent is enough. Typical causes: 19 % and 7 % lines were merged into one breakdown; a document-level discount reduced BT-109 but not the taxable amount of its rate, or it has no VAT category at all; a breakdown exists for a rate that no line uses; a line was added after the breakdown was built; or the rate is written differently in line and breakdown (19 against 19.00 is fine, 19 against 16 is not). A wrong taxable amount also produces a wrong tax amount, so BR-S-09 and BR-CO-17 often appear together with BR-S-08.
How to Fix It
Create one cac:TaxSubtotal per rate (for example 19 and 7). Set its cbc:TaxableAmount to the sum of the lines with that rate, plus charges, minus allowances with that rate. Then recompute the tax amount (BR-S-09, BR-CO-17) and the totals.
Step-by-step
1) Group the lines by VAT category and rate. 2) For each S rate, add up BT-131 of its lines. 3) Add document-level charges and subtract document-level allowances that have category S and that rate; every cac:AllowanceCharge needs its own cac:TaxCategory. 4) Write the result into cbc:TaxableAmount of the matching cac:TaxSubtotal and remove breakdowns for rates that are not used. 5) Compute cbc:TaxAmount = TaxableAmount × rate / 100, rounded to two decimals (BR-S-09, BR-CO-17). 6) Set the document VAT total to the sum of all category amounts (BR-CO-14), then check BT-109, BT-112 and BT-115. 7) Validate again.
<!-- Lines: 1000.00 at 19 %, 200.00 at 7 % -->
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">204.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">1000.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">190.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>19</cbc:Percent>
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">200.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">14.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>7</cbc:Percent>
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>Fix Automatically
Upload your invoice to our Smart Repair engine. It checks the file against the full KoSIT rule set, including BR-S-8, and corrects supported fields with a GoBD audit trail.
Open Smart RepairFrequently asked questions
I have 19 % and 7 % items. One breakdown or two?
Two. Each rate needs its own cac:TaxSubtotal with category S, its own taxable amount and its own tax amount.
Is a one-cent difference enough to trigger BR-S-08?
In UBL, no: BR-S-08 accepts differences below 1.00, and a cent-level error shows up in BR-CO-10, BR-CO-13 or BR-CO-15 instead, which have no tolerance. In CII, yes: there BR-S-08 compares the rounded values exactly.
How does a document-level discount count?
It reduces the taxable amount of the rate given in its own cac:TaxCategory. A discount on a mixed 19 %/7 % invoice has to be split into one allowance per rate.
Related Errors
Other commonly encountered validation errors