# BR-CL-10 Identifier scheme must come from ISO 6523 ICD

The scheme identifier of a party identifier, such as the seller identifier (BT-29), buyer identifier (BT-46) or payee identifier (BT-60), must be a code from the ISO 6523 ICD list.

## Problem Description

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

## Context and Significance

The rule checks cac:PartyIdentification/cbc:ID/@schemeID in UBL and ram:GlobalID/@schemeID in CII. ICD codes name the authority that issued an identifier; they are not the EAS codes for electronic addresses (BR-CL-25). The rule fails when the scheme is written as a name ("GLN", "DUNS"), when an EAS code such as 9930 is copied from the endpoint, or when "SEPA" is used for the buyer or in CII. Example: a GLN as seller identifier is written with schemeID="0088".

## Solution

Set schemeID to a valid four-digit ISO 6523 ICD code, e.g. 0088 (GLN) or 0060 (D-U-N-S). In UBL, the SEPA creditor identifier (BT-90) of the seller or payee uses schemeID="SEPA", which is also accepted. If the identifier matches no ICD code, omit the scheme identifier.

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

## Valid Examples

- schemeID="0088" for a GLN identifier
- schemeID="0060" for a D-U-N-S number
- schemeID="SEPA" for the SEPA creditor identifier of the seller or payee (UBL)

## Invalid Examples

- schemeID="GLN" — name instead of ICD code
- schemeID="9930" — EAS code for electronic addresses, not an ICD code
- schemeID="SEPA" on the buyer identifier — accepted only for the seller or payee in UBL

## Code Examples

### Valid XML
```
<cac:PartyIdentification>
  <cbc:ID schemeID="0088">4012345000009</cbc:ID>
</cac:PartyIdentification>
```

### Invalid XML
```
<cac:PartyIdentification>
  <cbc:ID schemeID="GLN">4012345000009</cbc:ID>
</cac:PartyIdentification>
```

## Affected Fields

- [BT-29-1 Seller identifier scheme identifier](/resources/xrechnung/bt-29-seller-identifier)
- [BT-46-1 Buyer identifier scheme identifier](/resources/xrechnung/bt-46-buyer-identifier)
- [BT-60-1 Payee identifier scheme identifier](/resources/xrechnung/bt-60-payee-identifier)

## Related Rules

- [BR-CL-11](/resources/kosit-validator-errors/br-cl-11-iso-6523-registration-scheme)
- [BR-CL-25](/resources/kosit-validator-errors/br-cl-25-eas-endpoint-scheme)

## 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.
