Aller au contenu principal

Unité de mesure dans les données produit : unités de base, de vente et de commande

Unité de mesure dans les données produit : unités de base, de vente et de commande, conditionnements, prix à l'unité UE, champs Google, codes UN/CEFACT.

Unité de mesure dans les données produit : unités de base, de vente et de commande

Une unité de mesure (UoM, unit of measure) est l'unité dans laquelle une quantité est exprimée : une pièce, un kilogramme, un litre, un mètre. Dans les données produit, elle répond à une question pratique pour chaque nombre de la fiche : 330 quoi ? Prix, stock, contenu net, quantité de commande et conditionnement ont tous besoin d'une unité, et ils n'ont pas à partager la même.

La plupart des catalogues ont besoin de quatre notions d'unité : l'unité de base (la plus petite chose que tu comptes, une canette), l'unité de vente (ce que le client met dans son panier, un pack de 6), l'unité de commande (ce que tu achètes au fournisseur, un plateau de 24) et le contenu net avec son unité (330 ml par canette). Si ces quatre notions sont justes, les prix à l'unité de mesure, les flux et les règles de commande B2B suivent. Ce guide présente les champs, les règles de l'UE et de Google sur le prix à l'unité, les codes standard et un exemple chiffré pour nettoyer des unités fournisseurs comme 500gr, 0,5 kg et 500 g.

Unité de base, unité de vente et unité de commande sur une canette d'eau gazeuse

Prenons de l'eau gazeuse en canettes de 330 ml. Le fournisseur livre des plateaux de 24 canettes et des palettes de 84 plateaux. Ta boutique en ligne vend des canettes à l'unité aux clients professionnels pour leurs bureaux et des packs de 6 aux particuliers. Un produit, cinq niveaux de quantité :

Niveaux d'unité pour un produit : eau gazeuse 330 ml

Unité de base1 canette1H87 (pièce)Comptage du stock, prix à l'unité
Contenu net330 ml par canettes.o.MLT (millilitre)Étiquette, prix à l'unité, flux
Unité de vente (particuliers)Pack de 66XPK (paquet)Prix et panier de la boutique
Unité de commandePlateau de 2424XPK (paquet)Achats, règles de commande B2B
Unité logistiquePalette de 84 plateaux2 016Code d'emballage convenu avec le transporteurEntrepôt et transport
Chaque niveau a son propre nombre d'unités de base, et chaque prix ou chiffre de stock doit indiquer à quel niveau il se rapporte.

Les ennuis commencent quand un prix ou un chiffre de stock perd son niveau. Un prix fournisseur de 7,20 € s'entend par plateau de 24, soit 0,30 € la canette. Importe-le dans un champ que la boutique lit comme un prix par pack de 6 et tu vends à perte. Un stock de 10 peut signifier 10 canettes ou 10 plateaux (240 canettes), et un stock dans la mauvaise unité fausse aussi les plafonds de backorder et la disponibilité dans les flux. La solution est ennuyeuse et efficace : enregistre le niveau à côté de chaque quantité.

Conditionnement, contenu net et facteurs de conversion sous forme de champs

Un modèle d'unités minimal tient en quelques attributs. Utilise les mêmes codes dans tout le catalogue et garde le nombre et l'unité dans des champs séparés, pour que les systèmes puissent calculer avec le nombre.

  • net_content_value et net_content_unit : 330 et ml. La quantité de produit dans une unité de base, comme sur l'étiquette.
  • sales_unit et units_per_sales_unit : package et 6. Ce que contient une ligne de panier de quantité 1.
  • order_unit et units_per_order_unit : package et 24. Ce que contient une ligne de commande fournisseur de quantité 1, qui est aussi l'endroit où se placent une quantité minimale de commande et les multiples de commande.
  • price_quantity : 1 par défaut ; 100 si le fournisseur cote par 100 pièces, courant pour les vis et la visserie.
  • net_weight et gross_weight avec leur unité : pour les règles d'expédition et la douane, pas pour le prix à l'unité.
  • unit_pricing_measure et unit_pricing_base_measure : uniquement là où un prix à l'unité doit être affiché (voir plus bas).

