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.
<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><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.