Skip to content

BR-47: VAT category code of the VAT breakdown (BT-118) is missing

Official message

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

EN 16931 (CII) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31

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

EN 16931 (UBL) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31

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

Factur-X / ZUGFeRD EN 16931 · Error · Message language: English · Version: Factur-X 1.08 / ZUGFeRD 2.4
Severity
Error The invoice is invalid and may be rejected by the recipient.
Applies to
EN 16931 (CII), EN 16931 (UBL), Factur-X / ZUGFeRD EN 16931
Affected fields
BG-23, BT-118

What does this mean?

Every VAT breakdown (BG-23) must be defined through a VAT category code (BT-118). It is missing for at least one breakdown.

Typical causes

The breakdown contains amounts and rate only, but no category.
The tax details are not marked as VAT (TypeCode or TaxScheme not VAT).

How to fix the error

State the category code from the UNTDID 5305 list for every breakdown, e.g. S (standard rate), Z (zero rated), E (exempt), AE (reverse charge), K (intra-community supply), G (export outside the EU) or O (not subject to VAT).
There is a separate breakdown for every category and rate used in lines or allowances/charges.
CII: ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax with ram:TypeCode VAT and ram:CategoryCode, UBL: cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID with cac:TaxScheme/cbc:ID VAT.
Generate and validate the invoice again.

In E-Rechnungsfreund

In the invoice form, the VAT breakdown (BG-23) is built from the VAT categories of the lines and the allowances/charges when the XML is generated; without a category, S is assumed. Check the field "Steuerkategorie (BT-151)" (VAT category) in section "Rechnungspositionen (BG-25)" (invoice lines, "Experte" view) and the field "St-Kat." in section "Zu-/Abschläge auf Dokumentenebene (BG-20/BG-21)" (document level allowances and charges).

Example

Wrong

<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>190.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:RateApplicablePercent>19.00</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>

Correct

<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>190.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:CategoryCode>S</ram:CategoryCode>
  <ram:RateApplicablePercent>19.00</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
For developers: test expression per syntax

EN 16931 (CII) (CII)

Context: //ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax

(.[upper-case(ram:TypeCode) = 'VAT']/ram:CategoryCode)

EN 16931 (UBL) (UBL)

Context: cac:TaxTotal/cac:TaxSubtotal

exists(cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID)

Factur-X / ZUGFeRD EN 16931 (CII)

Technical ID in the source: FX-SCH-A-000049

Context: //ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax

(ram:CategoryCode)

Related validation rules

  • BR-01: Specification identifier (BT-24) is missing
  • BR-02: Invoice number (BT-1) is missing
  • BR-03: Invoice issue date (BT-2) is missing
  • BR-04: Invoice type code (BT-3) is missing
  • BR-05: Invoice currency code (BT-5) is missing
  • BR-06: Seller name (BT-27) is missing

Last updated:
Explanation of the validation rule, not legal or tax advice.