Les formats de catalogue B2B reposent sur la même idée. BMEcat, par exemple, décrit un article avec une ORDER_UNIT, une CONTENT_UNIT, le nombre d'unités de contenu par unité de commande (NO_CU_PER_OU) et une PRICE_QUANTITY, si bien qu'une boîte de 100 vis tarifée à la boîte est sans ambiguïté pour le système de l'acheteur.

Le prix à l'unité de mesure dans l'UE selon la directive relative à l'indication des prix

Dans l'UE, les produits proposés aux consommateurs doivent afficher un prix à l'unité de mesure à côté du prix de vente. La directive 98/6/CE définit le prix à l'unité de mesure comme le prix final, TVA et autres taxes comprises, pour un kilogramme, un litre, un mètre, un mètre carré ou un mètre cube, ou une autre unité unique couramment utilisée dans l'État membre pour ce produit. Pour les produits vendus en vrac, seul le prix à l'unité de mesure est exigé, et une publicité qui mentionne le prix de vente doit aussi indiquer le prix à l'unité de mesure.

La directive laisse de la place aux règles nationales. Les États membres peuvent dispenser du prix à l'unité de mesure lorsqu'il ne serait pas utile ou prêterait à confusion, et pour les produits non alimentaires, ils peuvent limiter l'obligation à une liste de catégories de produits. Vérifie la transposition nationale pour chaque marché où tu vends. Le calcul lui-même est simple, et le calculateur de prix unitaire le fait par produit :

  • Café en grains, 500 g à 7,49 € : 7,49 / 0,5 = 14,98 € le kg.
  • Huile d'olive, 750 ml à 8,95 € : 8,95 / 0,75 = 11,93 € le litre.
  • Eau gazeuse, 6 x 330 ml à 5,40 € : 6 x 0,33 = 1,98 l, donc 5,40 / 1,98 = 2,73 € le litre.

Aucun de ces chiffres ne peut être calculé si le contenu net manque, se trouve sous forme de texte dans le titre du produit ou utilise une unité que la boutique ne reconnaît pas. Le prix à l'unité de mesure est d'abord un problème de données produit.

Google Merchant Center : unit_pricing_measure et unit_pricing_base_measure

Google Shopping affiche les prix à l'unité à partir de deux attributs. unit_pricing_measure est la quantité du produit telle que vendue, par exemple 750ml ; il est obligatoire pour les produits annoncés dans l'UE, les pays de l'AELE, au Royaume-Uni, en Australie et en Nouvelle-Zélande lorsque la réglementation locale exige un prix à l'unité, et facultatif ailleurs. unit_pricing_base_measure est le dénominateur, par exemple 1l ou 100ml.

  • Unités acceptées : poids oz, lb, mg, g, kg ; volume floz, pt, qt, gal, ml, cl, l, cbm ; longueur in, ft, yd, cm, m ; surface sqft, sqm ; à l'unité ct (sheet et item uniquement en Australie et en Nouvelle-Zélande).
  • Valeurs de mesure de base : les nombres entiers 1, 10, 100, 2, 4 et 8 suivis d'une unité, et les combinaisons métriques 75cl, 750ml, 50kg et 1000kg.
  • Décimales : deux chiffres au maximum après la virgule ; Google arrondit le reste.
  • Conflit : si un produit a aussi un energy_efficiency_class, Google affiche la classe énergétique, pas le prix à l'unité.

Pour les trois exemples ci-dessus, cela donne 500g avec une base de 1kg, 750ml avec une base de 1l, et 1980ml avec une base de 1l pour le pack de 6. Note que le flux utilise des symboles en minuscules comme ml et sqm, pas les codes UN/CEFACT que ton ERP exporte peut-être. Plus de détails sur les attributs de flux dans le guide Google Merchant Center.

