Se rendre au contenu

Variantes produit dans Odoo 19 CE — attributs, valeurs et prix par variante

Saison 9 · Article 1/3 — Configurateur Produit
26 avril 2026 par
Variantes produit dans Odoo 19 CE — attributs, valeurs et prix par variante
B.Mustapha

Saison 9 · Article 1/3 — Configurateur Produit

Variantes produit dans Odoo 19 CE

Un seul produit, plusieurs déclinaisons : couleurs, tailles, options. Odoo 19 CE gère ça nativement avec attributs + valeurs et trois modes de création au choix. On ouvre la Saison 9 avec les bases pratiques sur la chaise InfoChair Pro, 6 variantes générées automatiquement, prix extra appliqué sur devis.

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. »

📖 Les 4 notions-clés des variantes
  • 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.

Les 3 modes de création de variantes en Odoo 19 — Instantanément, Dynamique, Jamais — avec cas d'usage recommandés
Les 3 modes selon le volume de combinaisons et l'usage visé.
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
⚠️ Changement de mode après usage = galère — le champ Création de variante peut être modifié tant que l'attribut n'est pas utilisé sur un produit. Dès qu'il est lié à un template, Odoo bloque la modification (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.
🔄 Libellés renommés depuis v18 — les options du menu déroulant ont changé de nom (mais pas le code technique) : AlwaysInstantanément, DynamicallyDynamique, NeverJamais. Rien ne casse à l'upgrade, mais les captures d'écran des anciens tutos ne correspondent plus.

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).

Paramètres Ventes Odoo 19 — option Variantes cochée dans la section Catalogue produits
L'option Variantes dans les paramètres Ventes — un clic, toute la chaîne en profite.

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).

Attribut Coloris Odoo 19 — type Couleur avec pastilles Noir, Gris anthracite et Bleu marine
L'attribut Coloris configuré — pastilles visuelles, création Instantanément.

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
Attribut Accoudoirs Odoo 19 — type d'affichage Radio avec valeurs Fixes et Réglables 4D, création Instantanément
L'attribut Accoudoirs — deux choix en radio, prêts à générer les variantes.
💡 Quand choisir quel type d'affichage ?Radio pour 2-4 choix, Sélectionner (dropdown) pour 5+ options, Boutons carrés (pills) pour un rendu plus moderne. Image affiche une photo par valeur — utile pour des finitions (chêne, noyer, hêtre). Multiples cases à cocher est réservé aux attributs en mode Jamais.

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.

Fiche chaise InfoChair Pro Odoo 19 — onglet Attributs avec 2 lignes liant Coloris et Accoudoirs
Onglet Attributs de la fiche chaise — 2 lignes, 6 variantes à la sauvegarde.

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 :

Liste des 6 variantes générées pour la chaise InfoChair Pro — coloris et accoudoirs combinés
Les 6 variantes générées — chaque ligne est un 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.

Prix supplémentaire par valeur d'attribut — Fixes 0,00 DA et Réglables 4D 3 500,00 DA sur la chaise
Prix extra par valeur — Fixes à 0 DA, Réglables 4D à +3 500 DA.

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.

💡 Prix extra par template, pas global — le champ 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
Devis S00005 Cabinet Architecture Alger — ligne avec Chaise InfoChair Pro Noir Réglables 4D à 22 000 DZD
Devis S00005 — la variante Noir/4D appliquée automatiquement à 22 000 DZD, TVA incluse.

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
Attribut Longueur du câble Cat6 UTP Odoo 19 — type Sélectionner, création Dynamique
Attribut Longueur du câble Cat6 en mode Dynamique — 12 combinaisons virtuelles, 0 variante créée tant qu'aucun devis n'en choisit une.

10. Les pièges à éviter

⚠️ Suppression d'une valeur utilisée — essayer de supprimer Noir si des variantes ou pire des devis historiques référencent cette valeur → Odoo bloque avec un 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.
⚠️ « Multiples cases à cocher » = toujours Jamais — le type d'affichage 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é.
⚠️ Explosion combinatoire — 3 attributs × 5 valeurs chacun = 125 variantes. En mode Instantanément, ça crée 125 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.
⚠️ Pricelist et prix extra sont cumulatifs — si tu définis une pricelist « Client VIP -10% » sur le template Chaise, elle s'applique sur le prix final variante (base + extra). VIP commandant 4D = (18 500 + 3 500) × 0,9 = 19 800 DZD, pas (18 500 × 0,9) + 3 500. Utile à savoir quand on négocie une remise catalogue. Détaillé dans l'article S9·2/4 sur les pricelists.

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.

Lire la Partie 2 — Matrix configurator →

💼 Approfondir — Prospection & Ventes

Autres articles du même domaine :

Les ventes

Acheter & Vendre

Le CRM

Acheter & Vendre

Suite de la Saison 9 — Configurateur Produit

Articles complémentaires

Sur les mêmes thématiques : #intermediaire#cas-pratique

Recrutement RH

👥 Ressources humaines · Saison 4

Congés & Présence RH

👥 Ressources humaines · Saison 4

Site vitrine

🛍 Site web & eCommerce · Saison 5

Maîtriser les Achats & Approvisionnements dans Odoo 19 — Partie 2/4 : Frais d'import et landed costs
Saison 8 · Article 2/4 — Achats & Approvisionnements