Documentation9 min de lecture

Catégories, étiquettes et attributs : organiser un catalogue

Dix-sept modules OCA du dépôt `product-attribute` organisent le catalogue d'Odoo 18 Community : `product_category_active` ajoute l'**archivage des catégories de produits**, absent du modèle standard, et `product_multi_category` permet d'associer **plusieurs catégories** à un produit là où Odoo n'en accepte qu'une. Les quinze autres, des modèles de lignes d'attributs aux étiquettes transversales sur les catégories.

Salle de réunion vide dans un immeuble de bureaux

La catégorie de produit porte, dans Odoo, la comptabilité et la logistique : comptes de stock, méthode de valorisation, routes. Elle sert donc mal à ce qu'on lui demande aussi — classer commercialement un catalogue.

Dix-sept modules communautaires séparent ces usages : catégories mieux outillées, étiquettes transversales, et attributs enfin gérables à l'échelle d'un catalogue.

Résumé

Sept modules outillent les catégories : archivage, code court, nom traduisible avec choix de la langue du nom complet, type distinguant les catégories structurantes des catégories réelles, étiquettes colorées sur les catégories, lien inverse vers les produits rattachés, et surtout la possibilité d'associer plusieurs catégories supplémentaires à un produit.

Quatre traitent les étiquettes produit : leur affichage sur l'onglet principal de la fiche, un code unique par étiquette pour les intégrations, et leur menu exposé dans Ventes et dans Achats — il n'existe nativement qu'ailleurs.

Six traitent les attributs et variantes : archivage des attributs et de leurs valeurs, modèles de lignes d'attributs appliqués en un clic, option empêchant le remplissage automatique de toutes les valeurs, écrans transverses de gestion des valeurs d'attributs et de leurs prix supplémentaires, un mixin technique, et un bouton de navigation de la variante vers son modèle.

L'essentiel

  • L'archivage des catégories, qu'Odoo ne permet pas.
  • Plusieurs catégories par produit, en complément de la catégorie principale.
  • Un code et un type sur la catégorie : structurante ou réelle.
  • Des étiquettes sur les catégories, pour classer transversalement.
  • Le menu des étiquettes produit exposé dans Ventes et dans Achats.
  • Des modèles de lignes d'attributs appliqués en un clic à une fiche.
  • L'option qui empêche de cocher toutes les valeurs d'un attribut d'un coup.
  • Des écrans de gestion des valeurs d'attributs, y compris leurs prix supplémentaires.

Ce que ces modules ajoutent à l'instance

FamilleModulesNombre
Catégoriesproduct_category_active, product_category_code, product_category_name_translatable, product_category_type, product_category_tag, product_category_product_link, product_multi_category7
Étiquettes produitproduct_tag_view, product_tags_code, sale_product_template_tags, purchase_product_template_tags4
Attributs et variantesproduct_attribute_archive, product_attribute_line_template, product_attribute_value_avoid_auto_fill, product_attribute_value_menu, product_attribute_value_dependent_mixin, product_product_template_link6

Les menus ajoutés : Inventaire ▸ Configuration ▸ Produits ▸ Category Tags et Attributes Values, Ventes ▸ Configuration ▸ Produits ▸ Attribute Templates, Attributes Values et Attribute Values Extra Prices, et l'accès aux Étiquettes depuis Ventes comme depuis Achats.

La catégorie : un champ qui porte trop de choses

Dans Odoo, la catégorie de produit porte les comptes comptables de stock, la méthode de valorisation et les routes logistiques. Elle n'est donc pas libre : la tordre pour y mettre une classification commerciale casse la comptabilité analytique.

Sept modules desserrent cette contrainte :

ModuleCe qu'il ajoute
product_multi_categoryDes catégories supplémentaires par produit, en plus de la catégorie principale — la classification commerciale sans toucher à la comptable
product_category_tagDes étiquettes colorées sur les catégories, pour les classer transversalement
product_category_typeUn type distinguant les catégories structurantes (de simples nœuds) des catégories réelles
product_category_codeUn code court — interne, comptable, ou venu d'un système externe
product_category_activeL'archivage d'une catégorie obsolète
product_category_name_translatableUn nom traduisible, avec choix de la langue pour calculer le nom complet
product_category_product_linkUn lien inverse technique vers les produits rattachés

