What does BR-CL-21 mean?
The item standard identifier (e.g. a GTIN) needs a scheme from the ISO 6523 ICD list so that the source of the number is unambiguous.
Common causes of BR-CL-21
- The short name of the identifier ('GTIN', 'EAN') sits in @schemeID instead of the four-digit ICD code.
- @schemeID is missing entirely although a GlobalID (BT-157) is given.
- An own item number was put into ram:GlobalID (it belongs in ram:SellerAssignedID).
How to fix BR-CL-21
- Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-157-1 along this XPath:
//ram:SpecifiedTradeProduct/ram:GlobalID/@schemeID - Apply the fix. Code the scheme of the item standard identifier (BT-157-1) in the @schemeID attribute with an ICD code from ISO 6523, e.g. '0160' (GS1 GTIN), '0088' (GS1 GLN), '0060' (DUNS), '0021' (SWIFT/BIC), '0177' (ODETTE). No plain text such as 'GTIN' or 'EAN'.
- Validate again. Save the file and validate it again to check that BR-CL-21 is no longer reported.
Code the scheme of the item standard identifier (BT-157-1) in the @schemeID attribute with an ICD code from ISO 6523, e.g. '0160' (GS1 GTIN), '0088' (GS1 GLN), '0060' (DUNS), '0021' (SWIFT/BIC), '0177' (ODETTE). No plain text such as 'GTIN' or 'EAN'.
//ram:SpecifiedTradeProduct/ram:GlobalID/@schemeIDBefore / after: the XML example
This is the spot in question before and after the fix (Cross Industry Invoice, ZUGFeRD/Factur-X).
<ram:SpecifiedTradeProduct>
<ram:GlobalID schemeID="GTIN">4012345678901</ram:GlobalID>
<ram:Name>Kugelschreiber blau</ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedTradeProduct>
<ram:GlobalID schemeID="0160">4012345678901</ram:GlobalID>
<ram:Name>Kugelschreiber blau</ram:Name>
</ram:SpecifiedTradeProduct>
Frequent questions about BR-CL-21
Which ICD code do I use for a GTIN/EAN?
Where does my own item number go?
Related error codes
Check BR-CL-21 automatically
Instead of digging through the XML by hand you can validate your ZUGFeRD or XRechnung file online – upload the PDF or the XML and you get every error with rule ID, affected field, fix and XPath, as a readable report or as JSON through the API.