Attestwire › Rule reference › BR-CL-10
BR-CL-10 A party identifier scheme must be an ISO 6523 ICD code
noun · EN 16931 · fatal · BT-29
For a sample invoice, the library reports: The scheme identifier on the seller identifier (BT-29-1) is "9930", which is not in the ISO 6523 ICD list (243 codes).
- Business term
BT-29- Severity
fatal
The fix
Set seller.identifier.schemeId to an ISO 6523 ICD code: "0088" GLN, "0060" D-U-N-S, "0037" Finnish OVT, "0106" Dutch KvK/OIN, "0198" Danish CVR, "0204" German Leitweg-ID, "0002" French SIRENE. The ICD list is broader than the EAS list used for electronic addresses (BR-CL-25), so a valid endpoint scheme is not automatically valid here and vice versa.
A passing value
"identifier": { "schemeId": "0088", "value": "4304171000002" }What the library returns
The full error returned by @attestwire/en16931. It includes the rule ID,
affected field and suggested correction. Developers can use this object in their application:
{
"rule": "BR-CL-10",
"field": "BT-29",
"severity": "fatal",
"message": "The scheme identifier on the seller identifier (BT-29-1) is \"9930\", which is not in the ISO 6523 ICD list (243 codes). A party identifier without a resolvable scheme is a number in a namespace nobody can name: the receiver cannot tell a GLN from a national organisation number from an internal customer code, and automatic party matching either fails or matches the wrong record.",
"fix": "Set seller.identifier.schemeId to an ISO 6523 ICD code: \"0088\" GLN, \"0060\" D-U-N-S, \"0037\" Finnish OVT, \"0106\" Dutch KvK/OIN, \"0198\" Danish CVR, \"0204\" German Leitweg-ID, \"0002\" French SIRENE. The ICD list is broader than the EAS list used for electronic addresses (BR-CL-25), so a valid endpoint scheme is not automatically valid here and vice versa.",
"example": "\"identifier\": { \"schemeId\": \"0088\", \"value\": \"4304171000002\" }",
"xpath": "/ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID/@schemeID",
"docsUrl": "https://attestwire.com/rules/BR-CL-10"
}
xpath is always a UBL path. On a CII invoice, look for the
matching CII field instead.