BR-47

Every VAT breakdown block must be defined through a VAT category code (BT-118) — S, E, Z, AE, K, G, L, M or O.

Severity
Error
Applies to
CII, UBL
Rule set
v2026-01-31

Official rule text

Each VAT breakdown (BG-23) shall be defined through a VAT category code (BT-118).

Why does BR-47 happen?

Systems distinguish rates by percentage and need no category for it. 0% then stands for exempt, intra-community and reverse charge alike, though those are three different categories.

How do you fix BR-47?

Set BT-118 in cac:TaxSubtotal/cac:TaxCategory/cbc:ID in UBL, ram:ApplicableTradeTax/ram:CategoryCode in CII. It is the same code as on the line, see BR-CO-04.

In the XML

A UBL fragment. The CII path is named above — same change, different element names.

Fails
<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">1000.00</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">190.00</cbc:TaxAmount>
  <cac:TaxCategory>
    <cbc:Percent>19</cbc:Percent>
    <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
  </cac:TaxCategory>
</cac:TaxSubtotal>
Fixed
<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">1000.00</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">190.00</cbc:TaxAmount>
  <cac:TaxCategory>
    <cbc:ID>S</cbc:ID>
    <cbc:Percent>19</cbc:Percent>
    <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
  </cac:TaxCategory>
</cac:TaxSubtotal>

NormAPI provides technical validation, not tax or legal advice.