- WorkAlio
- Validation rules
- BR-CO-17
BR-CO-17: VAT category tax amount (BT-117) must match the invoice's other totals
What this rule requires
VAT category tax amount (BT-117) must match the invoice's other totals.
ExampleEN 16931 (UBL)
An invoice built like a valid one, except for this:
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">25.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>19.00</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>The validator says: VAT category tax amount (BT-117) is 25.00, but the other amounts on the invoice add up to 19.00.
Official validation message
This is the official EN 16931 validation message for this rule, quoted verbatim in English from the validation artefacts below. It is not translated: a translation would no longer be the official text.
[BR-CO-17]-VAT category tax amount (BT-117) = VAT category taxable amount (BT-116) x (VAT category rate (BT-119) / 100), rounded to two decimals.Quoted verbatim and unmodified from the official EN 16931 validation artefacts published by CEN/TC 434, release validation-1.3.16 of April 13, 2026, licensed under the European Union Public Licence v. 1.2. Provided without warranty of any kind, including as to accuracy. Source and licence →
How to fix it
Recalculate VAT category tax amount so it matches the sum of the invoice's other amounts.
Frequently asked questions
- What does BR-CO-17 mean?
- VAT category tax amount (BT-117) must match the invoice's other totals. The rule runs under EN 16931 (UBL), Peppol BIS 3.0, and XRechnung 3.0 (UBL).
- How do I fix BR-CO-17?
- Recalculate VAT category tax amount so it matches the sum of the invoice's other amounts. In UBL the element is /Invoice/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount.
Runs under these profiles
- EN 16931 (UBL)
- Peppol BIS 3.0
- XRechnung 3.0 (UBL)
Element path
- VAT category tax amount (BT-117)UBL /
Invoice/ cac:TaxTotal/ cac:TaxSubtotal/ cbc:TaxAmountCII / CrossIndustryInvoice/ SupplyChainTradeTransaction/ ApplicableHeaderTradeSettlement/ ApplicableTradeTax/ CalculatedAmountRead from what WorkAlio's CII parser accepts — there is no CII writer yet, so this path is not independently verified the way the UBL path is.