Le premier est celui qui résout le conflit de fond : on garde une arborescence comptable propre, et on classe commercialement avec des catégories supplémentaires.

Le troisième évite une confusion fréquente : certaines catégories n'existent que pour regrouper d'autres catégories. Les marquer comme structurantes empêche d'y rattacher des produits — et donc d'y perdre des articles.

L'unité de mesure par défaut sur la catégorie est traitée dans emballages, poids et unités.

Les étiquettes produit, là où elles servent

  • product_tag_view affiche les étiquettes sur l'onglet Informations générales de la fiche produit et de la variante — là où on les lit, plutôt que dans un onglet secondaire.
  • product_tags_code ajoute un code unique par étiquette, indispensable pour les imports et les intégrations : un libellé change, un code non.
  • sale_product_template_tags et purchase_product_template_tags exposent le menu des étiquettes dans les applications Ventes et Achats, où il n'existe pas nativement.

Ces deux derniers modules tiennent en quelques lignes et résolvent une friction réelle : les étiquettes produit existent dans Odoo, mais leur écran de gestion n'est accessible que depuis certaines applications. Un responsable commercial qui veut créer une étiquette doit passer par l'Inventaire.

Les étiquettes sont le bon outil pour la classification souple — « promotion été », « fin de série », « produit d'appel » — précisément parce qu'elles ne portent ni comptabilité ni logistique. Encore faut-il pouvoir les créer là où on travaille.

Les attributs : industrialiser la création de variantes

Les modèles de lignes d'attributs

product_attribute_line_template permet de définir des modèles réutilisables de lignes d'attributs et de les appliquer en un clic à une fiche produit.

Sur un catalogue à variantes — textile, mobilier, quincaillerie —, chaque nouveau produit demande de recréer les mêmes lignes : couleur, taille, finition, avec leurs valeurs. Le modèle supprime cette répétition, et garantit que deux articles de la même famille ont exactement la même structure d'attributs.

Ne pas tout cocher

product_attribute_value_avoid_auto_fill empêche le remplissage automatique de toutes les valeurs d'un attribut quand on l'ajoute à un produit. Sans cette option, ajouter l'attribut « couleur » à un article crée d'un coup toutes les couleurs du référentiel — et autant de variantes.

C'est la cause la plus fréquente d'explosion du nombre de variantes dans une base : trois attributs avec dix valeurs chacun font mille variantes, créées en trois clics et impossibles à supprimer ensuite.

Gérer les valeurs à l'échelle

  • product_attribute_value_menu ajoute des écrans transverses : la liste globale des valeurs d'attribut, et celle de leurs prix supplémentaires — accessibles depuis Ventes et Inventaire.
  • product_attribute_archive permet d'archiver attributs et valeurs devenus obsolètes au lieu de les supprimer, ce qui préserverait l'historique.
  • product_product_template_link ajoute un bouton de navigation de la variante vers son modèle : évident, et absent.
  • product_attribute_value_dependent_mixin est une brique technique pour les développements qui ont besoin de champs dépendant des valeurs d'attributs.

Le premier répond à une question que pose tout gestionnaire de catalogue à variantes : quelles valeurs existent, et laquelle porte un supplément de prix. Sans écran dédié, l'information est répartie sur chaque fiche produit.

Limites connues

  • Les catégories supplémentaires ne portent ni comptabilité ni routes : c'est leur intérêt, et il faut le dire aux équipes qui les confondront avec la catégorie principale.
  • Archiver une catégorie ne déplace pas ses produits : à traiter avant.
  • Un code sur la catégorie n'est utile que s'il est tenu : sans règle de codification, il devient un champ vide.
  • Les modèles de lignes d'attributs figent une structure : utile pour l'homogénéité, contraignant pour un article atypique.
  • L'option anti-remplissage automatique est à activer dès le départ : sur une base où les variantes ont déjà explosé, elle n'efface rien.
  • product_attribute_value_dependent_mixin est une brique de développement : sans effet fonctionnel direct.

Identité technique

