Se rendre au contenu

Pricelists & segmentation client dans Odoo 19 CE — Pro, VIP et Revendeur

Saison 10 · Article 2/3 — Revenue Management
26 avril 2026 par
Pricelists & segmentation client dans Odoo 19 CE — Pro, VIP et Revendeur
B.Mustapha

Saison 10 · Article 2/3 — Revenue Management

Pricelists & segmentation client dans Odoo 19 CE

Tu vends la même chaise à un cabinet d'architectes, à un grossiste revendeur et à un client stratégique. Trois contextes, trois tarifs. Odoo 19 CE gère ça nativement avec les pricelists — assignables par partenaire, avec règles globales, par catégorie, par produit, voire dynamiques par volume. Démo chiffrée sur les chaises InfoChair Pro : 3 pricelists, 3 SO, 3 remises très différentes à partir du même prix catalogue.

Ce que tu vas apprendre

Activer les pricelists

Une case à cocher dans les paramètres Ventes, et tu passes d'un prix unique à plusieurs tarifs par client.

Les 3 modes de règle

Remise globale, remise par catégorie, remise par produit — et la version dynamique par volume qui monte avec les quantités commandées.

Pricelist × Promotion

Comprendre l'ordre de calcul quand les deux mécaniques se croisent sur un même devis — et savoir quand c'est cumulable.

1. Trois clients, trois politiques tarifaires

La semaine après le devis Cabinet Architecture de la Saison 9 Matrix configurator, Karim reçoit trois demandes qui arrivent le même jour :

Client Profil Demande
Cabinet Architecture Alger Client B2B pro, 5 bureaux équipés par an Prix professionnels transparents, pas de code promo
ImportEquip Grossiste revendeur, commande par volumes pour refacturer Marge de revente ≈ 15%, prix net sans négociation à chaque commande
Réseau Plus Client stratégique multi-agences, gros budgets ponctuels Plus la commande grossit, plus la remise augmente

« On pourrait bricoler trois grilles Excel qu'on applique à la main », lance Karim, « mais on va faire exploser les erreurs de devis. Un client Pro qui paie le prix public par oubli, c'est un mail d'excuse et une facture d'avoir, et ça pollue le pipeline commercial. »

« Les pricelists sont faites pour ça », tranche Inès. « Tu en crées une par segment, tu l'assignes au partenaire dans sa fiche, et Odoo applique automatiquement le bon prix sur chaque devis. Zéro calcul manuel, zéro erreur. Et on peut même faire des règles dynamiques qui varient selon la quantité commandée. »

📖 Les 3 notions-clés
  • product.pricelist — le tarif lui-même (nom, devise, pays cible). Exemples : Tarif Public, Tarif Pro, Tarif VIP.
  • product.pricelist.item — une règle au sein d'un tarif. Tu peux en mettre 1, 3 ou 50 selon ta segmentation.
  • Champ property_product_pricelist sur res.partner — le tarif par défaut d'un client. Un seul par partenaire, remplissable sur la fiche contact.

2. Activer les pricelists dans les paramètres Ventes

L'option n'est pas activée par défaut sur une base neuve. Direction Ventes → Configuration → Paramètres, section Tarification, coche Listes de prix. Enregistre. Un nouveau menu apparaît : Produits → Listes de prix.

Un autre sous-réglage important : Mode de sélection. Deux valeurs possibles :

  • Plusieurs prix par produit — le mode classique. Chaque pricelist est une grille de règles qui s'appliquent au prix catalogue.
  • Règles de prix avancées (remises, formules) — débloque les règles par volume, par période, par formule Python. C'est ce qu'il nous faut pour le Tarif VIP dynamique. On active.
⚠️ Changer de mode après usage = règles recalculées — bascule Plusieurs prixRègles avancées est autorisée, mais les règles existantes sont réécrites selon le nouveau schéma. Mieux vaut choisir en amont. Pour InfoSphere, on démarre directement en Règles avancées.

3. Les 3 pricelists chez InfoSphere

On ouvre Produits → Listes de prix. Une base Odoo standard contient déjà le Tarif Public (prix catalogue sans remise). Il faut créer les 3 autres pour segmenter les clients.

