quote → cash
FR/EN Contact

Pattern·Intermédiaire··Mis à jour le 05/10/2026

Pattern · Pricing

Franchises incluses et surplus

Exprimer nativement « les N premières sont incluses, au-delà c’est payant » — et découvrir pourquoi une seule de vos franchises s’applique.

Salesforce docs documenté par SalesforceTerrain constaté sur une vraie orgRecommandé ce que nous recommandonsÀ vérifier non vérifié

Le problème

Plusieurs bundles incluent une franchise — tant d’heures de formation, tant de mois d’un service — le surplus étant facturé au tarif réel. Cinq franchises configurées. Exactement une fonctionnait.

Le contexte

Un catalogue où la quantité incluse diffère par bundle, et où le prix du surplus diffère par service.

L’architecture recommandée

Modéliser la franchise comme un barème d’ajustement de prix à paliers — quantité incluse à zéro, surplus au prix réel — plutôt que comme un drapeau de pricing de bundle. Les paliers expriment la forme directement et restent lisibles pour qui maintient le catalogue.

L’échec n’avait rien à voir avec les paliers. La pricing procedure par défaut applique les barèmes par des constantes en dur, pas dynamiquement : une constante pointait sur un barème, donc un seul était jamais lu. Le correctif est un barème global unique portant toutes les franchises, avec la constante pointée dessus.

Mise en œuvre

  1. Construire un barème global portant les paliers de toutes les franchises, plutôt qu’un barème par offre.
  2. Pointer la constante de la procédure dessus et réactiver la procédure — l’éditer la désactive.
  3. Vérifier sur un vrai devis en repriçant et en lisant les totaux de ligne.

Ce que ça coûte

Un barème global est moins propre qu’un barème par offre, mais c’est ce que la procédure lit réellement. Les barèmes par offre peuvent rester en place, inertes, comme documentation — ou être désactivés pour ne pas égarer la personne suivante.

Attention

  • Les paliers portent une devise. Des paliers écrits dans une devise ne matchent pas une transaction dans une autre, et la franchise échoue en silence — un piège quand une offre s’étend à une nouvelle région.
  • Éditer une pricing procedure la désactive. Réactivez-la, sinon rien ne price.
  • Les dates de segment de ramp sont verrouillées sur un segment annuel et éditables sur un segment custom. Ce qui ressemble à un bug de date est un type de segment.

Composants Salesforce

Ressources Salesforce