Skip to content

BR-DEX-04: Scheme of a party identifier is not an ISO 6523 ICD code (extension)

Official message

[BR-DEX-04] Any scheme identifier in … MUST be coded using one of the ISO 6523 ICD list.

XRechnung (CII) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-DEX-04] Any scheme identifier in … MUST be coded using one of the ISO 6523 ICD list.

XRechnung (UBL) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31
Severity
Error The invoice is invalid and may be rejected by the recipient.
Applies to
XRechnung (CII), XRechnung (UBL)

What does this mean?

In an XRechnung extension invoice, the scheme (schemeID) of an identifier of seller, buyer or payee (e.g. BT-29, BT-46, BT-60) must be a code from the ISO 6523 ICD list. The given scheme is not one of them. In UBL, SEPA is additionally allowed for the seller and the payee.

Typical causes

Text was entered as scheme, e.g. "GLN" or "customer number", instead of the numeric code (e.g. 0088 for GLN).
The scheme contains spaces or is misspelled.
A scheme was given for an identifier that has no official scheme.

How to fix the error

Enter the four-digit ICD code of the issuing agency as scheme, e.g. 0088 for GLN (GS1).
If the identifier has no scheme from the ICD list, provide it without a scheme.
CII: ram:GlobalID/@schemeID of the parties, UBL: cac:PartyIdentification/cbc:ID/@schemeID.
Generate and validate the invoice again.

In E-Rechnungsfreund

In the invoice form ("Experte" view), section "Verkäufer (BG-4)", "Käufer (BG-7)" or "Abw. Zahlungsempfänger (BG-10)", correct or clear the field "Schema (ICD-Code)" under "Zusätzliche Identifikatoren (BT-29/46/60)".

Example

Wrong

<ram:SellerTradeParty>
  <ram:GlobalID schemeID="GLN">4000001123452</ram:GlobalID>
  ...
</ram:SellerTradeParty>

Correct

<ram:SellerTradeParty>
  <ram:GlobalID schemeID="0088">4000001123452</ram:GlobalID>
  ...
</ram:SellerTradeParty>
For developers: test expression per syntax

XRechnung (CII) (CII)

Context: //ram:GlobalID[@schemeID and $isExtension][not(ancestor::ram:SpecifiedTradeProduct) and not(ancestor::ram:ShipToTradeParty)]

((not(contains(normalize-space(@schemeID), ' ')) and contains($ISO-6523-ICD-EXT-CODES, concat(' ', normalize-space(@schemeID), ' '))))

XRechnung (UBL) (UBL)

Context: cac:PartyIdentification/cbc:ID[@schemeID and $isExtension]

((not(contains(normalize-space(@schemeID), ' ')) and contains($ISO-6523-ICD-EXT-CODES, concat(' ', normalize-space(@schemeID), ' ')))) or ((not(contains(normalize-space(@schemeID), ' ')) and contains(' SEPA ', concat(' ', normalize-space(@schemeID), ' '))) and ((ancestor::cac:AccountingSupplierParty) or (ancestor::cac:PayeeParty)))

Related validation rules

  • BR-DEX-01: Invalid MIME code of an attachment (BT-125) in the XRechnung extension
  • BR-DEX-02: Line net amount does not match the sum of its sub invoice lines
  • BR-DEX-03: Sub invoice line without exactly one VAT information (BG-DEX-06)
  • BR-DEX-05: Scheme of a registration identifier is not an ISO 6523 ICD code (extension)
  • BR-DEX-06: Scheme of the item standard identifier (BT-157) is not an ISO 6523 ICD code (extension)
  • BR-DEX-07: Scheme of the electronic address is not an EAS code (extension)

Last updated:
Explanation of the validation rule, not legal or tax advice.