EN16931 1.3.16 · UBL / CII · Severity: ERROR

Standard VAT category tax amount does not equal taxable amount times VAT rate

The VAT amount (BT-117) in a standard-rated VAT breakdown must equal the taxable amount (BT-116) multiplied by the VAT percentage (BT-119), rounded to 2 decimal places.

Rule ID & Severity
BR-S-09 · ERROR
Standard & Scope
EN16931 1.3.16 · UBL / CII
XPath Condition
xs:decimal(cbc:TaxAmount) = round-half-to-even(xs:decimal(cbc:TaxableAmount) * (xs:decimal(cac:TaxCategory/cbc:Percent) div 100), 2)
Target XML Path
cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount

Find the source field

cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount

Match namespace URI and element name, not a particular prefix spelling. The validator reports the full expanded-name source path when the published rule supplies a location.

Common causes

Invalid and corrected fragments

<cbc:TaxableAmount currencyID="EUR">150.00</cbc:TaxableAmount><cbc:TaxAmount currencyID="EUR">28.00</cbc:TaxAmount>
<cbc:TaxableAmount currencyID="EUR">150.00</cbc:TaxableAmount><cbc:TaxAmount currencyID="EUR">28.50</cbc:TaxAmount>

Compute TaxSubtotal/TaxAmount as TaxableAmount × (Percent / 100) rounded to two decimals.

Open BR-S-09 in en16931-validator →

Verify the whole document

These are fragments, not complete invoices. The exact rule is exercised by synthetic mutation tests against the stated package. Correcting one field does not prove conformance; run the full selected validator again. Published messages and severity remain authoritative.

Official BR-S-09 source ↗

Explanation record: 2026-10-14 · Local WebAssembly / SaxonJS validation. No invoice-derived report is published as a search page.

EN16931 / Validate
No invoice uploads or storage
No invoice uploads or storage

Validate

Choose files · EN16931

XML · PDF
5 MB XML · 20 MB PDF · 500 documents per batch

Related tools and rules