« Le même produit existe en douze lignes dans notre fichier » : ce qu'on construit dans une application en 2027 pour qu'un produit n'existe qu'une fois, modèle, variantes, conditionnements, codes-barres, prix, reprise

« L'huile de 5 litres existe douze fois dans notre fichier : HU5, HUILE5L, FL-5, un ancien code, un code promo. Trois prix différents, un stock éclaté en douze, et chaque vendeur tape celle qu'il connaît. Le carton de quatre est un treizième produit. » Un catalogue propre n'est pas un fichier Excel mieux rangé, c'est une construction : un modèle qui porte la description et les photos une fois, des variantes qui ne diffèrent que par un attribut et où le stock se compte, des conditionnements qui portent chacun leur code-barres, leur facteur vers l'unité de base et leur prix, des attributs imposés par la catégorie, des alias pour les anciens codes, des grilles de prix datées, un statut et un historique, et une reprise qui fusionne les douze lignes sans en perdre une.

Symloop13 min de lecture
« Le même produit existe en douze lignes dans notre fichier »Ce qu’on construit pour qu’un produit n’existe qu’une fois : modèle, variantes, conditionnements, codes-barres, prix, repriseCATALOGUE · FICHE PRODUIT · VARIANTES · 2027« Le même produitexiste en douze lignesdans notre fichier »Ce qu’on construit pour qu’un produit n’existe qu’une fois :modèle, variantes, conditionnements, codes-barres, prix,DOUZE LIGNES, TROIS PRIXet le vendeur qui choisit « la bonne »UNE FICHE EN TROIS NIVEAUXet un carton qui vaut quatre unitéssymloop.com

Réponse courte. Un produit vit à trois niveaux. Le modèle porte ce qu'on décrit et photographie : nom en deux langues, marque, catégorie, fournisseur, description, photos ; il ne se vend pas. La variante porte le seul attribut qui change, contenance, taille, couleur, dosage, et c'est là que le stock se compte, en unités de base ; sa référence est générée, pas tapée. Le conditionnement porte ce qu'on scanne et ce qu'on vend : un code-barres unique dans tout le catalogue, un facteur vers l'unité de base, un carton de 4 vaut 4, et son entrée dans les grilles de prix datées, détail, gros, promotion. Les attributs sont définis par catégorie, obligatoires ou variants, pour qu'un vendeur ne puisse pas créer « T-shirt XL bleu 2 » à la volée. Les anciens codes deviennent des alias, jamais des doublons. Une fiche a un statut, brouillon, active, en fin de vie, archivée, et un historique de chaque changement ; elle ne se supprime pas. Et la reprise de l'ancien fichier passe par un essai à blanc, des fusions proposées et des lignes refusées par écrit.

Ce guide s'adresse au grossiste dont le catalogue a grandi dans un fichier pendant dix ans, au commerçant qui ouvre une boutique en ligne et découvre que chaque produit existe trois fois, au fondateur installé en France qui veut un catalogue vendable sur le site, à la caisse et par les commerciaux, et au magasinier qui scanne un carton et facture une unité. Il ne redit pas comment on tient un stock juste, décrit dans le guide sur le stock, ni comment on importe un fichier chaque semaine, décrit dans le guide sur l'import ; il décrit la structure que ces deux guides supposent, et il prolonge notre page sur l'ingénierie logicielle.

Un produit, trois niveaux

La figure suit une huile de table du modèle jusqu'à la palette. Ce qui vit à quel niveau n'est pas une question de goût, c'est ce qui décide si le scan, le stock et le prix sont justes.

Figure 1 · Un produit en trois niveaux. Le modèle porte ce qu’on décrit et photographie, une fois ; chaque variante porte le seul attribut qui change, ici la contenance, et c’est là que le stock se compte, en unités de base ; chaque conditionnement porte ce qu’on scanne et ce qu’on vend : son code-barres, son facteur vers l’unité de base et son entrée dans la grille de prix. Le carton de 4 n’est pas un autre produit, c’est quatre unités de la même variante. Références, codes, facteurs et prix sont un exemple construit.

