# BR-CL-08 Invoice note subject code must come from UNCL4451

When an invoice note (BT-22) carries a subject code (BT-21), that code must belong to the UNCL4451 list used by EN 16931.

## Problem Description

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

## Context and Significance

In UBL, the validator reads the text between the first two hash signs of a note as a subject code, but only when it is exactly three characters long. A lowercase code ("#aai#") or a three-character code outside the list ("#XYZ#") therefore fails, while a single hash sign in free text, such as "Delivery note #4711", does not. In CII, every ram:SubjectCode is checked. Example: "#AAI#Please quote the order number" passes.

## Solution

In UBL, put the code in capital letters between two hash signs at the start of cbc:Note, e.g. "#AAI#General information" or "#REG#...". In CII, put the code in ram:IncludedNote/ram:SubjectCode. A note without a subject code is also valid.

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

## Valid Examples

- Note = "#AAI#General information"
- Note = "Delivery note #4711" — a single hash sign is not read as a code

## Invalid Examples

- Note = "#XYZ#..." — XYZ is not a UNCL4451 code
- Note = "#aai#..." — lowercase; codes are case-sensitive

## Code Examples

### Valid XML
```
<cbc:Note>#AAI#General information for the buyer</cbc:Note>
```

### Invalid XML
```
<cbc:Note>#XYZ#General information for the buyer</cbc:Note>
```

## Affected Fields

- [BT-21 Invoice note subject code](/resources/xrechnung/bt-21-invoice-note-subject-code)

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