BR-CL-25

Endpoint identifier scheme identifier MUST belong to the CEF EAS code list

Official rule text

[BR-CL-25]-Endpoint identifier scheme identifier MUST belong to the CEF EAS code list

Where the rule applies

Rule setDocument typeSeverity
XRechnung with the CEN EN 16931 rules (3.0.2)
KoSIT, CEN
EN16931 XRechnung (UBL Invoice), EN16931 XRechnung CVD (UBL Invoice), EN16931 XRechnung (UBL CreditNote), EN16931 XRechnung CVD (UBL CreditNote), EN16931 XRechnung (CII), EN16931 XRechnung CVD (CII), EN16931 (UBL Invoice), EN16931 (UBL CreditNote), EN16931 (CII)fatal
XRechnung with the CEN EN 16931 rules (3.0.2)
KoSIT, CEN
EN16931 XRechnung Extension (UBL Invoice), EN16931 XRechnung Extension (CII)information
Peppol BIS Billing 3.0 (3.0-2026.5)
OpenPeppol
Peppol BIS Billing 3.0 (UBL Invoice), Peppol BIS Billing 3.0 (UBL CreditNote)fatal
French rules BR-FR, EXTENDED-CTC-FR (1.4.0.04)
FNFE-MPE
EXTENDED-CTC-FR (CII), EXTENDED-CTC-FR (UBL Invoice), EXTENDED-CTC-FR (UBL CreditNote)fatal
CIUS-RO (1.0.9)
Romanian Ministry of Finance
CIUS-RO (UBL Invoice), CIUS-RO (UBL CreditNote), CIUS-RO (CII): EN 16931 onlyfatal
HR-CIUS (eRačun) (1.0.4)
Croatian Tax Administration
HR-CIUS (UBL Invoice), HR-CIUS (UBL CreditNote)fatal

Fatal and error findings make the invoice invalid (valid: false); warnings and information do not.

Check a Peppol ID and choose the EAS scheme

Technical check

Syntax
UBL · French rules BR-FR, EXTENDED-CTC-FR (1.4.0.04), HR-CIUS (eRačun) (1.0.4), Peppol BIS Billing 3.0 (3.0-2026.5), XRechnung with the CEN EN 16931 rules (3.0.2)
Context
cbc:EndpointID[@schemeID]
Test (must be true)
((not(contains(normalize-space(@schemeID), ' ')) and contains(' 0002 0007 0009 0037 0060 0088 0096 0097 0106 0130 0135 0142 0147 0151 0154 0158 0170 0177 0183 0184 0188 0190 0191 0192 0193 0194 0195 0196 0198 0199 0200 0201 0202 0203 0204 0205 0208 0209 0210 0211 0212 0213 0215 0216 0217 0218 0219 0220 0221 0225 0230 0235 0240 0244 0242 0245 0246 0248 9910 9913 9914 9915 9918 9919 9920 9922 9923 9924 9925 9926 9927 9928 9929 9930 9931 9932 9933 9934 9935 9936 9937 9938 9939 9940 9941 9942 9943 9944 9945 9946 9947 9948 9949 9950 9951 9952 9953 9957 9959 AN AQ AS AU EM ', concat(' ', normalize-space(@schemeID), ' '))))
Syntax
CII · CIUS-RO (1.0.9), French rules BR-FR, EXTENDED-CTC-FR (1.4.0.04), XRechnung with the CEN EN 16931 rules (3.0.2)
Context
ram:URIUniversalCommunication/ram:URIID[@schemeID]
Test (must be true)
((not(contains(normalize-space(@schemeID), ' ')) and contains(' 0002 0007 0009 0037 0060 0088 0096 0097 0106 0130 0135 0142 0147 0151 0154 0158 0170 0177 0183 0184 0188 0190 0191 0192 0193 0194 0195 0196 0198 0199 0200 0201 0202 0203 0204 0205 0208 0209 0210 0211 0212 0213 0215 0216 0217 0218 0219 0220 0221 0225 0230 0235 0240 0244 0242 0245 0246 0248 9910 9913 9914 9915 9918 9919 9920 9922 9923 9924 9925 9926 9927 9928 9929 9930 9931 9932 9933 9934 9935 9936 9937 9938 9939 9940 9941 9942 9943 9944 9945 9946 9947 9948 9949 9950 9951 9952 9953 9957 9959 AN AQ AS AU EM ', concat(' ', normalize-space(@schemeID), ' '))))
Syntax
UBL · CIUS-RO (1.0.9)
Context
cbc:EndpointID[@schemeID]
Test (must be true)
((not(contains(normalize-space(@schemeID), ' ')) and contains(' 0002 0007 0009 0037 0060 0088 0096 0097 0106 0130 0135 0142 0147 0151 0170 0183 0184 0188 0190 0191 0192 0193 0194 0195 0196 0198 0199 0200 0201 0202 0203 0204 0205 0208 0209 0210 0211 0212 0213 0215 0216 9901 9906 9907 9910 9913 9914 9915 9918 9919 9920 9922 9923 9924 9925 9926 9927 9928 9929 9930 9931 9932 9933 9934 9935 9936 9937 9938 9939 9940 9941 9942 9943 9944 9945 9946 9947 9948 9949 9950 9951 9952 9953 9955 9957 AN AQ AS AU EM ', concat(' ', normalize-space(@schemeID), ' '))))

How the API reports this rule

Every finding of POST /v1/validate carries the rule id, severity, message, location (XPath) and rule set, and links this page (docUrl):

{
  "severity": "fatal",
  "ruleId": "BR-CL-25",
  "message": "[BR-CL-25]-Endpoint identifier scheme identifier MUST belong to the CEF EAS code list",
  "xpath": "/…",
  "source": "schematron:xrechnung@3.0.2",
  "docUrl": "https://einvoice-api.eu/rules/br-cl-25.html"
}

Check an invoice against this rule and every other rule of the rule set – in the browser, without sign-up.

Rule text and severity are taken unchanged from the official rule set; this page is generated from the API's configuration. Not legal advice.