Le modèle porte ce qu'on écrit une fois : le nom en français et en arabe, la marque, la catégorie, le fournisseur, la description et les photos. Il n'a pas de stock et pas de prix, parce qu'on ne vend pas « de l'huile Fleurial », on vend une contenance précise. La variante porte la valeur de l'attribut variant de sa catégorie, ici la contenance, et c'est elle qui a un stock, compté en unités de base dans le journal de mouvements de le guide sur le stock. Sa référence est composée par l'application à partir du modèle et de l'attribut, HT-FLEU-5, jamais tapée par un vendeur.

Le conditionnement est ce qu'on tient dans la main et ce qu'on scanne : la bouteille, le carton de 4, la palette de 112 cartons. Chacun a son code-barres, son facteur vers l'unité de base, 1, 4, 448, et son entrée dans les grilles de prix. Quand le magasinier scanne un carton en réception, le stock de la variante monte de 4 ; quand la caisse scanne une bouteille, il descend de 1. Les codes-barres du commerce (GTIN) existent en 8, 12, 13 et 14 chiffres ; le code à 14 chiffres sert aux unités logistiques, cartons et palettes, et n'est pas lu en caisse, selon la documentation publique du système GTIN. Références, codes, facteurs et prix de la figure sont un exemple construit.

«Le stock se compte à la variante, le prix et le code-barres vivent au conditionnement, la description et les photos vivent au modèle, une fois.»
01

Créer un produit correctement, en six étapes

L'ordre des étapes est celui que l'écran de création impose, et il commence par la catégorie, parce que c'est elle qui dit quels champs existent.

Figure 2 · L’étape accentuée est celle où le fichier Excel échoue toujours : la variante n’est pas une nouvelle ligne tapée à la main avec un code inventé, c’est une valeur d’attribut que l’application transforme en référence. Les deux dernières étapes rattachent le code-barres et le prix au conditionnement, pas au produit.

Choisir la catégorie : elle porte la liste des attributs obligatoires, marque et fournisseur pour une huile, dosage et forme pour un médicament, et l'attribut variant, contenance, taille, couleur ; sans catégorie, pas de fiche. Décrire le modèle : nom en deux langues, marque, fournisseur, description, photos ; c'est la seule saisie libre, et elle est faite une fois. Déclarer les variantes : une par valeur de l'attribut variant, 1 L, 2 L, 5 L ; la référence est générée, et une valeur déjà prise est refusée. C'est l'étape accentuée, parce que c'est là que les fichiers Excel fabriquent leurs doublons : une nouvelle ligne tapée à la main avec un code inventé.

Déclarer les conditionnements : l'unité de base d'abord, puis le carton et la palette avec leur facteur ; un facteur se vérifie en réception, un carton ouvert qui contient 6 au lieu de 4 est une anomalie, pas une correction silencieuse. Scanner les codes : un code-barres par conditionnement, lu au scanner plutôt que tapé ; un code déjà présent ailleurs dans le catalogue est refusé à la saisie avec le nom de la fiche qui le porte. Fixer les prix : par conditionnement et par grille, détail, gros, promotion avec dates de début et de fin ; une ligne de vente lit la grille, selon la règle posée dans le guide sur le devis et la facture, et ne retape jamais un prix.

02

Le catalogue, en cinq couches

Les identifiants sont la couche accentuée : un code scanné doit retrouver un seul conditionnement, dans tout le catalogue, toujours.

Figure 3 · La couche accentuée est celle qui rend le scan fiable : un code-barres appartient à un seul conditionnement dans tout le catalogue, et les anciens codes internes deviennent des alias au lieu de doublons. Les quatre autres couches disent ce qui vit à quel niveau et ce qui ne se retape jamais sur une ligne de vente.

Structure. Modèle, variantes, conditionnements ; attributs définis par catégorie ; une référence générée par niveau. Identifiants. Un code-barres appartient à un seul conditionnement dans tout le catalogue, et la contrainte est dans la base de données, pas dans une consigne ; les anciens codes internes, HU5, HUILE5L, deviennent des alias de la variante, pour que la recherche, les anciennes factures et les habitudes des vendeurs continuent de trouver le produit ; la référence du fournisseur est gardée pour les commandes et l'import de ses fichiers, décrit dans le guide sur l'import. Prix. Grilles par conditionnement, détail, gros, promotion ; chaque prix a une date de début et une date de fin, et la caisse de le guide sur l'encaissement comme le portail de le guide sur la commande B2B lisent la même grille.

