BR-CO-14
The total VAT amount (BT-110) does not equal the sum of the VAT category amounts (BT-117).
ErrorEN 16931UBLCII
Why it happens
The VAT breakdown is incomplete — usually one VAT category is missing from the breakdown, or VAT was calculated per line and totalled without a matching breakdown entry.
How to fix it
Build one VAT breakdown group per distinct combination of category code and rate, then set BT-110 to the sum of their BT-117 values.
The official rule
EN 16931, EnglishInvoice total VAT amount (BT-110) = Σ VAT category tax amount (BT-117).
Technical detail — where the rule is evaluated and the exact test
| Syntax | Context and assertion |
|---|---|
| UBL | /ubl:Invoice/cac:TaxTotal | /cn:CreditNote/cac:TaxTotal |
(xs:decimal(child::cbc:TaxAmount)= round((sum(cac:TaxSubtotal/xs:decimal(cbc:TaxAmount)) * 10 * 10)) div 100) or not(cac:TaxSubtotal) | |
| CII | //ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode] |
. = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CalculatedAmount)*10*10)div 100) |
Check your own invoice
Paste or drop your UBL or CII file into the free validator. It runs the official EN 16931 ruleset plus the German XRechnung layer and lists every rule that fires, BR-CO-14 included — no signup, no limit.
Validate an e-invoice freeFixing the data at source instead? The CSV converter builds a compliant invoice from a spreadsheet export.