Skip to content

BR-CL-17: VAT category of allowance/charge or VAT breakdown not from UNCL 5305

Official message

[BR-CL-17] Invoice tax categories MUST be coded using UNCL 5305 code list

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

[BR-CL-17] Invoice tax categories MUST be coded using UNCL5305 code list

EN 16931 (UBL) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31
Severity
Error The invoice is invalid and may be rejected by the recipient.
Applies to
EN 16931 (CII), EN 16931 (UBL)

What does this mean?

VAT categories must be coded using the UNCL 5305 code list as restricted for EN 16931: S, Z, E, AE, K, G, O, L, M or B. The value given is not permitted.
CII: ram:CategoryTradeTax/ram:CategoryCode is checked, i.e. the category of document level allowances (BT-95) and charges (BT-102). UBL: every cac:TaxCategory/cbc:ID is checked, i.e. additionally the category in the VAT breakdown (BT-118).

Typical causes

A VAT rate (e.g. 19) or a name ("VAT") instead of the category code.
Lower case (s) or spaces.
A code from UNCL 5305 that is not intended for EN 16931, e.g. A.

How to fix the error

State the category with one of the permitted codes; the VAT rate belongs in a separate field (BT-96, BT-103 or BT-119).
CII: ram:SpecifiedTradeAllowanceCharge/ram:CategoryTradeTax/ram:CategoryCode, UBL: cac:AllowanceCharge/cac:TaxCategory/cbc:ID or cac:TaxSubtotal/cac:TaxCategory/cbc:ID.
Generate and validate the invoice again.

In E-Rechnungsfreund

In the invoice form, "Experte" view, section "Zu-/Abschläge auf Dokumentenebene (BG-20/BG-21)" (document level allowances and charges), select a category from the list in the field "St-Kat." (VAT category).

Example

Wrong

<ram:CategoryTradeTax>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:CategoryCode>19</ram:CategoryCode>
</ram:CategoryTradeTax>

Correct

<ram:CategoryTradeTax>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:CategoryCode>S</ram:CategoryCode>
  <ram:RateApplicablePercent>19</ram:RateApplicablePercent>
</ram:CategoryTradeTax>
For developers: test expression per syntax

EN 16931 (CII) (CII)

Context: ram:CategoryTradeTax/ram:CategoryCode

((not(contains(normalize-space(.), ' ')) and contains(' AE L M E S Z G O K B ', concat(' ', normalize-space(.), ' '))))

EN 16931 (UBL) (UBL)

Context: cac:TaxCategory/cbc:ID

( ( not(contains(normalize-space(.),' ')) and contains( ' AE L M E S Z G O K B ',concat(' ',normalize-space(.),' ') ) ) )

Related validation rules

  • BR-CL-01: Invoice type code (BT-3) not from UNTDID 1001
  • BR-CL-03: Currency attribute currencyID not according to ISO 4217
  • BR-CL-04: Invoice currency code (BT-5) not according to ISO 4217
  • BR-CL-05: VAT accounting currency code (BT-6) not according to ISO 4217
  • BR-CL-06: Value added tax point date code (BT-8) not permitted
  • BR-CL-07: Object identifier scheme (BT-18-1, BT-128-1) not from UNTDID 1153

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