Codes d'unité standard : recommandation UN/CEFACT n° 20 et ETIM

Les systèmes qui échangent commandes et factures n'écrivent pas kg ou Stück ; ils utilisent des codes. La liste de référence est la recommandation UN/ECE n° 20, avec des codes d'emballage issus de la recommandation n° 21 préfixés par X. La liste de codes Peppol pour la recommandation 20, utilisée pour la facturation électronique européenne, est un bon endroit pour les consulter.

Une unité, trois écritures : libellé, UN/CEFACT et Google

KilogrammeKGMkgkg
GrammeGRMgg
LitreLTRll
MillilitreMLTmlml
CentilitreCLTclcl
MètreMTRmm
CentimètreCMTcmcm
Mètre carréMTKsqmm²
Mètre cubeMTQcbmm³
PièceH87 ou C62 (un)ctpce
PaquetXPKs.o.paquet
11 lignes sur 11
Garde le code comme valeur enregistrée et dérive-en le libellé et le symbole du flux, plutôt que d'enregistrer l'orthographe utilisée par le fournisseur.

H87 (pièce) et C62 (un, également utilisé comme unité) comptent tous deux des articles à l'unité ; les partenaires commerciaux s'accordent généralement sur l'un des deux. Le négoce technique ajoute une couche : dans ETIM, les caractéristiques numériques comme la longueur ou la puissance ont une unité standardisée, donc une longueur de câble doit être convertie dans l'unité attendue par la caractéristique ETIM avant d'être échangée.

Normaliser des unités fournisseurs désordonnées : un exemple chiffré

Les fichiers fournisseurs s'accordent rarement sur les unités. L'un envoie 500gr, un autre 0,5 kg, un troisième 500 g dans le titre seulement. Voici comment dix valeurs brutes issues de trois fichiers fournisseurs se normalisent en une valeur, un code d'unité et une valeur dans l'unité de base de l'attribut.

Dix valeurs fournisseurs, normalisées

500gr500GRM0,5 kggr est un alias de g
0,5 kg0,5KGM0,5 kgVirgule décimale, pas un séparateur de milliers
500 g500GRM0,5 kgDéjà propre
1/2 kilo0,5KGM0,5 kgFraction et alias
1.000 g1000GRM1 kgPoint comme séparateur de milliers (fichiers néerlandais et allemands)
1,5L1,5LTR1,5 lL majuscule, virgule décimale
75cl75CLT0,75 lGarde cl si l'étiquette indique cl
750 ML750MLT0,75 lSeule la casse diffère
6 x 330 ml330MLT0,33 l par canetteMultipack : units_per_sales_unit = 6
25 stuks25H8725 piècesComptage, à placer dans le conditionnement
10 lignes sur 10
La valeur et l'unité vont dans des champs séparés, la virgule décimale est résolue avant la conversion, et chaque ligne aboutit dans l'unité de base de l'attribut.

Les règles derrière le tableau sont les mêmes pour tout attribut :

  1. Garde la valeur brute dans sa propre colonne pour pouvoir auditer chaque conversion plus tard.
  2. Résous le format numérique par source. 1.000 chez un fournisseur allemand vaut mille ; 1.000 chez un fournisseur américain vaut un. Décide par fichier, jamais par valeur.
  3. Sépare le nombre de l'unité et associe les alias d'unité (gr, grams, gram, G) à un seul code.
  4. Choisis une unité de base par attribut (kg pour le poids, l pour le volume, mm ou cm pour les dimensions) et convertis avec un facteur fixe.
  5. Décompose les multipacks en contenu par unité et unités par pack, pour que le prix à l'unité et le conditionnement soient tous deux justes.
  6. Enregistre le résultat dans des champs numériques et génère à partir d'eux le texte affiché, comme 500 g, et pas l'inverse.
Convertir une unité sur une sélection applique le facteur de conversion aux valeurs, avec un aperçu, au lieu de ne changer que le libellé.

