# BR-CL-21 Item standard identifier scheme must come from ISO 6523 ICD

The item standard identifier scheme identifier (BT-157-1) must be a code from the ISO 6523 ICD list.

## Problem Description

> **ERROR**: EN 16931 code-list rule (BR-CL)

## Context and Significance

Every item standard identifier (BT-157) must have a scheme identifier (BR-64), and that scheme must be an ISO 6523 ICD code. The rule checks cac:Item/cac:StandardItemIdentification/cbc:ID/@schemeID in UBL and ram:SpecifiedTradeProduct/ram:GlobalID/@schemeID in CII. It fails when "GTIN" or "EAN" is written as the scheme; an EAN barcode is a GTIN and uses 0160. A GLN (0088) identifies a location or party, not an item. Example: the barcode 4012345678901 is sent with schemeID="0160".

## Solution

Set the schemeID of BT-157 to the ICD code of the issuing system; for a GS1 article number (GTIN, formerly EAN), use 0160. If an item has no standard identifier, omit BT-157 and give the seller item identifier (BT-155) instead.

- [Validate XML](/en/xrechnung-validator?source=resource&rule=BR-CL-21)
- [Convert invoice](/en/pdf-to-xrechnung?source=resource&rule=BR-CL-21)

## Valid Examples

- BT-157-1 = 0160 — GTIN issued by GS1
- Item without a GTIN: BT-157 omitted, seller item identifier (BT-155) given

## Invalid Examples

- BT-157-1 = GTIN — name instead of ICD code
- BT-157-1 = EAN — name instead of ICD code 0160

## Code Examples

### Valid XML
```
<cac:Item>
  <cac:StandardItemIdentification>
    <cbc:ID schemeID="0160">04012345678901</cbc:ID>
  </cac:StandardItemIdentification>
</cac:Item>
```

### Invalid XML
```
<cac:Item>
  <cac:StandardItemIdentification>
    <cbc:ID schemeID="GTIN">04012345678901</cbc:ID>
  </cac:StandardItemIdentification>
</cac:Item>
```

## Affected Fields

- [BT-157-1 Item standard identifier scheme identifier](/resources/xrechnung/bt-157-item-standard-identifier)

## Related Rules

- [BR-CL-10](/resources/kosit-validator-errors/br-cl-10-iso-6523-any-identifier-scheme)
- [BR-CL-13](/resources/kosit-validator-errors/br-cl-13-untdid-7143-item-classification)

## Validation Tools

- [Official KoSIT Validator](https://github.com/itplr-kosit/validator): Run the official KoSIT validator with the XRechnung configuration to check EN 16931 and XRechnung rules.
- [Convert PDF to XRechnung](/pdf-to-xrechnung): Find validation errors during conversion and review each correction.

## Related Resources

- [Official Specification](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Test Suite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [All validation errors](/resources/kosit-validator-errors): Overview of the EN 16931, XRechnung and Peppol validation rules explained here.
