AttestwireRule referenceBR-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

the shape this field expects
"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:

TeachingError
{
  "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.