EN16931 1.3.16 · UBL / CII · Severity: ERROR
Standard VAT category taxable amount does not match sum of standard-rated lines
For each standard-rate (S) VAT breakdown group, the taxable basis (BT-116) must equal the sum of line net amounts sharing that rate, adjusted for document-level allowances and charges.
- Rule ID & Severity
BR-S-08· ERROR- Standard & Scope
- EN16931 1.3.16 · UBL / CII
- XPath Condition
xs:decimal(cbc:TaxableAmount) = sum(//cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/cbc:ID="S"]/cbc:LineExtensionAmount)- Target XML Path
cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount
Find the source field
cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount
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
- Lines with different VAT rates were merged into one TaxSubtotal.
- A line item was added without recalculating the TaxSubtotal basis.
Invalid and corrected fragments
<cac:TaxSubtotal><cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>...</cac:TaxSubtotal>
<cac:TaxSubtotal><cbc:TaxableAmount currencyID="EUR">150.00</cbc:TaxableAmount>...</cac:TaxSubtotal>
Group lines by VAT category and rate, and set each TaxSubtotal/TaxableAmount to the exact sum of its matching lines.
Open BR-S-08 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.
Explanation record: 2026-10-14 · Local WebAssembly / SaxonJS validation. No invoice-derived report is published as a search page.