Skip to content

BR-CO-04: Invoiced item VAT category code (BT-151) is missing

Official message

[BR-CO-04] Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151).

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

[BR-CO-04] Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151).

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

[BR-CO-04] Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151).

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-25, BT-151

What does this mean?

Each invoice line (BG-25) shall be categorized with an invoiced item VAT category code (BT-151). At least one line lacks it.

Typical causes

No VAT category was given for a line, e.g. only a rate.
CII: the tax entry of the line does not have the type VAT (ram:TypeCode), so its category is not taken into account.
UBL: cac:ClassifiedTaxCategory lacks cac:TaxScheme/cbc:ID with the value VAT.

How to fix the error

State the appropriate category for every line, e.g. S (standard rate), Z (zero rated), E (exempt) or AE (reverse charge).
CII: ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax with ram:TypeCode VAT and ram:CategoryCode, UBL: cac:Item/cac:ClassifiedTaxCategory/cbc:ID with cac:TaxScheme/cbc:ID VAT.
Generate and validate the invoice again.

In E-Rechnungsfreund

In the invoice form, expert view ("Experte"), section "Rechnungspositionen (BG-25)" (invoice lines), select the field "Steuerkategorie (BT-151)" (VAT category) for every line. In the simple view ("Einfach") lines without a category get category S. Then validate the invoice again.

Example

Wrong

<ram:SpecifiedLineTradeSettlement>
  <ram:ApplicableTradeTax>
    <ram:TypeCode>VAT</ram:TypeCode>
    <ram:RateApplicablePercent>19.00</ram:RateApplicablePercent>
  </ram:ApplicableTradeTax>
  ...
</ram:SpecifiedLineTradeSettlement>

Correct

<ram:SpecifiedLineTradeSettlement>
  <ram:ApplicableTradeTax>
    <ram:TypeCode>VAT</ram:TypeCode>
    <ram:CategoryCode>S</ram:CategoryCode>
    <ram:RateApplicablePercent>19.00</ram:RateApplicablePercent>
  </ram:ApplicableTradeTax>
  ...
</ram:SpecifiedLineTradeSettlement>
For developers: test expression per syntax

EN 16931 (CII) (CII)

Context: //ram:IncludedSupplyChainTradeLineItem

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

EN 16931 (UBL) (UBL)

Context: cac:InvoiceLine | cac:CreditNoteLine

(cac:Item/cac:ClassifiedTaxCategory[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-000210

Context: //ram:IncludedSupplyChainTradeLineItem

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

Related validation rules

  • BR-CO-03: Value added tax point date (BT-7) and tax point date code (BT-8) are mutually exclusive
  • BR-CO-05: Document level allowance reason code (BT-98) and allowance reason (BT-97) must indicate the same type
  • BR-CO-06: Document level charge reason code (BT-105) and charge reason (BT-104) must indicate the same type
  • BR-CO-07: Invoice line allowance reason code (BT-140) and allowance reason (BT-139) must indicate the same type
  • BR-CO-08: Invoice line charge reason code (BT-145) and charge reason (BT-144) must indicate the same type
  • BR-CO-09: VAT identifier without valid country prefix (BT-31, BT-48, BT-63)

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