PEPPOL-COMMON-R040
GLN must have a valid format according to GS1 rules.
What does this rule mean?
An identifier declared as a GLN does not match the required format.
The scheme identifier promises the value comes from that register, so Peppol checks it: A GLN is 13 digits and ends in a GS1 check digit. If the format is wrong the receiver cannot resolve the party.
Official rule message (standard)
GLN must have a valid format according to GS1 rules.
Where the rule applies
Syntax: CII · UBL
The same rule, expressed twice: UBL and CII name the same fields with different paths. Running a CII file against the UBL rules is why you get errors that mean nothing.
UBL
cbc:EndpointID[@schemeID = '0088'] | cac:PartyIdentification/cbc:ID[@schemeID = '0088'] | cbc:CompanyID[@schemeID = '0088']
CII
ram:URIID[@schemeID = '0088'] | ram:ID[@schemeID = '0088'] | ram:GlobalID[@schemeID = '0088']
Technical test
The rule passes when this Schematron expression holds true:
matches(normalize-space(), '^[0-9]+$') and u:gln(normalize-space())How to fix it
A missing or incorrect business entry only you can supply. Add or correct it, then re-check.
Correct the identifier — or, if it comes from a different register, correct the schemeID.
Correct the affected entry in your XML, then re-check the invoice. Validation runs locally in your browser — your file never leaves your machine.
Check an e-invoice here
Drop an XML or ZUGFeRD PDF file here. Validation runs locally in your browser against EN 16931 — your file never leaves your machine.