Les codes "GS1" sont des codes normalisés par l'organisme international GS1.

Ces codes ont deux formes: les codes barres 1d[1] ou les codes barres 2D[2]. Ils sont présents sur de nombreux produits.

Le plus utilisé étant EAN13 présent sur l'intégralité des produits vendus en grande distribution.

Dans l'industrie, GS1-128 est quant à lui grandement utilisé pour la logistique. De la gestion des stocks, au transport. Il permet, entre autres, par la lecture du code barre, de limiter les saisies manuelles et de fiabiliser les données tout en améliorant la traçabilité des process et des produits.

La démocratisation des lecteurs compatibles avec les codes 2D, une migration vers des codes 2D est possible. GS1-Datamatrix ou GS1-QR Code pouvant remplacer avantageusement GS1-128, car ils utilisent la même codification des données. Le frein étant le fait qu'un seul acteur de la chaine logistique non équipé empêche une adoption généralisée. Le code GS1-Datamatrix est largement utilisé dans l'industrie pharmaceutique à la suite des recommandations éditées par GS1 pour ce secteur d'activité[3].

Codes normalisés modifier

Codes barres classiques modifier

Ces codes, généralement 1D, sont utilisés pour n'encoder qu'un nombre limité de données.

UPC-A / UPC-E modifier

Code UPC-A

Ces codes UPC sont spécifiquement utilisés en Amérique du Nord.

Ils sont limités à 12 et 8 caractères numériques. La version à 8 caractères étant utilisée principalement sur les très petits produits.

Le dernier caractère est une clef de contrôle des 11 caractères précédents

EAN13 / EAN8 modifier

Code EAN 13.

Ces codes EAN13 /EAN8 sont utilisés dans le reste du monde.

Ils sont limités à 13 et 8 caractères numériques. La version à 8 caractères est utilisée essentiellement sur les très petits produits vendus à l'unité.

La donnée encodée est généralement un code article valide à l'international GTIN 13. Ou, pour l'EAN13 et dans le cas des articles à poids variables, un code article et son poids ou le prix du paquet. Ces codifications dépendent du marché local et sont à la discrétion des entités locales de GS1.

Dans un usage interne, certaines plages de codes sont délibérément laissées libres par GS1. Entre autres, en France, la série commençant par 20. Leur codification et usage est alors libre, a l'exception du calcul de la clef, qui reste obligatoire. Ce code permet de coder sur 9 caractères 1 000 000 000 articles pièce ou poids fixe. Ces codes ne sont alors valides que dans un périmètre restreint. (par exemple : une entreprise, un groupement de magasins franchisé ou des entreprises partenaires)

Le dernier caractère est toujours une clef de contrôle calculée sur les 12 caractères précédents.

ITF14 modifier

Ce code utilise la symbologie ITF14 pour encoder un GTIN sur 14 caractères.

Ça peut être un GTIN 13 UVC avec un 0 pour l’amener à 14 caractères, ou un GTIN 14 colis sur un carton avec plusieurs produits.

Le dernier caractère est une clef de contrôle des 13 caractères précédents.

Codes barres composites modifier

Le code barre composite permet une gestion normalisée des expéditions/livraisons par les transporteurs, ainsi qu'une meilleure gestion des stocks dans les entreprises et les plateformes des grandes centrales d'achat de la grande distribution. (Voir Serial Shipping Container Code pour le détail du code barre)

Ces codes sont généralement encodés dans la codification GS1, utilisant un agencement Identifiant/valeur.

Le choix d'un type de code ou d'un autre est fait en fonction des données à encoder et de la place disponible sur les supports d'impression.

GS1-128 / EAN 128 modifier

Ce code utilise la symbologie Code 128 pour imprimer les données.

Il est le plus usité car un simple lecteur 1D permet de le décoder.

Il est amené à être remplacé par une des variantes 2D Car les lecteurs compatibles 2D ont tendance à se généraliser.

