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. »
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_pricelistsurres.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.
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.
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)
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 1 | 1 | -10% | 16 650 DZD / u |
| VIP tier 2 | 10 | -15% | 15 725 DZD / u |
| VIP tier 3 | 20 | -20% | 14 800 DZD / u |
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.
| Client | Pricelist assignée | Effet sur un devis |
|---|---|---|
| Cabinet Architecture Alger | Tarif Pro | -30% automatique toutes lignes |
| ImportEquip | Tarif Revendeur | -15% automatique toutes lignes |
| Réseau Plus | Tarif VIP | Remise variable selon qté : -10/-15/-20% |
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 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 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 | 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 |
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.
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 :
- É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.
- Étape 2 — Le client saisit un code promo
RENTREE2026lié à unloyalty.programtype Promotion qui offre -5% sur le total du devis. - É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.
- Total final = 146 300 DZD HT + TVA 19% = 174 097 DZD TTC — soit un effet combiné de -33,5% sur le prix catalogue.
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.
7. Pièges et bonnes pratiques v19
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.
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 tarifs — Tarif 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 :
Promotions multicanal (Partie 1)
Revenue Management
Fidélité, cartes-cadeaux & eWallet (Partie 3)
Revenue Management
Acheter & Vendre
Suite de la Saison 10 — Revenue Management
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