Liste des 4 pricelists Odoo 19 chez InfoSphere — Tarif Public, Tarif Pro, Tarif VIP et Tarif Revendeur, toutes en DZD, vue tabulaire avec colonnes Nom Groupes de pays Devise Sélectionnable
Les 4 tarifs activés — Public (base), Pro, VIP, Revendeur.

Tarif Pro — remise globale -30%

Le plus simple des 3. Une seule règle : tout le catalogue à -30% du prix public. Formulaire :

  • Appliquer sur = Tous les produits
  • Calcul = Pourcentage de remise sur prix de vente
  • Pourcentage = 30 (signifiant -30%)
  • Quantité minimale = 0 (pas de seuil)
Formulaire Tarif Pro Odoo 19 DZD — règle -30% global remise B2B Pro appliquée sur tous les produits
Tarif Pro — une règle, une remise, tout le catalogue.

Tarif Revendeur — remise globale -15%

Même structure que le Tarif Pro, mais avec -15%. Rapide à créer, s'applique sur toutes les variantes, toutes les catégories.

Tarif VIP — 3 règles dynamiques par volume

Le plus intéressant. On crée 3 règles superposées qui se déclenchent selon la quantité commandée sur chaque ligne :

Règle Qté min Remise Effet sur la chaise à 18 500 DZD
VIP tier 11-10%16 650 DZD / u
VIP tier 210-15%15 725 DZD / u
VIP tier 320-20%14 800 DZD / u
Formulaire Tarif VIP Odoo 19 DZD — 3 règles dynamiques appliquées sur tous les produits avec quantité minimale 1 10 et 20 unités pour des remises 10 15 et 20 pourcent
Tarif VIP — Odoo prend la règle dont la quantité min est la plus haute qui passe.
💡 Odoo applique la règle la plus spécifique — si tu commandes 15 chaises avec le Tarif VIP, Odoo évalue les 3 règles dans l'ordre (qty_min décroissant). 20 u ? Non (tu n'as que 15). 10 u ? Oui → -15% appliqué. L'ordre d'évaluation est déterministe et documenté.

4. Assigner une pricelist à un partenaire

Les tarifs existent, mais ils ne s'appliquent pas encore tout seuls. Il faut relier chaque client à son tarif dans sa fiche Contacts. Ouvre le partenaire, clique sur l'onglet Ventes & Achats, puis section Vente, champ Liste de prix.

Fiche partenaire Cabinet Architecture Alger Odoo 19 — onglet Ventes et Achats avec champ Liste de prix définie sur Tarif Pro DZD
Cabinet Architecture Alger — Tarif Pro assigné. Tous les devis futurs en bénéficieront automatiquement.
Client Pricelist assignée Effet sur un devis
Cabinet Architecture AlgerTarif Pro-30% automatique toutes lignes
ImportEquipTarif Revendeur-15% automatique toutes lignes
Réseau PlusTarif VIPRemise variable selon qté : -10/-15/-20%
💡 Le champ pricelist est modifiable au niveau du devis — si un commercial veut exceptionnellement appliquer le Tarif VIP à un client Pro pour un gros deal, il peut changer le champ Liste de prix sur le devis lui-même (zone Autres informations). Le tarif par défaut du partenaire reste intact pour les devis suivants.

5. Trois devis, trois calculs automatiques

On crée un devis pour chaque client avec des produits Chaise InfoChair Pro. Odoo applique la pricelist sans clic supplémentaire.

Devis S00016 — Cabinet Architecture (Tarif Pro)

10 × Chaise Noir / Réglables 4D. Prix catalogue 22 000 DZD, pricelist Pro -30% → 15 400 DZD / u.

Devis S00016 Odoo 19 Cabinet Architecture Alger — ligne Chaise ergonomique InfoChair Pro Noir Réglables 4D 10 unités prix unitaire 15400 DA montant 154000 DA TVA 19 pourcent total 183260 DA
S00016 — Tarif Pro Tarif Pro (DZD) visible sous les conditions, calcul appliqué sans intervention.

Devis S00017 — Réseau Plus (Tarif VIP tier 3)