C'est la même approche que celle de la standardisation des attributs en général : se mettre d'accord d'abord sur les valeurs autorisées, puis corriger les données en masse, puis bloquer les nouveaux écarts à l'entrée.

Unités enregistrées et unités affichées selon le marché

Normaliser ne veut pas dire que chaque marché voit le même texte. Enregistre une valeur dans une unité de base, puis formate-la par langue et par canal au moment de la sortie. Un sachet de 0,5 kg s'affiche 0.5 kg sur une page en anglais américain, 0,5 kg sur une page en néerlandais ou en allemand, et 500g dans un flux Google.

  • Format numérique : le séparateur décimal et le séparateur de milliers suivent la langue de la page, jamais le fichier du fournisseur.
  • Libellé d'unité : pièce s'écrit pc en anglais, st. en néerlandais et Stk. en allemand ; le code enregistré (H87) reste le même.
  • Métrique et impérial : si tu vends aux États-Unis, convertis 500 g en 17,6 oz à la sortie pour l'affichage, mais garde les grammes comme valeur enregistrée pour que le prix à l'unité de mesure de l'UE reste exact. Le flux pour le Royaume-Uni doit utiliser des valeurs métriques.
  • Arrondi : n'arrondis que la valeur affichée. Arrondir la valeur enregistrée à chaque conversion crée une dérive : 17,6 oz reconvertis donnent 498,95 g.

Cette séparation simplifie aussi les traductions. Un traducteur ne touche jamais à 500 g ; c'est le template qui génère le libellé qui s'en charge.

Sept erreurs d'unité qui cassent les prix à l'unité et les flux

  1. L'unité vit dans la valeur. 500g dans un champ texte ne peut être ni trié, ni filtré, ni divisé. Sépare-les.
  2. Une virgule décimale lue comme séparateur de milliers. 0,5 kg devient 5 kg, et le prix à l'unité est divisé par dix.
  3. Un prix de pack comparé à un prix à l'unité. Le pack de 6 et la canette seule affichent des prix à l'unité calculés sur des quantités différentes.
  4. Le poids brut utilisé comme contenu net. L'emballage est inclus, donc le prix à l'unité est trop bas.
  5. Le poids net égoutté ignoré. Pour les produits dans un liquide, comme les olives en saumure, la directive autorise le prix à l'unité sur le poids net égoutté lorsque ce poids doit être déclaré.
  6. Onces liquides confondues avec onces. floz est un volume et oz un poids ; Google les traite comme des unités différentes.
  7. Des libellés qui ne font que renommer. Passer de cm à mm sans multiplier la valeur par 10 transforme une étagère de 30 cm en étagère de 30 mm.

Ensembles de codes d'unité, conversions et contrôles dans WISEPIM