Le GS1-128 étant limité à 48 caractères, il n'est pas rare qu'il soit décomposé en plusieurs codes barre sur l'étiquette. (Cette limitation est imposée par GS1 et pas par le Code 128, pour éviter les codes trop long qui seraient difficilement lisibles avec certains lecteurs codes barres) Dans le cas où il y aurait au moins deux codes barres GS1-128 sur l'étiquette, les couples Identifiant/Donnée encodés au format GS1 ne sont jamais séparés dans deux codes barres différents. la donnée suit forcément immédiatement et intégralement son identifiant dans un seul des codes barres se trouvant sur L'étiquette.

GS1-Datamatrix modifier

Example de code GS1-Datamatrix.

Ce code utilise la symbologie 2D Datamatrix pour imprimer les données[4].

Il a l'avantage de ne pas se limiter a 46 caractères. Ce qui permet de ne mettre qu'un seul code barre sur un produit pour un grand nombre d'informations. De plus, la tolérance de lecteur par correction d'erreur permet de lire ces codes malgré certains défauts d'impression ou de manipulation.

GS1 DataBar[5] modifier

Ce code utilise les symbologies GS1 Databar pour imprimer les données.

C'est un code qui est un mix d'empilement de codes 1D et 2D.

GS1-QR Code modifier

Ce code utilise la symbologie 2D QR Code pour imprimer les données.

Il offre globalement les mêmes avantages que la version Datamatrix.

Codification GS1 modifier

La codification GS1[6] est un standard international permettant l'échange de données entre producteurs et distributeurs.

Les codes GS1 sont composés d'un ou plusieurs identifiants (de taille fixe) appelés AI (Application Identifiers) dans la norme et de la donnée correspondante (de taille fixe ou variable suivant la normalisation de l'AI précédent la donnée).

Ils servent à identifier et tracer des produits dans une optique logistique. Entre autres : un marquage des unités logistiques (cartons contenant plusieurs articles), un suivi de produits expédiés en palettes ainsi que d'éventuelles dates de péremption des articles.

Principaux AI
Identifiant Description Longueur identifiant Longueur donnée Longueur totale
00 Identifie le numéro de palette ou colis suivie du code SSCC (numéro séquentiel de colis) 2 18 20
01 Identifie le contenu de la palette ou du carton par un GTIN 13 sur 14 (précédé du 0) ou un GTIN 14 ; le dernier caractère est toujours une clef EAN calculée sur les 13 caractères précédents. 2 14 16
02 Identifie le produit contenu dans la palette ou le carton comme l'identifiant 01, mais implique la présence de l'identifiant 37 pour indiquer combien de ces produits sont contenus dans la palette ou le carton. 2 14 16
10 Indique un numéro de lot. Le numéro de lot suivant cet identifiant est de taille variable (jusqu'à 20 caractères) 2 1 à 20 3 à 22
11 Indique une Date de fabrication. Suivie de cette date au format AAMMJJ (année sur deux caractères + mois sur deux caractères + jours sur deux caractères) 2 6 8
15 Indique une DDM (Date de Durabilité Minimale) suivie de cette date au format AAMMJJ (année sur deux caractères + mois sur deux caractères + jours sur deux caractères) 2 6 8
17 Indique une DLC (Date Limite de Consommation) suivie de cette date au format AAMMJJ (année sur deux caractères + mois sur deux caractères + jours sur deux caractères) 2 6 8
21 Numéro de série (non structuré) 2 1 à 20 3 à 22
310X Identifie le poids net de produit contenu dans la palette ou le colis. X indique le nombre de décimales à prendre en compte dans la donnée qui suit. Celle-ci est présentée sur 6 caractères y compris les X décimales (le point décimal ou la virgule ne doit pas figurer parmi les 6 caractères). Cet identifiant ne doit être présent que pour les articles à poids variable. Cela implique que, dans les AI 01 ou 02, l'ITF14 commence par un 9 et que la clef de ces AI soit recalculée en conséquence. 4 6 10
37 Identifie le nombre de produits contenus dans la palette ou le colis. Implique l'utilisation de l'identifiant 02 et l'absence de l'identifiant 01 2 1 à 8 3 à 10
90 Accord bilatéral entre les partenaires commerciaux 2 1 à 30 3 à 32
91 à 99 Pour applications internes. Permet aux entreprises de s'appuyer sur la norme GS1 pour gérer des spécifications ou des codifications non prévues par la norme. 2 1 à 30 3 à 32

La liste complète des AI possibles est disponible sur le site de GS1[7]. Des ajouts sont faits en fonction de l'évolution des besoins. Par exemple, les AI 391X et 392X, représentant le montant du paquet, ont été ajoutés pour préparer l'arrivée de codes 2D sur les produits a poids variable en magasin en remplacement des codes barres EAN13.

Si les AI avec des données à taille variable sont suivis d'un autre identifiant (avec des données de taille fixe ou variable) et que la taille de la donnée n'est pas la taille maximum, il faut faire suivre la donnée variable du caractère de contrôle FNC1. Ce caractère permet d'indiquer la fin de la donnée. Dans le cas où la donnée est à sa taille maximale ou positionnée à la fin du code-barres, ce caractère ne doit pas être renseigné. C'est pour cette raison que, la plupart du temps, les zones variables sont positionnées à la fin des codes barres (par exemple le numéro de lot (10) ou les quantités (37)).

Pour des raisons de décodage des AI , il n'est pas possible de trouver deux AI commençant par les mêmes chiffres (par exemple (10) et (101)) puisque la lecture chiffre à chiffre du code-barres empêcherait de les décoder (cet exemple explique qu'aucun identifiant de 100 à 109 ne peut donc exister).

