Pour valider un GTIN, conservez-le comme texte, retirez seulement les séparateurs explicitement autorisés, contrôlez sa longueur, puis recalculez le dernier chiffre avec l'algorithme GS1. Cette réussite ne prouve pourtant que la cohérence mathématique du code. Elle ne démontre ni que le numéro a été attribué par GS1, ni qu'il appartient à la marque annoncée, ni qu'il correspond à la bonne taille ou au bon lot. Un contrôle fiable comporte donc trois verdicts séparés : syntaxe et clé, existence ou attribution vérifiable, puis concordance avec le produit observé. Confondre ces niveaux crée précisément les faux positifs qui polluent un rapprochement fournisseur.
Les trois questions qu'un seul booléen ne peut pas résoudre
Un champ gtin_valide=true est trop vague. Il faut savoir ce qui a été testé. Un nombre peut passer la clé de contrôle tout en ayant été fabriqué au hasard : pour de nombreuses suites de chiffres, il existe mécaniquement un dernier chiffre qui rend l'ensemble cohérent. Inversement, un code authentique peut être dégradé par un tableur qui supprime un zéro initial ou l'affiche en notation scientifique.
Séparez donc les états suivants :
| Niveau | Question | Preuve acceptable | Ce que le résultat ne prouve pas |
|---|---|---|---|
| Format | La valeur a-t-elle une longueur GTIN admise et uniquement des chiffres ? | Chaîne brute et règle de longueur | Attribution officielle |
| Clé | Le dernier chiffre correspond-il au calcul GS1 ? | Recalcul reproductible | Existence du produit |
| Identité | Le code est-il relié au bon article commercial ? | Source de marque, emballage ou registre autorisé | Prix et stock actuels |
GS1 définit le GTIN comme un identifiant d'article commercial. Son outil officiel de calcul explique que le dernier chiffre est une clé servant à vérifier que le numéro est correctement composé. Cette formulation est importante : une clé correcte valide la composition, pas toute l'histoire commerciale du numéro.
Recalculer la clé pas à pas
Prenez la valeur complète comme une chaîne. Le dernier chiffre est la clé annoncée ; les précédents forment le corps à contrôler. En partant de la droite du corps, multipliez alternativement les chiffres par 3 puis par 1. Additionnez les produits. La clé calculée est le chiffre qui complète cette somme jusqu'au multiple de dix suivant ; si la somme est déjà un multiple de dix, la clé vaut zéro.
Voici un exemple purement pédagogique dont les chiffres sont des hypothèses, pas un produit réel. Pour le corps 123456789012, les produits lus depuis la droite sont pondérés 3, 1, 3, 1, etc. La somme obtenue est 92. Le complément au multiple de dix suivant est 8 : le code complet hypothétique serait donc 1234567890128. Le calcul se reproduit aussi avec la formule (10 - (somme modulo 10)) modulo 10.
Procédure de contrôle :
1. Lire la cellule sans conversion numérique. 2. Supprimer les espaces périphériques, mais journaliser toute autre correction. 3. Refuser les lettres, la ponctuation restante et les décimales ajoutées par un tableur. 4. Vérifier que la longueur correspond à une forme de GTIN attendue dans ce flux. 5. Séparer la clé annoncée du corps. 6. Calculer la somme pondérée depuis la droite. 7. Comparer la clé calculée et la clé annoncée. 8. Conserver le motif exact en cas de rejet.
Une normalisation sur quatorze chiffres peut être utile pour comparer des échanges GS1, mais elle doit se faire dans une colonne dérivée. La valeur source reste intacte. GS1 indique notamment que ses messages XML utilisent une représentation sur quatorze chiffres avec des zéros à gauche, tandis que d'autres échanges peuvent utiliser une longueur variable jusqu'à quatorze chiffres.
Prévenir les faux positifs d'identité
Après la clé, il reste la partie métier. Selon GS1, un GTIN ne peut être attribué qu'à un seul produit, et les variations qui distinguent les articles commerciaux — par exemple le modèle, la couleur, la taille ou la présentation — reçoivent des références distinctes. Si deux lignes utilisent le même code pour deux tailles différentes, il ne faut donc pas choisir arbitrairement la plus ressemblante. Placez les lignes dans une file de revue et cherchez une preuve officielle.
La preuve peut venir d'une fiche de la marque, d'un emballage lisible, d'un flux fournisseur autorisé ou d'un service GS1 pertinent selon les droits d'accès. Une simple répétition sur plusieurs boutiques ne suffit pas : les boutiques peuvent recopier la même erreur. La méthode de détection des doublons GTIN entre variantes aide à isoler ces conflits avant qu'ils deviennent des correspondances.
Ne confondez pas non plus GTIN et SKU. Le SKU est généralement une référence propre à un vendeur ou à un fournisseur. Il peut compléter la preuve et stabiliser les mises à jour, mais il n'est pas interchangeable avec un identifiant GS1. Conservez les deux colonnes, avec leur provenance.
Les corrections autorisées doivent rester visibles
Une chaîne contenant des espaces autour du code peut être nettoyée sans changer sa signification, à condition de garder la valeur brute. En revanche, compléter aveuglément un code court, retirer un chiffre, remplacer une lettre O par zéro ou extraire les premiers chiffres d'un texte sont des transformations risquées. Elles peuvent produire un code qui passe l'algorithme tout en n'ayant jamais existé.
Adoptez des statuts explicites : valide_cle, invalide_cle, format_inattendu, absent et ambigu_apres_correction. Ajoutez ensuite un statut indépendant pour la concordance : produit_confirme, conflit_variante ou non_verifie. Cette modélisation évite qu'une réussite technique devienne, par raccourci, une approbation commerciale.
Pour comparer ensuite les offres, utilisez uniquement les lignes dont l'identité est suffisamment établie. La procédure pour comparer deux fournisseurs sur le même EAN commence précisément par cette preuve et non par le prix le plus bas.
Checklist avant d'accepter un GTIN
- La valeur brute a été conservée comme texte.
- Aucun zéro initial n'a disparu.
- Les corrections éventuelles sont tracées séparément.
- La longueur attendue est documentée pour le flux.
- La clé a été recalculée, pas seulement copiée.
- Le résultat mathématique est distinct de l'attribution.
- La marque, la variante et la présentation concordent.
- Les doublons contradictoires sont placés en revue.
- Le SKU source reste disponible pour l'audit.
- Un rejet contient un motif actionnable.
Ce qu'ArbitragePro+ peut automatiser / ce que le vendeur doit vérifier
La spécification proposée validateur-gtin pourrait préserver la chaîne brute, appliquer le calcul GS1, attribuer un motif de rejet et détecter les conflits entre variantes. Elle devrait afficher séparément la validité de la clé et le niveau de preuve d'identité.
Le vendeur doit vérifier l'attribution et la concordance sur une source autorisée, arbitrer les conflits de marque ou de conditionnement et ne pas publier une correspondance sur la seule base de l'algorithme.
Vérifier un identifiant dans le contexte du produit
Ouvrir la recherche ArbitragePro+ pour examiner les correspondances disponibles et leurs informations associées.
Sources officielles
- GS1, « Check Digit Calculator », https://www.gs1.org/services/check-digit-calculator — consulté le 2026-08-17.
- GS1, « Global Trade Item Number (GTIN) », https://www.gs1.org/standards/id-keys/gtin — consulté le 2026-08-17.
- GS1 Support, « How do GS1 GTINs and barcodes work? », https://support.gs1.org/support/solutions/articles/43000734095-how-do-gs1-gtins-and-barcodes-work- — consulté le 2026-08-17.
- GS1 Support, « Required format of GTIN in GS1 EDI standards », https://support.gs1.org/support/solutions/articles/43000734355-what-is-the-required-format-of-gtin-in-gs1-edi-standards- — consulté le 2026-08-17.
