Ce que tu vas apprendre
Le modèle
Template + attribut + valeur + variante — qui est quoi dans le catalogue ?
3 modes de création
Instantanément, Dynamique, Jamais — choisir le bon selon le volume.
Prix par variante
Ajuster automatiquement le prix selon l'option choisie, sans casser le catalogue.
1. L'agence de 50 postes qui casse le catalogue de Karim
Karim reçoit un appel d'un cabinet d'architecture à Alger. Ils préparent un nouveau siège et veulent 50 chaises InfoChair Pro pour équiper les postes. Bonne nouvelle. Mauvaise nouvelle : ils veulent un mix — 20 Noir avec accoudoirs réglables 4D, 15 Gris anthracite avec accoudoirs fixes, 15 Bleu marine avec 4D aussi.
Dans le catalogue actuel d'InfoSphere, il y a une seule fiche "Chaise ergonomique InfoChair Pro" à 18 500 DZD. Aucune variation. Deux solutions boiteuses :
- Dupliquer la fiche 6 fois — les références explosent, le stock est illisible, les rapports de vente sont fragmentés.
- Mettre les détails en texte libre dans la description des lignes de devis — les prix ne se différencient pas, la facturation devient approximative, la BI est morte.
« On va faire mieux », tranche Inès. « Odoo a prévu exactement ça. On active les Variantes dans les paramètres, on déclare deux attributs (coloris + accoudoirs), et Odoo génère automatiquement les 6 déclinaisons avec leurs prix différenciés. Une seule fiche produit, six variantes, et les devis savent quoi prendre. »
- Template produit (
product.template) — la fiche mère, un seul nom et une seule description commerciale. - Attribut (
product.attribute) — l'axe de variation (Coloris, Accoudoirs, Taille, Matériau…). - Valeur d'attribut (
product.attribute.value) — les choix possibles pour un axe (Noir, Gris, Bleu pour Coloris). - Variante (
product.product) — la combinaison concrète qu'on peut vendre, livrer, facturer, avec son propre stock.
2. Les 3 modes de création, et lequel choisir
Avant de toucher à la fiche chaise, il faut comprendre une décision qui engage toute la suite. Un template plus N attributs, avec leurs valeurs, produit N × M variantes. 3 coloris × 2 accoudoirs = 6 variantes pour notre chaise. Mais pour un t-shirt en 3 tailles × 4 couleurs, 12. Et c'est là que le mode de création rentre en jeu.
| Mode v19 FR | Code technique | Comportement | Quand l'utiliser |
|---|---|---|---|
| Instantanément | always |
Toutes les combinaisons sont générées dès l'ajout de l'attribut au produit | Peu de combinaisons (< 20), stock par variante, reporting détaillé |
| Dynamique | dynamic |
Les variantes sont créées au fur et à mesure des devis qui les sélectionnent | Beaucoup de combinaisons peu vendues (câbles), catalogue léger |
| Jamais | no_variant |
Aucune variante créée — l'attribut est uniquement visuel pour le configurateur | Options sans impact stock : gravure personnalisée, texte libre |
UserError).
Il faut d'abord détacher l'attribut de tous les produits, changer le mode, puis
ré-attacher — et toutes les variantes existantes seront recalculées. Autant bien
choisir dès le début.
3. Activer les variantes dans les paramètres
L'option n'est pas cochée par défaut en v19 CE. Direction Ventes → Configuration → Paramètres, section Catalogue produits, coche Variantes. Enregistre.
Un nouveau menu apparaît : Configuration → Attributs dans l'app Ventes (et aussi dans Inventaire, Achats, POS — les variantes sont transversales à toute la chaîne).
Le bouton Entrée grille de variantes juste en dessous installe le
module sale_product_matrix qui permet de saisir plusieurs variantes d'un
coup dans un devis. On le verra dans l'article S9·3 consacré au configurateur matrix.
Les variantes bénéficient aussi au
point
de vente et à la
gestion
des achats — un seul setup, tous les modules suivent.
4. Créer l'attribut Coloris avec des pastilles
Menu Configuration → Attributs → Nouveau. Nom : Coloris. Deux réglages essentiels :
- Type d'affichage = Couleur — chaque valeur affiche une
pastille cliquable (champ
html_color) - Création de variante = Instantanément — Odoo créera les variantes dès qu'on lie l'attribut à la chaise
Dans l'onglet Valeurs d'attribut, saisis les 3 coloris avec leur code
hexadécimal : Noir (#1f2937), Gris anthracite (#78716c),
Bleu marine (#1e3a8a).
La colonne Prix supplémentaire visible ici définit un prix par défaut appliqué quand l'attribut sera lié à un produit. On verra qu'on peut aussi le surcharger par template à l'étape 7.
5. Créer l'attribut Accoudoirs en mode Radio
Deuxième attribut. Nom : Accoudoirs. Type d'affichage : Radio (boutons radio verticaux, lisible pour 2-4 choix). Création de variante : Instantanément.
Valeurs :
- Fixes — pas de prix extra
- Réglables 4D — on fixera +3 500 DZD à l'étape 7
6. Lier les deux attributs à la chaise InfoChair Pro
Retour sur la fiche Chaise ergonomique InfoChair Pro, onglet Attributs. Clique Ajouter une ligne, choisis l'attribut Coloris, puis coche les 3 valeurs dans la popup. Répète pour Accoudoirs avec les 2 valeurs.
Dès la sauvegarde, Odoo génère automatiquement les 6 variantes
(3 × 2) comme des enregistrements product.product reliés au même
template.
Sur la fiche, un smart button Variantes apparaît en haut à droite
avec le compteur 6. Un clic dessus ouvre la liste des 6
product.product générés :
product.product à part entière.Pour retirer une combinaison spécifique (ex. "pas de Bleu
marine en Fixes"), il faut passer par les règles d'exclusion sur une
valeur (product.template.attribute.exclusion) — sujet avancé qu'on
abordera dans un prochain article.
7. Différencier les prix — 3 500 DZD de plus pour les 4D
Le coût des accoudoirs Réglables 4D est supérieur. Il faut que ça se voie sur le prix de vente. Depuis la fiche chaise, onglet Attributs, clique la petite icône d'engrenage à côté de la ligne Accoudoirs. La vue Valeurs des variantes de produit s'ouvre avec 2 lignes.
Odoo ajoute ce montant au prix de liste du template à chaque fois qu'une variante avec cette valeur est sélectionnée. Résultat : les 3 variantes Fixes restent à 18 500 DZD, les 3 variantes 4D passent automatiquement à 22 000 DZD.
price_extra est défini sur product.template.attribute.value,
donc par template. L'accoudoir 4D peut coûter +3 500 sur la chaise Pro et
+5 000 sur une chaise direction haut de gamme — chaque produit pilote son propre écart.
8. L'effet côté devis — Cabinet Architecture Alger
Karim crée le devis S00005 pour le Cabinet d'Architecture d'Alger. Il saisit le produit et choisit la variante Chaise InfoChair Pro (Noir, Réglables 4D). Quantité : 20.
Odoo applique automatiquement le prix correct :
- Prix unitaire = 22 000 DZD (base 18 500 + extra 3 500 sur 4D)
- TVA 19% appliquée par la config SCF DZ
- Total HT : 440 000 DZD
- Total TTC : 523 600 DZD
Karim pourra dupliquer cette ligne pour les 15 Gris/Fixes (à 18 500 DZD) et 15 Bleu/4D (à 22 000 DZD) — chaque variante est un produit distinct avec son propre prix.
9. Comparaison Instantanément vs Dynamique
Même logique, mais pour un produit avec beaucoup de combinaisons peu vendues : le câble Cat6 UTP au catalogue InfoSphere. Longueurs possibles : 1 m, 2 m, 5 m, 10 m (4 valeurs). Couleurs : bleu, gris, rouge (3 valeurs). Soit 12 combinaisons — mais 80% des ventes se concentrent sur 3 ou 4 combos.
✅ Chaise — Instantanément
- 6 variantes — volume raisonnable
- Stock physique suivi par variante
- Rapport de vente détaillé par coloris
- Toutes les combinaisons se vendent
🔄 Câble — Dynamique
- 12 combinaisons — certaines jamais vendues
- Pas de stock physique par combinaison
- Catalogue allégé : seules les variantes vendues existent
- Toujours proposable sur devis sans polluer la BDD
10. Les pièges à éviter
UserError. La bonne pratique est de la désactiver
(décocher Actif) plutôt que de la supprimer, ça préserve l'historique commercial et
le reporting.
multi force la création de variante à Jamais.
Tenter la combinaison Multi + Instantanément lève l'erreur
Multi-checkbox display type is not compatible with the creation of variants.
Normal : plusieurs cases cochées en même temps produiraient un nombre d'options non
borné.
product.product qui ralentissent les recherches produit et les listes.
Au-delà de ~50 variantes par template, passe en Dynamique pour préserver les
performances.
Bonnes pratiques InfoSphere
- Un attribut = un axe fonctionnel (coloris, taille, puissance, matériau). N'essaie pas de combiner plusieurs axes dans un attribut unique genre « Noir-Grand-Cuir » — la gestion des combinaisons explose.
- Ordre des attributs — le plus visible en premier (Coloris avant Accoudoirs). Le nom de variante reprend l'ordre : « Chaise (Noir, Réglables 4D) ».
- Seuil pragmatique de 20 variantes — en dessous, Instantanément. Entre 20 et 50, évalue selon les ventes réelles. Au-delà, Dynamique quasi obligatoire.
- Nomme tes attributs sans ambiguïté — « Taille » tout seul ne dit pas si c'est taille d'écran, taille de vêtement ou taille d'emballage. Préfère Taille écran, Taille garniture.
À retenir
🧬 Template + Attributs → Variantes
Une fiche produit mère, des attributs liés avec leurs
valeurs, et Odoo calcule les combinaisons. Chaque variante devient un
product.product à part entière — référence, stock, prix, tout
lui appartient.
⚙️ Choisir le bon mode de création
Instantanément pour les combos standards (< 20), Dynamique pour les catalogues riches peu vendus, Jamais pour les options configurateur. Changer de mode après usage = galère.
🎨 6 types d'affichage
Radio, Boutons carrés, Sélectionner, Couleur, Multiples
cases à cocher, Image. Le Couleur avec pastilles html_color
est le plus visuel pour les coloris. Image reste imbattable pour
les finitions bois/cuir.
💰 Prix extra par valeur
Le champ price_extra sur chaque
product.template.attribute.value ajoute un montant au prix de
liste. Appliqué automatiquement sur devis et facture, cumulatif entre
plusieurs valeurs.
Prochaine étape — Vendre 20 variantes en 1 clic
Karim veut maintenant éviter les 16 clics nécessaires pour
saisir 4 variantes différentes sur un devis. Le module
sale_product_matrix ouvre une grille de saisie
qui éclate la commande en lignes automatiquement. Démo Cabinet Architecture
Alger avec 20 chaises mélangées en 30 secondes.
💼 Approfondir — Prospection & Ventes
Autres articles du même domaine :
Suite de la Saison 9 — Configurateur Produit
Articles complémentaires
Sur les mêmes thématiques : #intermediaire#cas-pratique
👥 Ressources humaines · Saison 4
👥 Ressources humaines · Saison 4
🛍 Site web & eCommerce · Saison 5