Skip to content
EN 16931 core rules

BR-E-09: VAT category tax amount must be zero for Exempt from VAT (E)

What this rule requires

VAT category tax amount must be zero for Exempt from VAT (E).

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">5.00</cbc:TaxAmount>
  <cac:TaxCategory>
    <cbc:ID>E</cbc:ID>
    <cbc:Percent>0.00</cbc:Percent>
    <cbc:TaxExemptionReason>Exempt supply</cbc:TaxExemptionReason>
    <cac:TaxScheme>
      <cbc:ID>VAT</cbc:ID>
    </cac:TaxScheme>
  </cac:TaxCategory>
</cac:TaxSubtotal>

The validator says: In VAT category E, VAT category tax amount (BT-117) must be zero.

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-E-09]-The VAT category tax amount (BT-117) In a VAT breakdown (BG-23) where the VAT category code (BT-118) equals "Exempt from VAT" shall equal 0 (zero).

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

This usually happens when a line was moved to this VAT category after the breakdown was calculated, so the breakdown kept the old rate and amount. Recalculating the breakdown from the invoice lines — E-Invoice Converter's "Fix automatically" does this — sets VAT category tax amount to zero.

Frequently asked questions

What does BR-E-09 mean?
VAT category tax amount must be zero for Exempt from VAT (E). The rule runs under EN 16931 (UBL), Peppol BIS 3.0, and XRechnung 3.0 (UBL).
How do I fix BR-E-09?
This usually happens when a line was moved to this VAT category after the breakdown was calculated, so the breakdown kept the old rate and amount. Recalculating the breakdown from the invoice lines — E-Invoice Converter's "Fix automatically" does this — sets VAT category tax amount to zero. 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.

VAT category

This rule checks VAT category E — Exempt from tax.