BR-DEX – XRechnung extension
BR-DEX-08: delivery location scheme not from the ISO 6523 list
ErrorXRechnung business rule (KoSIT)
Official message
[BR-DEX-08] Any scheme identifier for a Delivery location identifier in MUST be coded using one of the ISO 6523 ICD list.Source: KoSIT XRechnung, version 3.0.2 (Schematron 2.6.0)
What the message means
Your invoice names an identifier for the delivery location, such as the GLN of a branch or a warehouse, but the scheme of that identifier is not a code from the ISO 6523 list. The extension requires the code so that the recipient finds the delivery point in their location directory. For a GLN it is 0088. A text such as GLN or an internal label in the scheme field leads to a rejection, even with the right number.
How to fix it
Set in the schemeID attribute of cbc:ID under cac:DeliveryLocation the code 0088 for a GLN or another ISO 6523 code, or leave the attribute out for an internal number. In CII the same applies to ram:GlobalID of the ShipToTradeParty.
<cac:Delivery>
<cac:DeliveryLocation>
<cbc:ID schemeID="GLN">4012345000123</cbc:ID>
</cac:DeliveryLocation>
</cac:Delivery><cac:Delivery>
<cac:DeliveryLocation>
<cbc:ID schemeID="0088">4012345000123</cbc:ID>
</cac:DeliveryLocation>
</cac:Delivery>Frequently asked
Do I need the delivery location identifier when I give the delivery address?
No. The identifier is optional and complements the address for recipients who manage their locations by number.
Doesn't the norm check the scheme itself?
It does, with BR-CL-26: “Delivery location identifier scheme identifier MUST belong to the ISO 6523 ICD code list”. The XRechnung extension repeats the check for invoices with the extension identifier under the identifier BR-DEX-08.
Also seen when …
- The scheme was entered as the text GLN instead of the code 0088.
- An internal branch number was given an invented scheme.
- The scheme was copied from the customer master, where it is maintained wrongly.
Fields concerned
- BT-71
- BG-13
- BG-15
Related rules
Check your invoice
The XRechnung validator reports this rule with the line number and location – right in your browser, without upload.
Technical details
- UBL · Context (XPath)
cac:DeliveryLocation/cbc:ID[@schemeID and $isExtension]- UBL · Schematron test
((not(contains(normalize-space(@schemeID), ' ')) and contains($ISO-6523-ICD-EXT-CODES, concat(' ', normalize-space(@schemeID), ' '))))- CII · Context (XPath)
ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:GlobalID[@schemeID and $isExtension]- CII · Schematron test
((not(contains(normalize-space(@schemeID), ' ')) and contains($ISO-6523-ICD-EXT-CODES, concat(' ', normalize-space(@schemeID), ' '))))
Explanation written on 14 September 2026