BR-CO-14: Invoice total VAT amount (BT-110)
Severity: fatal · Syntax: CII, UBL
Official message
Invoice total VAT amount (BT-110) = Σ VAT category tax amount (BT-117).
What this means
BT-110 must equal the sum of VAT category tax amounts BT-117. The UBL assertion compares TaxTotal/TaxAmount with the sum of TaxSubtotal/TaxAmount, rounded to two decimal places. If there are no TaxSubtotal elements, the second branch of the assertion applies (not(cac:TaxSubtotal)). Official text: Invoice total VAT amount (BT-110) = Σ VAT category tax amount (BT-117).
Typical cause
The header tax amount was entered by hand and differs from the sum of the breakdown.
How to fix it
Calculate the named BT fields in the same currency and set the header amounts to the result of the assertion. The check helps you find the difference.
UBL
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount>
</cac:TaxTotal>CII
<ram:TaxTotalAmount currencyID="EUR">19.00</ram:TaxTotalAmount>
Business term
BT-110, BT-117
Related rules
Context and assertion
UBL /ubl:Invoice/cac:TaxTotal | /cn:CreditNote/cac:TaxTotal
CII //ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode]
UBL
(xs:decimal(child::cbc:TaxAmount)= round((sum(cac:TaxSubtotal/xs:decimal(cbc:TaxAmount)) * 10 * 10)) div 100) or not(cac:TaxSubtotal)CII
. = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CalculatedAmount)*10*10)div 100)
Check a file now, free of charge
curl -F "file=@rechnung.xml" https://checkxrechnung.com/v1/validate
Questions
What does BR-CO-14 actually check?
BT-110 must equal the sum of VAT category tax amounts BT-117. The UBL assertion compares TaxTotal/TaxAmount with the sum of TaxSubtotal/TaxAmount, rounded to two decimal places. If there are no TaxSubtotal elements, the second branch of the assertion applies (not(cac:TaxSubtotal)). Official text: Invoice total VAT amount (BT-110) = Σ VAT category tax amount (BT-117).
How do I fix BR-CO-14?
Calculate the named BT fields in the same currency and set the header amounts to the result of the assertion. The check helps you find the difference.
If BR-CO-14 passes, is the invoice legally compliant?
No. This page helps you read this one Schematron assertion. A pass is not a statement about tax law, portal acceptance, or bank overlays.