Un code GS1 est très souvent accompagné d'une représentation textuelle des données. Dans cette symbolisation, les AI sont entourés de parenthèses pour permettre une lecture visuelle simplifiée pour une personne ayant des connaissances minimales en code GS1. Ces parenthèses ne sont pas encodées dans le code.

Sous un code 1D (GS1-128) généralement les données sont présentées sur une seule ligne. Dans le cas d'un code 2D, une présentation par ligne de chaque donnée est parfois préférable.

Ainsi, dans l'agro-alimentaire, il n'est pas rare d'avoir des colis identifiés comme ceci :

 (01)0312345600001C(15)071231(10)LOTA
 Identifiant article 0312345600001C
 Date limite au 31/12/2007
 Lot no LOTA
 (01)9312345600002C(15)071231(3103)012000(10)LOTB
 Identifiant article 9312345600002C
 c'est donc un poids variable
 Date limite au 31/12/2007
 Poids net produit 012,000 kg
 Lot no LOTB
Note : Le caractère de contrôle FNC1 peut être remplacé par le caractère GS (code ASCII 29) avec certains lecteurs codes barres, ainsi que dans les données d'impression de certains langages d'imprimantes thermiques. Pour les lecteurs codes barres, il est souvent possible de modifier ce comportement et de remplacer le code FNC1 par une chaine de caractères « imprimable » de type « ]C1 » pour permettre une interprétation plus simple avec des lecteurs codes barres fonctionnant en émulation clavier. Ainsi, un lecteur renvoyant « 3712<GS>10123456 » ou « 3712[C110123456 » symbolise l'acquisition du code (37)12(10)123456. Pour les imprimantes utilisant, par exemple, le langage EPL2, l'utilisation du caractère ACK (Code ASCII 06) insère le caractère FNC1 dans le code GS1-128 ou Code 128.

Toutes les informations sur la codification GS1 sont disponibles auprès de GS1[8] ou d'autres organismes agréés.

Toutes les informations sur la gestion des codes GS1 par les différents matériels sont disponibles dans les manuels et ressources mis à disposition par leurs fabricants respectifs.

Notes et références modifier