Skip to content

BR-65: Item classification identifier scheme (BT-158-1) is missing

Official message

[BR-65] The Item classification identifier (BT-158) shall have a Scheme identifier.

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

[BR-65] The Item classification identifier (BT-158) shall have a Scheme identifier.

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

[BR-65] The Item classification identifier (BT-158) shall have a Scheme identifier.

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
BT-158

What does this mean?

If an item classification identifier (BT-158) is given, it must have a scheme identifier (BT-158-1) naming the classification system. The attribute listID is missing or empty for at least one classification.

Typical causes

A classification code, e.g. a customs tariff number, was output without stating the system.
The system was only noted in the code itself, e.g. "HS 09012100".

How to fix the error

State the code of the system from the UNTDID 7143 list as listID for the classification, e.g. HS for the Harmonised System; for versioned systems additionally the version (BT-158-2).
CII: ram:SpecifiedTradeProduct/ram:DesignatedProductClassification/ram:ClassCode/@listID, UBL: cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode/@listID.
Generate and validate the invoice again.

In E-Rechnungsfreund

In the invoice form ("Experte" view), section "Rechnungspositionen (BG-25)" (invoice lines), tab "Klassifizierungen (BT-158)" (classifications) of the line, fill in the field "Schema (BT-158-1)" (scheme) for every entry, e.g. HS.

Example

Wrong

<ram:DesignatedProductClassification>
  <ram:ClassCode>09012100</ram:ClassCode>
</ram:DesignatedProductClassification>

Correct

<ram:DesignatedProductClassification>
  <ram:ClassCode listID="HS">09012100</ram:ClassCode>
</ram:DesignatedProductClassification>
For developers: test expression per syntax

EN 16931 (CII) (CII)

Context: //ram:DesignatedProductClassification

normalize-space(ram:ClassCode/@listID) != '' or not (ram:ClassCode)

EN 16931 (UBL) (UBL)

Context: cac:InvoiceLine/cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode | cac:CreditNoteLine/cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode

exists(@listID)

Factur-X / ZUGFeRD EN 16931 (CII)

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

Context: //ram:IncludedSupplyChainTradeLineItem

(ram:SpecifiedTradeProduct/ram:DesignatedProductClassification/ram:ClassCode/@listID!='') or not (ram:SpecifiedTradeProduct/ram:DesignatedProductClassification)

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.