Sur cette page
La réponse courte
PEPPOL-COMMON-R040 échoue lorsqu'un identifiant marqué schemeID="0088", le schéma GS1 Global Location Number, n'est pas une suite de chiffres se terminant par la bonne clé de contrôle. Dans l'exemple enregistré, le cbc:EndpointID de l'acheteur est 7300010000002, et un GLN commençant par ces douze chiffres doit se terminer par 1.
Une clé de contrôle fausse signifie que le numéro a été mal saisi ou modifié, pas que son dernier chiffre doit être recalculé. Obtenez le bon GLN auprès de la partie qu'il identifie ; un numéro que l'on fait réussir en changeant son dernier chiffre peut appartenir à quelqu'un d'autre.
Ce que la règle vérifie
Trois types d'éléments sont couverts : tout cbc:EndpointID, tout cac:PartyIdentification/cbc:ID et tout cbc:CompanyID dont le schemeID vaut exactement 0088. Lors d'un essai, une clé de contrôle fausse a été signalée sur l'identifiant du vendeur et sur l'identifiant d'enregistrement légal du vendeur aussi bien que sur une adresse électronique, une fois par élément.
Les espaces autour sont retirés, et ce qui reste ne doit contenir que des chiffres. Lors d'un essai, un espace à l'intérieur du numéro et une lettre à la place du dernier chiffre ont tous deux échoué.
Le dernier chiffre est comparé à la clé de contrôle GS1 modulo 10 des chiffres qui le précèdent. La longueur n'est pas contrôlée : lors d'un essai, 07300010000001, quatorze chiffres, a réussi, car un zéro en tête n'ajoute rien à la somme pondérée.
Les autres identifiants avec le schéma 0088 ne sont pas examinés. Lors d'un essai, la même clé de contrôle fausse sur un cac:StandardItemIdentification/cbc:ID ou sur un cac:DeliveryLocation/cbc:ID n'a produit aucun constat.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-49 | Adresse électronique de l'acheteur (l'élément de l'exemple enregistré) | cac:AccountingCustomerParty/cac:Party/cbc:EndpointID |
| BT-34 | Adresse électronique du vendeur | cac:AccountingSupplierParty/cac:Party/cbc:EndpointID |
| BT-29 | Identifiant du vendeur | cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID |
| BT-30 | Identifiant d'enregistrement légal du vendeur | cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID |
Comment une intégration en arrive là
Causes possibles, déduites de la forme de la règle et non d'une utilisation mesurée :
- Le GLN a été saisi à la main à partir d'un courrier, d'un e-mail ou d'un formulaire, et un chiffre a changé en route.
- Un numéro de test ou provisoire est resté dans les données de la partie et n'a jamais été remplacé par le vrai GLN.
- Un numéro d'un autre schéma, comme un numéro d'immatriculation de société ou un numéro de compte interne, est envoyé avec
schemeID="0088". - Le GLN est stocké avec des espaces ou des tirets pour la lisibilité, tel qu'il est imprimé sur les étiquettes.
Comment corriger le document
- Repérez l'élément à partir de l'emplacement du constat : une adresse électronique, un identifiant de partie ou un identifiant d'enregistrement légal.
- Obtenez le bon GLN auprès de la partie qu'il identifie, ou de son enregistrement Peppol s'il s'agit d'une adresse électronique, et corrigez la valeur stockée.
- Écrivez-le sur treize chiffres, sans espaces ni séparateurs.
- Si la valeur n'est pas du tout un GLN, donnez-lui le
schemeIDdu schéma qui l'a réellement attribuée au lieu de0088. - Validez les GLN avec le calcul de la clé de contrôle lors de la saisie des données de partie, afin qu'un numéro mal saisi soit détecté avant la création de toute facture.
La clé de contrôle de 7300010000001, la valeur de la facture corrigée. Les poids 3 et 1 alternent vers la gauche à partir du chiffre voisin de la clé de contrôle ; pour un GLN à treize chiffres, ils valent donc 1, 3, 1, 3 en partant de la gauche.
Douze premiers chiffres : 7 3 0 0 0 1 0 0 0 0 0 0 Poids : 1 3 1 3 1 3 1 3 1 3 1 3 Somme pondérée : 7 + 9 + 0 + 0 + 0 + 3 + 0 + 0 + 0 + 0 + 0 + 0 = 19 Clé de contrôle : (10 - (19 mod 10)) mod 10 = (10 - 9) mod 10 = 1 7300010000001 se termine par 1 et réussit ; 7300010000002 se termine par 2 et échoue
Valider votre facture corrigée
Avant et après
Ce sont des extraits, pas des documents complets. Les documents synthétiques complets dont ils proviennent sont liés ci-dessous.
Fragment de la facture en échec : le GLN de l'acheteur se termine par 2
<cac:AccountingCustomerParty>
<cac:Party>
<cbc:EndpointID schemeID="0088">7300010000002</cbc:EndpointID>
<!-- postal address and legal entity omitted from this fragment -->
</cac:Party>
</cac:AccountingCustomerParty>Fragment de la facture corrigée : le GLN de l'acheteur se termine par sa clé de contrôle, 1
<cac:AccountingCustomerParty>
<cac:Party>
<cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
<!-- postal address and legal entity omitted from this fragment -->
</cac:Party>
</cac:AccountingCustomerParty>Seul le dernier chiffre du cbc:EndpointID de l'acheteur diffère : 7300010000002 dans la facture en échec, 7300010000001 dans la facture corrigée. PEPPOL-COMMON-R040 est le seul constat, et l'étape EN 16931 réussit, puisque EN 16931 contrôle le code de schéma d'une adresse électronique mais pas l'identifiant qu'elle contient.
Ce que le validateur a signalé
- La facture en erreur signale PEPPOL-COMMON-R040. Le document corrigé passe toutes les étapes de validation sans constat.Télécharger le XML en erreurTélécharger le XML corrigé
Enregistré avec phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, le moteur du validateur gratuit, sur des données synthétiques. Un résultat enregistré est une preuve de non-régression pour ces documents ; ce n'est pas une certification.
Où la règle s'applique
- Le contrôle ne dépend pas du type de document. Lors d'un essai, une clé de contrôle fausse dans l'adresse de l'acheteur d'un avoir a signalé cette règle seule.
- Une règle Peppol, signalée uniquement dans l'étape Peppol.
- La règle ne s'applique que lorsque
schemeIDvaut exactement0088. Sous tout autre schéma, les chiffres ne sont pas contrôlés ici, et le code de schéma lui-même est jugé parBR-CL-10pour un identifiant de partie,BR-CL-11pour un identifiant d'enregistrement légal, etBR-CL-25avecPEPPOL-EN16931-CL008pour une adresse électronique. - Réussir montre que le numéro est bien formé. Cela ne montre pas que GS1 l'a attribué, qu'il appartient à la partie, ni qu'il est enregistré sur le réseau Peppol.
Règles liées
- PEPPOL-EN16931-CL008 contrôle le code de schéma d'une adresse électronique, qui doit être 0088 pour que cette règle s'applique
- BR-CL-10 contrôle le code de schéma d'un identifiant de partie
- BR-CL-25 contrôle le schéma de l'adresse électronique dans l'étape EN 16931
- PEPPOL-EN16931-R010 exige l'adresse électronique de l'acheteur, qui porte le GLN dans l'exemple enregistré
- Parcourir toutes les règles de la référence
- Contexte (en anglais) : How Peppol invoice validation actually works
Portée et source
Rédigé pour Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, tel qu'appliqué aux documents Invoice et CreditNote en UBL 2.1. D'autres profils, syntaxes et versions peuvent définir cet identifiant autrement. Version du catalogue d'aide 2026-09-24.1 : source vérifiée le 2026-09-24, explication mise à jour le 2026-09-24.
La définition officielle de PEPPOL-COMMON-R040 (en anglais) contient le texte normatif et le test. Cette page en est notre explication, pas une copie.
Cette aide ne modifie pas le verdict du moteur. Corriger ce constat ne signifie pas que le document passe toutes les étapes de validation, et la validation ne certifie pas la conformité juridique ou fiscale et ne transmet aucun document via Peppol.