Contenus. Les photos vivent au niveau du modèle, ou de la variante quand la couleur change ; les variantes héritent de celles du modèle, et une photo n'est jamais copiée douze fois. Les descriptions sont bilingues et indexées par la recherche décrite dans le guide sur la recherche. Vie de la fiche. Statut brouillon, active, en fin de vie, archivée ; en fin de vie, on vend le restant mais on ne réassortit plus ; archivée, la fiche reste lisible depuis les anciennes factures mais n'apparaît plus dans la vente. Chaque changement est historisé, qui, quand, ancienne valeur, nouvelle valeur, et une fiche ne se supprime pas.

03

La reprise : douze lignes deviennent une fiche

La figure montre ce que deviennent douze lignes d'un ancien fichier pour la même huile. Rien n'est perdu, et une ligne est refusée.

Figure 4 · La reprise d’un ancien fichier : douze lignes pour la même huile de 5 litres deviennent un modèle, une variante et deux conditionnements. Les codes internes différents deviennent des alias de la variante ; le code EAN scanné est gardé sur le conditionnement unité ; le libellé arabe est gardé sur le modèle ; le prix promo part dans la grille datée ; la ligne à prix zéro est refusée et remontée au gérant. Le stock des douze lignes est additionné en unités de base une fois pour toutes. Lignes, codes et prix sont un exemple construit.

La reprise commence par un rapprochement : les lignes dont le libellé, le code-barres ou le prix se ressemblent sont proposées comme un même produit, et le gérant confirme ou sépare, écran par écran, pas en masse. Les codes internes différents deviennent des alias de la variante ; le code EAN scanné est gardé sur le conditionnement unité ; le libellé arabe est gardé sur le modèle ; les deux lignes « carton » deviennent un conditionnement avec facteur 4 ; le prix promo part dans la grille, avec ses dates. La ligne à prix zéro n'est pas fusionnée en silence : elle est refusée et remontée au gérant avec sa raison, comme toute ligne que l'essai à blanc de le guide sur l'import ne sait pas placer.

Le stock des douze lignes est additionné en unités de base au moment de la reprise, une fois, et inscrit comme un mouvement d'ajustement daté dans le journal de le guide sur le stock ; il ne sera plus jamais réparti entre des doublons. Le même principe de clé et de fusion sert au fichier client dans le guide sur le client unique. Lignes, codes et prix de la figure sont un exemple construit.

«Les anciens codes ne sont pas perdus : ils deviennent des alias, et il n'y a plus qu'un stock et une grille de prix derrière.»
04

Six situations réelles, et ce que l’application fait

Chaque ligne de la matrice est une plainte entendue chez un grossiste, un commerçant ou une pharmacie, et la réponse est la structure, pas une consigne de plus.

Figure 5 · Les trois premières lignes se règlent par la structure à trois niveaux et les alias ; les trois suivantes par la grille de prix, les photos au bon niveau et le statut de la fiche. Aucune ne se règle par un fichier Excel mieux rangé.

Le même produit sous trois codes : une variante, trois alias ; un seul stock et un seul prix ; la recherche trouve par n'importe quel alias. Le carton vendu comme une unité : le carton a son propre code-barres, son facteur et son prix ; le scan ne peut pas se tromper de niveau, et le stock sort 4 unités. La nouvelle taille créée à la volée : la variante naît d'une valeur d'attribut, la référence est générée, et une valeur déjà prise est refusée. Le prix tapé sur la facture : la ligne lit la grille du conditionnement, datée, et un prix hors grille demande une remise approuvée selon le guide sur le devis et la facture.

La photo manque sur le site : la photo vit au modèle, les variantes en héritent, et une liste des fiches sans photo sort chaque lundi dans le tableau de bord du gérant. Le produit arrêté toujours vendu : le statut en fin de vie laisse vendre le restant sans réassort, puis l'archivage retire la fiche de la vente sans casser les anciennes factures. Les dates de péremption et les lots, qui concernent la pharmacie et l'agroalimentaire, s'ajoutent au niveau du mouvement de stock, pas de la fiche, comme dans le guide sur la pharmacie.

05

Reprendre un catalogue en 2027, en semaines

Sept semaines, dont deux pour la reprise, parce que c'est elle qui décide si le catalogue sera propre ou s'il reproduira le fichier.

  • Ce que le gérant voit : un produit, une fiche, et sous elle ses variantes et ses conditionnements ; un scan qui tombe toujours sur le bon niveau ; des prix qui viennent d'une grille datée.
  • Ce que le vendeur ne peut plus faire : créer un produit sans catégorie, inventer un code, taper un prix sur la ligne, supprimer une fiche.
  • Ce qui est mesuré : doublons détectés, codes inconnus au scan, fiches sans photo ou sans prix, lignes refusées à la reprise et leur sort.
