BR-DEX – XRechnung extension
BR-DEX-07: electronic address scheme not from the EAS list
ErrorXRechnung business rule (KoSIT)
The rule's own wording
[BR-DEX-07] Any scheme identifier for an Endpoint Identifier in MUST belong to the CEF EAS code list.Source: KoSIT XRechnung, version 3.0.2 (Schematron 2.6.0)
The fix in the XML
Set in the schemeID attribute of cbc:EndpointID a code of the EAS list: EM for e-mail, 0204 for the Leitweg-ID, 9930 for a German VAT identifier, 0088 for a GLN. In CII the same applies to ram:URIID of the URIUniversalCommunication.
<cbc:EndpointID schemeID="Email">[email protected]</cbc:EndpointID><cbc:EndpointID schemeID="EM">[email protected]</cbc:EndpointID>Meaning of the rule
The electronic address of the seller or the buyer in your invoice, the address for exchange over a network such as Peppol, carries a scheme the extension does not know. The scheme must be a code of the EAS list, which the EU maintains for electronic addresses, for example EM for an e-mail address, 9930 for a German VAT identifier or 0204 for a Leitweg-ID. A text such as Peppol or Email as the scheme is rejected.
What usually goes wrong
- A descriptive name such as Email was entered instead of the EAS code.
- An ISO 6523 code was used where the EAS list provides another code.
- The software fills the scheme with a fixed placeholder.
Questions and answers
How do the EAS list and ISO 6523 differ?
ISO 6523 names identifier systems for organisations; the EAS list names addressing schemes for electronic exchange and contains ISO codes plus its own such as EM.
Which code applies to the Leitweg-ID as an electronic address?
0204 stands for the Leitweg-ID in the EAS list. German public bodies are reachable in the Peppol network through it; the identifier goes into cbc:EndpointID with schemeID 0204.
EN 16931 fields
- BT-34
- BT-49
See also
- PEPPOL-EN16931-R010
- PEPPOL-EN16931-R020
- BR-CL-25
Check your invoice
The XRechnung validator reports this rule with the line number and location – right in your browser, without upload.
The rule in detail
- UBL · Context (XPath)
cbc:EndpointID[@schemeID and $isExtension]- UBL · Schematron test
((not(contains(normalize-space(@schemeID), ' ')) and contains($CEF-EAS-EXT-CODES, concat(' ', normalize-space(@schemeID), ' '))))- CII · Context (XPath)
ram:URIUniversalCommunication/ram:URIID[@schemeID and $isExtension]- CII · Schematron test
((not(contains(normalize-space(@schemeID), ' ')) and contains($CEF-EAS-EXT-CODES, concat(' ', normalize-space(@schemeID), ' '))))
Explanation written on 14 September 2026