25 × Chaise Bleu / Fixes à 18 500 DZD. La règle VIP tier 3 (qté min 20) passe → -20% = 14 800 DZD / u. Si le client avait commandé seulement 12 chaises, ça aurait été tier 2 à -15% (15 725 DZD / u). Et pour 5 chaises seulement, tier 1 à -10% (16 650 DZD / u).

Devis S00017 Odoo 19 Réseau Plus — ligne Chaise ergonomique InfoChair Pro Bleu marine Fixes 25 unités prix unitaire 14800 DA Tarif VIP tier 20u remise -20 pourcent montant 370000 DA
S00017 — 25 u déclenche le tier 3 VIP à -20% automatiquement.

Devis S00018 — ImportEquip (Tarif Revendeur)

30 × Chaise Gris anthracite / Fixes à 18 500 DZD. Tarif Revendeur -15% uniforme quelle que soit la quantité → 15 725 DZD / u, cohérent avec la marge de revente négociée.

Devis S00018 Odoo 19 ImportEquip — ligne Chaise ergonomique InfoChair Pro Gris anthracite Fixes 30 unités prix unitaire 15725 DA Tarif Revendeur remise -15 pourcent montant 471750 DA TTC 561382 50 DA
S00018 — Tarif Revendeur fixe -15%, prix net pour volume grossiste.
Devis Client Pricelist Produit Qté PU Total HT
S00016 Cabinet Architecture Pro -30% Chaise Noir / Réglables 4D 10 15 400 154 000
S00017 Réseau Plus VIP tier 3 (20+u) -20% Chaise Bleu / Fixes 25 14 800 370 000
S00018 ImportEquip Revendeur -15% Chaise Gris / Fixes 30 15 725 471 750
Diagramme flux pricelists Odoo 19 — prix catalogue base se décline en 3 pricelists Pro Revendeur VIP assignées à 3 segments de clients Cabinet Architecture grossiste ImportEquip et client stratégique Réseau Plus générant 3 devis différents avec remises -30 -15 et variable par volume, promotion possible en aval
Le flux complet — un prix catalogue, trois pricelists, trois segments, trois devis.

6. Cumul pricelist × promotion — l'ordre d'application

C'était la question restée ouverte à la fin de l'article précédent sur les promotions multicanal. Maintenant qu'on maîtrise les pricelists, on peut trancher.

📖 Règle d'or Odoo 19 — la pricelist s'applique en amont (sur le prix unitaire de chaque ligne), la promotion loyalty.program s'applique en aval (sur le total ou en tant que ligne de remise additionnelle). Les deux peuvent cumuler sur le même devis.

Scénario concret — Cabinet Architecture commande avec un code promo

10 chaises Noir / Réglables 4D à 22 000 DZD catalogue :

  1. Étape 1 — Pricelist Pro -30% appliquée sur le prix unitaire : 22 000 → 15 400 DZD. Sous-total ligne : 10 × 15 400 = 154 000 DZD HT.
  2. Étape 2 — Le client saisit un code promo RENTREE2026 lié à un loyalty.program type Promotion qui offre -5% sur le total du devis.
  3. Étape 3 — Odoo ajoute une ligne négative de -7 700 DZD (-5% sur les 154 000). Total ligne après cumul : 146 300 DZD HT.
  4. Total final = 146 300 DZD HT + TVA 19% = 174 097 DZD TTC — soit un effet combiné de -33,5% sur le prix catalogue.
⚠️ Comportement configurable par programme — sur la fiche du loyalty.program (menu Ventes → Configuration → Programmes de fidélité et promotions), le bloc Règles d'éligibilité permet de limiter un programme à certaines pricelists avec le champ Listes de prix. Tu peux par exemple interdire le cumul Tarif VIP × Promotion en n'attachant la promotion qu'au Tarif Public et Tarif Pro. C'est la principale sauvegarde contre les remises qui s'empilent par erreur.
⚠️ Ordre inverse = pas supporté en v19 CE — certains clients souhaitent appliquer la pricelist après la promotion (ex: -10% promo puis -30% pricelist sur le résultat). Ce n'est pas le comportement standard d'Odoo 19 et modifier cet ordre via custom casse les calculs de commissions, TVA et impression. Mieux vaut ajuster les pourcentages des pricelists pour obtenir l'effet net voulu.