Figure 6 · Sept semaines, dont deux pour la reprise parce que c’est elle qui décide si le catalogue sera propre : chaque ancienne ligne doit trouver sa place, ou être refusée par écrit. La première semaine est sans code : les catégories et les attributs se décident avec les gens qui rangent le dépôt.

Semaine 1, catégories et attributs : avec le gérant et le magasinier, la liste des catégories, les attributs obligatoires et variants de chacune, les unités de base ; sans code, et c'est la semaine qui évite le plus de reprises. Semaine 2, structure : modèle, variante, conditionnement, références générées, contrainte d'unicité des codes-barres, alias. Semaines 3 et 4, reprise : rapprochement des anciennes lignes, essai à blanc, fusions proposées écran par écran, lignes refusées au gérant, stock additionné et inscrit comme ajustement.

Semaine 5, prix et contenus : grilles par conditionnement, photos au modèle, descriptions bilingues, liste des fiches incomplètes. Semaine 6, vente et stock : la caisse et les commandes lisent le conditionnement scanné, les mouvements se font en unités de base, le statut de fin de vie est respecté partout, y compris hors ligne selon le guide sur le hors-ligne. Semaine 7, mesure : doublons détectés par semaine, codes inconnus au scan, fiches sans photo, revue du lundi. Les fiches, comme le reste, sont exposées aux autres logiciels par le guide sur l'intégration.

Pourquoi trois niveaux et pas une ligne par produit ?
Parce que trois choses différentes ont besoin de vivre à trois endroits : la description et les photos une fois, le stock là où l'attribut change, le code-barres et le prix là où on scanne et on vend. Une ligne par produit force à copier la description douze fois, à éclater le stock et à inventer un produit pour chaque carton.
Un carton est-il un produit à part ?
Non. C'est un conditionnement de la même variante, avec son propre code-barres, un facteur vers l'unité de base, 4 par exemple, et son propre prix. Le scan d'un carton fait entrer ou sortir 4 unités du même stock.
Que deviennent nos anciens codes ?
Des alias de la variante. La recherche, les anciennes factures et les habitudes des vendeurs continuent de les trouver, mais il n'y a plus qu'un stock et une grille de prix derrière. Un alias ne peut pas pointer vers deux fiches.
Et les attributs ? Qui les définit ?
La catégorie, pendant la première semaine, avec le gérant et le magasinier : attributs obligatoires et attribut variant. Un vendeur ne peut pas créer une variante en dehors des valeurs prévues ; si une valeur manque, elle s'ajoute à la catégorie, pas sur une ligne.
Comment reprend-on un fichier de dix ans ?
Par un rapprochement proposé puis confirmé écran par écran, un essai à blanc qui ne modifie rien, des fusions appliquées avec les anciens codes en alias, des lignes refusées remontées au gérant par écrit, et le stock additionné une fois en unités de base. Deux semaines dans le calendrier type.
Les codes-barres, on les invente ?
Pour les produits du commerce, on scanne celui du fabricant, qui est unique. Pour les produits maison ou sans code, l'application en génère un interne, et il est unique dans le catalogue. Les GTIN publics existent en 8, 12, 13 et 14 chiffres ; les codes à 14 chiffres servent aux cartons et palettes, pas à la caisse, selon la documentation publique du système.
Combien de temps pour mettre ça en place ?
Sept semaines dans le calendrier type, dont la première sans code et deux pour la reprise. Un catalogue de quelques centaines de références avec peu de variantes prend moins ; un grossiste avec des milliers de lignes et des conditionnements multiples prend les sept.
Envoyez-nous votre fichier produits, nous montrons les doublons et la fiche qu’ils deviennent

Grossiste, commerçant ou fondateur en France : nous construisons la fiche produit à trois niveaux, les codes-barres uniques, les grilles de prix et la reprise de votre ancien fichier

Un essai à blanc sur votre fichier, la liste des fusions proposées et des lignes refusées, et un calendrier en semaines. Nous travaillons depuis Alger et Sétif, en français, en arabe et en anglais.