WISEPIM traite les unités comme des données, pas comme du texte. Quand la fonctionnalité d'espace de travail Classification est activée, les UOM code sets (ensembles de codes UOM) regroupent des unités apparentées (poids, longueur, volume et autres) avec un code, un symbole, des noms localisés et un facteur de conversion vers l'unité de base de l'ensemble, ainsi que des réglages d'affichage et d'export. L'action Change Unit of Measure (Changer l'unité de mesure), dans l'édition groupée et dans les automatisations, convertit les valeurs sur une sélection, ou ne change que le libellé quand les valeurs étaient mal étiquetées.

Un ensemble de codes d'unité marque une unité de base avec le facteur 1 ; chaque autre unité indique à combien d'unités de base elle équivaut.

Autour de cela, plusieurs fonctionnalités existantes aident avec les unités désordonnées. La page Attribute values (Valeurs d'attribut, pour les attributs texte et de sélection) regroupe les valeurs qui ne diffèrent que par les majuscules, les espaces ou la ponctuation, comme 500gr, 500 GR et 500 gr, ou 1,5 ml et 1.5 ml, et permet de fusionner chaque groupe en une seule valeur en une étape, avec annulation (voir normalisation des valeurs d'attribut). Elle ne traite pas gr et g comme la même unité et ne convertit pas les grammes en kilogrammes : 500 g et 0,5 kg restent des valeurs distinctes jusqu'à ce que tu les convertisses. Quand l'import CSV crée des attributs à partir des colonnes fournisseur, il peut ajouter la colonne d'unité du fournisseur à la valeur, la garder dans un attribut _uom séparé ou l'ignorer. L'enrichissement AI peut extraire le contenu net des descriptions vers des attributs. Les règles Quality Guard peuvent avertir ou bloquer les produits dont le champ unité est vide ou ne correspond pas à un motif. L'export BMEcat de Feed Hub renseigne ORDER_UNIT, CONTENT_UNIT, NO_CU_PER_OU et PRICE_QUANTITY à partir d'attributs comme order_unit et pack_size, en traduisant des valeurs comme stuks ou pcs en codes UN/CEFACT. WISEPIM ne calcule pas les prix à l'unité de mesure, et son template de flux Google Shopping comme sa connexion Merchant Center n'envoient ni unit_pricing_measure ni unit_pricing_base_measure. Ce qu'il fait, c'est garder le contenu net, le conditionnement et l'unité cohérents, pour que ta boutique ou l'outil qui construit ces champs de flux dispose de données propres.

Diego Nijboer

CTO et cofondateur de WISEPIM, je développe des solutions propulsées par l’AI qui transforment la gestion des données produit des entreprises e-commerce. Plus de 10 ans d’expérience dans la résolution de défis techniques complexes dans l’e-commerce et les systèmes PIM.

Questions fréquentes

Tu as encore des questions ?

Tu ne trouves pas la réponse que tu cherches ? Contacte notre équipe.

Contacter le support

UoM signifie unit of measure, soit unité de mesure : l'unité dans laquelle une quantité est exprimée, comme la pièce, le kilogramme, le litre ou le mètre. Dans les données produit et les ERP, elle indique à quoi se rapporte un prix, un niveau de stock ou une quantité de commande. Un produit en a généralement plusieurs, par exemple une unité de base d'une canette et une unité de vente d'un pack de 6.

L'unité de base est la plus petite unité à partir de laquelle tu comptes et fixes les prix, comme une canette ou une vis. L'unité de vente est ce qu'un client achète dans une ligne de panier, comme un pack de 6 ou une boîte de 100. La conversion entre les deux, le nombre d'unités par unité de vente, permet à un système de calculer correctement le stock, les prix à l'unité et les quantités de réapprovisionnement.

Selon la directive 98/6/CE, les produits proposés aux consommateurs doivent afficher un prix à l'unité de mesure par kilogramme, litre, mètre, mètre carré ou mètre cube, ou une autre unité usuelle, à côté du prix de vente. Les produits vendus en vrac n'ont besoin que du prix à l'unité de mesure. Les États membres peuvent exempter les produits pour lesquels un prix à l'unité n'aiderait pas, alors vérifie les règles nationales de chaque marché.

Google accepte mg, g, kg, oz et lb pour le poids ; ml, cl, l, cbm, floz, pt, qt et gal pour le volume ; cm, m, in, ft et yd pour la longueur ; sqm et sqft pour la surface ; et ct pour les comptages. La mesure de base doit être 1, 2, 4, 8, 10 ou 100 d'une unité, ou 75cl, 750ml, 50kg ou 1000kg.

Le code de la recommandation UN/ECE n° 20 pour le kilogramme est KGM. Les autres codes courants sont GRM pour le gramme, LTR pour le litre, MLT pour le millilitre, MTR pour le mètre, MTK pour le mètre carré, MTQ pour le mètre cube et H87 pour la pièce. Les codes d'emballage de la recommandation n° 21 portent un préfixe X, comme XPK pour paquet et XBX pour boîte.

Continue d'explorer

Une sélection d'étapes suivantes pour aller plus loin.

De meilleures données produit, de meilleurs résultats.Génère plus de ventes.

4,7