BR-CO-17
EN 16931 · validation rule
EN 16931Error
In a VAT breakdown, VAT amount (BT-117) must equal taxable amount (BT-116) x rate (BT-119) / 100, rounded to two decimals. The sender must recompute cac:TaxSubtotal/cbc:TaxAmount / ram:CalculatedAmount per category and rate; the validator tolerates only the rounding of the final result, not per-line rounding differences.
- Field
tax_breakdown[].tax_amount (BT-117)- Rule set
- EN 16931
- Rule-set version
- EN 16931 validation artefacts 1.3.17 · in force since · Rule-set changelog
- Who has to fix it
- The sender
This is a property of the file you received, so it cannot be corrected on your side without changing the document — ask the supplier to reissue it.
Worked example · UBL
The breakdown says 7 % on 314.86, which is 22.04; a tax amount of 31.49 (10 %) contradicts the rate stated next to it.
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">31.49</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">314.86</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">31.49</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><cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">22.04</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">314.86</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">22.04</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>Check your own invoice
Drop the file that failed. We parse it, run the official rule sets against it and list every finding with a fix — 20 invoices per day, no key, nothing stored.
Open the live demoSame explanation over the API: GET /v1/rules/BR-CO-17?lang=en