Skip to content

Ironfang Finance - Rule reference

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.

EN 16931Fatal: the document is invalidCode listsProcess and references

On this page

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.

TermMeaningUBL element
BT-18Invoiced object identifiercac:AdditionalDocumentReference/cbc:ID (with cbc:DocumentTypeCode 130)
BT-18-1Invoiced object identifier: its scheme identifier attributecac:AdditionalDocumentReference/cbc:ID/@schemeID
BT-128Invoice line object identifiercac:InvoiceLine/cac:DocumentReference/cbc:ID (cac:CreditNoteLine in a credit note)
BT-128-1Invoice line object identifier: its scheme identifier attributecac: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.

Validate your corrected invoice

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

<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

<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

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.

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