# BR-CL-07: Use a UNTDID 1153 code as the scheme of an invoiced object identifier

The `schemeID` of an object identifier (document type `130`) must be a UNTDID 1153 code, such as `ABZ` for a vehicle licence number.

- Layer: EN 16931
- Severity: fatal (the document is invalid)
- Topics: Code lists, Process and references
- Official definition: https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/BR-CL-07/
- Explanation last updated: 2026-09-28

## The short answer

`BR-CL-07` fails when an object identifier, the `cbc:ID` of a document reference whose `cbc:DocumentTypeCode` is `130`, has a `schemeID` that is not on the UNTDID 1153 list of reference qualifiers. In the recorded example a vehicle registration was marked `VRN`; the code the list gives for a vehicle licence number is `ABZ`.

If no code on the list describes the identifier, leave `schemeID` out. The attribute is optional, and an object identifier without it is not checked by this rule.

## What the rule checks

Two places are covered: the invoiced object identifier in `cac:AdditionalDocumentReference` at document level, and the line object identifier in `cac:DocumentReference` on a line. When tried, `VIN` on a line object identifier was reported at `cac:InvoiceLine[1]/cac:DocumentReference[1]/cbc:ID[1]`.

Spaces around the code are removed, and what remains must match a listed code exactly, in upper case. When tried, ` ABZ ` passed and `abz` failed.

The list holds 818 reference qualifiers, but no ICD codes: when tried, `0088` failed on an object identifier holding a GLN.

The rule looks only at references with type code `130`. When tried, a `schemeID` on a reference with no `cbc:DocumentTypeCode` was reported instead by `UBL-SR-43` and the warning `UBL-CR-665`, which object to a scheme on other kinds of reference.

| Term | Meaning | UBL element |
|---|---|---|
| BT-18 | Invoiced object identifier | `cac:AdditionalDocumentReference/cbc:ID (with cbc:DocumentTypeCode 130)` |
| BT-18-1 | Invoiced object identifier: its scheme identifier attribute | `cac:AdditionalDocumentReference/cbc:ID/@schemeID` |
| BT-128 | Invoice line object identifier | `cac:InvoiceLine/cac:DocumentReference/cbc:ID (cac:CreditNoteLine in a credit note)` |
| BT-128-1 | Invoice line object identifier: its scheme identifier attribute | `cac:InvoiceLine/cac:DocumentReference/cbc:ID/@schemeID` |

## How an integration ends up here

Possible causes, from the shape of the rule rather than from measured usage:

- The integration writes its own abbreviation for the kind of object, such as `VRN`, `VIN` or `METER`, where a UNTDID 1153 code is expected.
- The scheme codes used for party identifiers are reused, so an ICD code such as `0088` lands on an object identifier.
- Codes are sent in lower case because a mapping table was typed that way.
- A `schemeID` is always written, with a placeholder when the source has no qualifier for the object.

## How to fix it

1. Decide what kind of object the identifier names: a vehicle, a meter, a phone line, an insurance policy and so on.
2. Find its code in the UNTDID 1153 list published for Peppol BIS Billing 3.0. Some entries: `ABZ` Vehicle licence number, `MG` Meter unit number, `AWV` Phone number, `SE` Serial number, `AKZ` Policy number.
3. Write that code in upper case as the `schemeID` of the `cbc:ID`, and keep `cbc:DocumentTypeCode` at `130`.
4. If no entry fits, send the identifier without `schemeID`. `ZZZ`, Mutually defined reference number, is only useful when the buyer has agreed what it stands for.

## Before and after

These are fragments, not complete documents. The complete synthetic documents they come from are linked below.

Fragment of the failing invoice: the invoiced object identifier is marked VRN

```xml
<cbc:BuyerReference>BUYER-REF-001</cbc:BuyerReference>
<cac:AdditionalDocumentReference>
  <cbc:ID schemeID="VRN">AB12CDE</cbc:ID>
  <cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>
</cac:AdditionalDocumentReference>
<!-- parties omitted from this fragment -->
```

Fragment of the corrected invoice: the same identifier under ABZ, Vehicle licence number

```xml
<cbc:BuyerReference>BUYER-REF-001</cbc:BuyerReference>
<cac:AdditionalDocumentReference>
  <cbc:ID schemeID="ABZ">AB12CDE</cbc:ID>
  <cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>
</cac:AdditionalDocumentReference>
<!-- parties omitted from this fragment -->
```

Only the `schemeID` of the invoiced object identifier differs: `VRN` in the failing invoice, `ABZ` in the corrected one, for the same identifier `AB12CDE`. The failing document reports `BR-CL-07` alone, and the Peppol layer passed.

### What the validator reported

- The failing invoice reports **BR-CL-07**. The corrected document passes every layer with no findings.
  - [Download the failing XML](https://ironfang.com/finance/rule-examples/BR-CL-07-invalid.xml)
  - [Download the corrected XML](https://ironfang.com/finance/rule-examples/codelist-object-identifier-valid.xml)

Recorded on phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, the engine behind the free validator, using synthetic data. A recorded result is regression evidence for these documents; it is not a certification.

## Where it applies

- Applies to `Invoice` and `CreditNote`; when tried, `VIN` on the invoiced object identifier of a credit note reported this rule alone.
- An EN 16931 rule with no Peppol counterpart: in every case tried, the Peppol layer passed.
- A reference with type code `130` names an object and is not a supporting document. The EN 16931 layer rejects a description or an attachment on it, with `UBL-CR-673` and `UBL-CR-666`; a file belongs in a separate `cac:AdditionalDocumentReference` without that code.
- On a line, `PEPPOL-EN16931-R101` accepts a `cac:DocumentReference` only as an object identifier with type code `130`.

## Related rules

- [PEPPOL-EN16931-R101 allows a document reference on a line only as a line object identifier](https://ironfang.com/docs/finance/rules/PEPPOL-EN16931-R101.md)
- [BR-CL-26 checks a deliver-to location identifier, where a GLN is marked with the ICD code 0088 instead](https://ironfang.com/docs/finance/rules/BR-CL-26.md)
- [PEPPOL-EN16931-CL001 checks the MIME code of files attached through other additional document references](https://ironfang.com/docs/finance/rules/PEPPOL-EN16931-CL001.md)

## Scope and source

Written for Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, as applied to UBL 2.1 Invoice and CreditNote documents. Other profiles, syntaxes and releases can define this identifier differently. Guidance version 2026-09-28.1: source checked 2026-09-28, explanation last updated 2026-09-28.

[The official definition of BR-CL-07](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/BR-CL-07/) carries the normative wording and test. This page is our explanation of it, not a copy.

Guidance does not change the engine verdict. Fixing this finding does not mean the document passes every layer, and validation does not certify legal or tax compliance or transmit a document over Peppol.

## Links

- [This rule as a web page](https://ironfang.com/docs/finance/rules/BR-CL-07)
- [Free Peppol invoice validator](https://ironfang.com/tools/peppol-validator)
- [Rule index](https://ironfang.com/docs/finance/rules.md)
- [Ironfang Finance API docs](https://ironfang.com/docs/finance)
- The same rule is available to MCP clients as the tool `finance.rule.get` on https://mcp.ironfang.com/mcp