7. Pièges et bonnes pratiques v19

⚠️ Une seule pricelist par partenaire — le champ property_product_pricelist est un many2one, pas un many2many. Si ton client est à la fois Pro et VIP selon la catégorie achetée, tu ne peux pas assigner les deux. Deux options : soit créer un tarif combiné dédié (ex: Tarif Pro-VIP avec règles par catégorie), soit le changer manuellement sur chaque devis selon le contexte.
⚠️ Cache des prix lors du changement de pricelist sur un devis existant — si tu modifies le champ Liste de prix d'un devis déjà rempli de lignes, Odoo propose un bouton Mettre à jour les prix. Sans ce clic, les anciens prix restent figés. Tu peux finir avec un Cabinet Architecture facturé au Tarif Public parce que le devis a été créé avant l'assignation de la pricelist Pro. Vérifie toujours les prix unitaires avant confirmation.
⚠️ Les groupes de pays priment sur le partenaire — un tarif peut être restreint à un groupe de pays (champ country_group_ids). Si InfoSphere crée un Tarif Export limité à la zone Europe, et qu'un partenaire algérien est malencontreusement assigné dessus, Odoo appliquera quand même le Tarif Public par défaut parce que le pays ne matche pas. Vérifie ce champ avant assignation cross-pays.

Bonnes pratiques InfoSphere

  • Nomme clairement tes tarifsTarif Pro, Revendeur, VIP : 10 secondes à comprendre pour un nouveau commercial. Tarif 03 ou Tarif Spécial : incompréhensible au bout de 6 mois, même pour toi.
  • Documente les seuils dynamiques dans un tableau simple (min → max, remise appliquée, exemples chiffrés). Sinon ton équipe commerciale bricolera des remises en parallèle et tu perdras le contrôle.
  • Audite tes pricelists 1× par trimestre — liste les partenaires par pricelist, supprime les tarifs orphelins, ajuste les seuils selon les ventes réelles. En 6 mois, une pricelist pensée -20% peut devenir une incohérence face à des coûts d'achat qui ont changé.
  • Limite le cumul promotion × pricelist pour les segments déjà très remisés. Un client Pro -30% cumulant une promo -10% arrive à -37% net — parfois en dessous de ton seuil de rentabilité.
  • Teste en sandbox avant de modifier un tarif vivant. Un changement de pourcentage sur le Tarif Pro impacte tous les devis futurs. Duplique la base, teste, observe les effets sur les devis-types, puis applique.

À retenir

💼 Une pricelist par segment

Pro, Revendeur, VIP… chaque segment commercial mérite son tarif dédié. Évite l'accumulation de remises ad hoc dans les devis qui finissent par casser la cohérence des prix.

📊 Règles dynamiques par volume

Active Règles de prix avancées pour bénéficier des seuils quantitatifs. Tier 1 / 2 / 3 avec min_quantity croissants — Odoo choisit la règle la plus spécifique applicable.

🔗 Pricelist = partenaire

Champ property_product_pricelist sur la fiche contact, onglet Ventes & Achats. Tous les devis futurs héritent du tarif. Surchargeable au cas par cas sur un devis précis.

♻️ Cumul avec les promotions

Pricelist en amont (prix unitaire), promotion loyalty.program en aval (remise ligne). Configurable par programme via les Règles d'éligibilité pour bloquer le cumul si besoin.

Prochaine étape — Fidélité, cartes-cadeaux & wallets

Pricelists et promotions couvrent les remises commerciales classiques. Mais comment récompenser les clients qui reviennent, accumuler des points de fidélité, vendre des cartes-cadeaux, gérer un e-wallet ? Dans la Partie 3/3 de la Saison 10 — les 4 types loyalty.program restants (loyalty, gift_card, ewallet, next_order_coupons) au service du Club InfoSphere.

À paraître — Partie 3 : Fidélité & cartes-cadeaux

💼 Approfondir — Prospection & Ventes

Autres articles du même domaine :

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

Stock par variante dans Odoo 19 CE — quants, orderpoints et routes différenciées
Saison 9 · Article 3/3 — Configurateur Produit