Les dix-sept modules viennent du dépôt OCA product-attribute, branche 18.0, en licence AGPL-3 sauf product_attribute_value_menu (LGPL-3). Quelques-uns dépendent d'applications tierces — sale, purchase, stock, account — parce qu'ils exposent des écrans dans ces applications.

Les familles voisines du même dépôt : la fiche produit, emballages, poids et unités et les listes de prix.

Questions fréquentes

Pourquoi ne pas utiliser la catégorie produit pour classer commercialement ?

Parce qu'elle porte les comptes comptables de stock, la méthode de valorisation et les routes logistiques. La tordre pour y mettre une classification commerciale casse la comptabilité analytique. product_multi_category ajoute des catégories supplémentaires, et product_category_tag des étiquettes : deux classifications sans effet comptable.

Peut-on archiver une catégorie de produits ?

Pas en standard : le modèle n'a pas de champ d'activation. product_category_active l'ajoute. Pensez à traiter les produits rattachés avant d'archiver — l'archivage de la catégorie ne les déplace pas.

Comment éviter l'explosion du nombre de variantes ?

Avec product_attribute_value_avoid_auto_fill, qui empêche le remplissage automatique de toutes les valeurs d'un attribut quand on l'ajoute à un produit. Sans cette option, ajouter « couleur » crée d'un coup toutes les couleurs du référentiel : trois attributs à dix valeurs font mille variantes en trois clics.

Comment créer rapidement des produits à variantes homogènes ?

product_attribute_line_template définit des modèles réutilisables de lignes d'attributs, appliqués en un clic. Sur un catalogue textile ou mobilier, cela supprime la recréation des mêmes lignes à chaque article et garantit que deux produits d'une même famille ont la même structure.

Où gérer les étiquettes produit dans Odoo ?

Nativement, leur écran n'est pas accessible depuis toutes les applications. sale_product_template_tags et purchase_product_template_tags exposent le menu dans Ventes et dans Achats ; product_tag_view affiche les étiquettes sur l'onglet principal de la fiche, et product_tags_code leur donne un code stable pour les imports.

Se faire accompagner

La structure d'un catalogue est une décision qu'on prend une fois et qu'on subit pendant des années. L'erreur la plus courante est d'utiliser la catégorie produit comme classification commerciale : elle finit par compter trois cents entrées, et la comptabilité analytique devient illisible.

Nous séparons donc dès le départ : la catégorie pour la comptabilité et la logistique, les catégories supplémentaires et les étiquettes pour le commerce. Et nous activons l'option anti-remplissage des attributs avant la première création de variantes. Voir les prestations d'Atalios Consulting, notre méthode ou demander un rappel.

Pour aller plus loin

En résumé

La catégorie d'Odoo porte la comptabilité et la logistique : ces modules lui ajoutent code, type et archivage, puis déportent la classification commerciale vers des catégories supplémentaires et des étiquettes. Côté variantes, un modèle de lignes d'attributs et l'option qui évite d'en créer mille d'un coup. Parlons de la structure de votre catalogue.

Documentation OCAProduitsRéférentiel

Partager

Fiches connexes

Équipe au travail sur des ordinateurs portables autour d'une table
Le module OCA `account_invoice_en16931` (dépôt `fr-einvoicing`, version 18.0.1.0.0, licence AGPL-3) est le socle qui fabrique le fichier de facture électronique conforme à la norme européenne **EN 16931** : Factur-X (PDF/A-3 avec XML CII embarqué), XML UBL, XML CII ou PDF accompagné d'un UBL — et il ajoute des **contrôles bloquants à la validation** d'une facture client. Les quatre modules qui s'y greffent pour la France, et ce que le socle ne fait pas.
Lire la suite
Documentation OCA, Facturation électronique
Réunion d'approbation autour d'un document de travail
Relevé sur une instance Odoo 18 Community, le module OCA `base_tier_validation` (dépôt `server-ux`, version 18.0.3.5.1, licence AGPL-3) ajoute 1 modèle, 101 champs et 3 menus, mais ne s'active sur aucun document métier par lui-même : il lui faut un module d'implémentation. C'est le point qui surprend le plus — voici ce qu'il fait réellement, et comment le mettre en service.
Lire la suite
Documentation OCA, Odoo