# Prix spécifiques par client : chaque prix noir sur blanc

> Construisez la liste de prix de chaque client à partir d’un seul modèle de pricing : prix contractuels, programmes et prix catalogue sont déterminés par formule, les exceptions partent en revue, et les listes validées sortent en document, en lien ou en CSV.

Source: https://revomo.ai/fr/solutions/price-lists-customer-specific-pricing/

---

## Le prix de chaque client, noir sur blanc.

Gardez votre logique de pricing dans un seul modèle, dérivez-en par formule la liste de prix de chaque client, envoyez en revue ce qui enfreint la politique, et publiez la liste validée au client et aux systèmes qui l’utilisent.
[Voir Revomo en action](https://revomo.ai/fr/contact/)[Évaluer votre potentiel de marge](https://revomo.ai/fr/margin-assessment/)

- **01**Partir d’un seul modèle
- **02**Dériver le prix du client
- **03**Revoir ce qui enfreint la politique
- **04**Publier la liste validée
- **05**Ce qui l’alimente

Price & Quote Management*/* Customer Price Books*/* **Summit Building Supply Q1 2027**

Current

Records **1,260** in this price list

Contract prices **86** in this price list

Below floor **3** in this price list

Avg. margin **31.2%** average across line items

All records *1,260* Needs my approval *3* Pricing Review · yours *3* Approved *1,257*

** | Item Number | Description | Unit Cost | List Price | Program Discount | Contract Price | Customer Price | Price Source | Floor Check |
** | PVC-C200 | 2" PVC coupling | $4.32 | $6.43 | 6.0% | $5.95 | **$5.95** | *Contract* | *OK* |
** | PVC-T075 | 3/4" PVC tee | $1.05 | $1.76 | 6.0% | | **$1.65** | *Program* | *OK* |
** | PVC-E200 | 2" PVC elbow 90° | $2.40 | $3.69 | 6.0% | | **$3.47** | *Program* | *OK* |
** | PVC-CO400 | 4" PVC cleanout | $9.10 | $13.26 | 6.0% | | **$12.46** | *Program* | *OK* |
** | BV-100 | 1" brass ball valve | $6.04 | $9.25 | 4.0% | | **$8.88** | *Program* | *OK* |
** | BU-075 | 3/4" brass union | $3.31 | $5.46 | 4.0% | | **$5.24** | *Program* | *OK* |
** | BG-200 | 2" brass gate valve | $16.44 | $23.69 | 4.0% | $20.80 | **$20.80** | *Contract* | *Below floor* |
** | CT-050 | 1/2" copper tee | $1.38 | $2.02 | 0.0% | | **$2.02** | *List* | *OK* |

Rows 1 to 8 of 1,260 1 shown below floor

One customer’s price list, generated from the shared pricing model and resolved line by line. The data is illustrative.

Le client
La liste de prix Q1 2027 de Summit Building Supply contient 1,260 articles, générés depuis le modèle Customer Price Books.

Ce qu’elle montre
86 articles prennent un prix contractuel, 1,131 prennent le prix catalogue moins la remise de programme de Summit (6 % sur le PVC, 4 % sur le laiton) et 43 prennent le prix catalogue. Le robinet à boisseau sphérique en laiton de 1" est à $9.25 moins 4.0%, soit $8.88.

La suite
3 prix contractuels se trouvent sous le plancher après la hausse du cuivre, comme la vanne à opercule de 2" à $20.80, et attendent donc dans Pricing Review. Les 1,257 autres lignes sont validées.

01 · Partir d’un seul modèle

### Un seul modèle de pricing, une liste de prix pour chaque client.

Le modèle Customer Price Books contient chaque colonne et chaque formule une seule fois. Chaque client reçoit une liste de prix construite à partir de lui, qui ne contient que ses propres articles. Une modification de la logique atteint ainsi chaque client à l’actualisation suivante.

Colonnes

#### Réunir les entrées sur le modèle.

Le prix catalogue vient de la liste de prix Contractor Q1 2027. La remise de programme et les prix contractuels du client viennent de datasets chargés depuis vos accords. Chaque entrée est un lookup, rapproché par client et par article.

**Columns** Customer Price Books

Name | Type | Formula |
**Customer** | Text | From data |
**Unit Cost** | Money | From data |
**List Price** | Money | ` lookup (source= "pricelists" , name= "Contractor Q1 2027" , result= "List Price" , match_by=[ 'Item Number' : 'Item Number' ])` |
**Program Discount** | Percentage | ` coalesce ( lookup (source= "datasets" , name= "Customer Programs" , result= "Discount" , match_by=[ 'Customer' : 'Customer' , 'Product Group' : 'Product Group' ]), 0 )` |
**Contract Price** | Money | ` lookup (source= "datasets" , name= "Customer Contract Prices" , result= "Contract Price" , match_by=[ 'Customer' : 'Customer' , 'Item Number' : 'Item Number' ])` |

Générer les listes de prix

#### Une liste par client, en une seule exécution.

Scindez la source du modèle par la colonne Customer, et une tâche en arrière-plan crée une liste de prix pour chaque client, avec le client renseigné en en-tête.

**Generate price lists**

Setup Header Review

Pricing model
Customer Price Books

Split by
Customer

Custom header
Customer

- Summit Building Supply Q1 2027 Customer = Summit Building Supply
- Acme Electrical Q1 2027 Customer = Acme Electrical
- Harbor Mechanical Q1 2027 Customer = Harbor Mechanical

Une tâche en arrière-plan crée les listes de prix. Suivez sa progression dans Jobs.

Comment ça marche : modèles, listes clients et actualisation
Modèle et listes
Les colonnes et les formules s’ajoutent sur le modèle de pricing. La liste de prix d’un client contient ses lignes et hérite des colonnes du modèle ; on ne peut pas ajouter de colonne à une seule liste.

Les lignes, puis l’actualisation
Le chargement des lignes copie les données ; une actualisation calcule les formules. Depuis le modèle, vous pouvez actualiser d’un coup chaque liste de prix construite à partir de lui.

En-têtes
Chaque liste porte une date d’effet, une date d’expiration et les champs d’en-tête que vous ajoutez, comme Customer ou la devise. Un en-tête peut être défini par formule.

Les lookups se lient par le nom
Un lookup nomme sa source. Renommer la liste Contractor Q1 2027 ou un dataset peut donc laisser une colonne vide. La traçabilité (lineage) montre ce qui dépend d’une source avant que vous la modifiiez.

02 · Dériver le prix du client

### Écrire la priorité une seule fois, sous forme de formule.

Customer Price prend le prix contractuel quand il en existe un, sinon le prix catalogue moins la remise de programme du client. Le raccord PVC de 2" prend son prix contractuel de $5.95 ; le robinet à boisseau sphérique en laiton de 1" prend $9.25 moins 4.0%, soit $8.88 ; le té en cuivre de 1/2" n’a pas de programme et prend le prix catalogue, $2.02.

Commercial Execution*/* Commercial Models*/* **Customer Price Books**

2" PVC coupling $6.43 6.0% $5.95 $5.95

3/4" PVC tee $1.76 6.0% $1.65

1" brass ball valve $9.25 4.0% $8.88

1/2" copper tee $2.02 0.0% $2.02

2" brass gate valve $23.69 4.0% $20.80 $20.80

**Edit column: Customer Price***Money*

Basic settings

Name **Customer Price** Data type **Money** Currency **USD ($)** Refresh policy **Preserve Edits**

Formula

Describe the formula you want

** ** Formula check passed. Result type is checked when saving.

*1* round ( *2* coalesce ( *3* 'Contract Price' , *4* 'List Price' * ( 1 - 'Program Discount' ) *5* ), *6* 2 ) Functions coalesce round lookup if case isNull least greatest Columns Contract Price List Price Program Discount Customer No syntax issues The customer price is a formula on the shared model: contract first, then program, then list. The data is illustrative.

- **Contrat, puis programme, puis catalogue** L’ordre est dans la formule, où chacun peut le lire, et non dans la feuille de calcul la plus récente.
- **Des lookups à travers tout Revomo** Lisez le prix catalogue dans une autre liste de prix, et les programmes et prix contractuels dans des datasets.
- **Vérifié avant de compter** Vérifiez une formule pendant que vous l’écrivez. L’enregistrement contrôle chaque colonne qu’elle nomme.

Price Source

#### Montrer quel prix s’est appliqué, sur chaque ligne.

Une colonne Price Source nomme la règle utilisée par chaque ligne. La question « sur quelle liste est-il ? » a ainsi une réponse dans la grille. Sur la liste de Summit, 86 lignes prennent un prix contractuel, 1,131 prennent le programme et 43 prennent le catalogue.

**Columns** Price Source

` if (isNull( 'Contract Price' ), if ( 'Program Discount' > 0 , "Program" , "List" ), "Contract" )` Price Source | Records |
Contract | 86 |
Program | 1,131 |
List | 43 |

Contrôle du plancher

#### Repérer un prix contractuel qui ne respecte plus la politique.

Floor Price vient de vos corridors de marge. Après la hausse du cuivre, le prix contractuel de $20.80 de la vanne à opercule en laiton de 2" se trouve sous son plancher de $21.08.

**Columns** Floor Check

` if ( 'Customer Price' < 'Floor Price' , "Below floor" , "OK" )` Item | Customer | Floor | Check |
2" brass gate valve | $20.80 | $21.08 | Below floor |
2" PVC coupling | $5.95 | $5.68 | OK |

Comment ça marche : des formules qui vous appartiennent
Pas de hiérarchie fixe
Revomo ne fournit pas de hiérarchie base, marché et client. La priorité est une formule sur votre modèle, construite avec coalesce, if et case, et vous pouvez ajouter un niveau marché ou devis de la même façon.

Deux contrôles
Verify contrôle la syntaxe, les fonctions et les sources de lookup pendant que vous écrivez. Les noms de colonnes sont contrôlés à l’enregistrement, donc une colonne mal orthographiée est repérée à ce moment-là.

Votre plancher
Les planchers ici viennent du ruleset Margin Corridors de cet exemple (22 % sur le laiton et 24 % sur le PVC pour les installateurs). Revomo ne fournit pas de plancher ; c’est vous qui fixez la politique.

Dates d’effet
Un prix contractuel avec des dates de début et de fin se lit avec un filtre et un tri dans le lookup, pour que l’accord en cours s’applique et qu’un accord expiré ne s’applique pas.

03 · Revoir ce qui enfreint la politique

### Seules les exceptions attendent une personne.

Quand la liste de Summit est recalculée, une automatisation valide chaque ligne dont le contrôle du plancher indique OK. Les 3 prix contractuels sous le plancher attendent dans Pricing Review, où un responsable pricing décide de les honorer ou non jusqu’à l’échéance.

Price & Quote Management*/* Customer Price Books*/* **Summit Building Supply Q1 2027**

Current

**Approval Workflow***Currently Pricing Review** Floor check*

Approval Lifecycle · 3 steps · Line Item · 3 of 1,260 records outstanding · Revision 1

- ##### Draft Open to anyone who can edit this entity *Cleared* Entered Oct 2, 2026 by Maya Chen
- 2 ##### Pricing Review Held by Pricing Managers 3 records here now *Ready* FIRES *Approve* on price list recalculated *when 1 condition match* NOTIFIED Dana Ruiz · Contract prices under the floor need a decision
- 3 ##### Approved Open to anyone who can edit this entity 1,257 records here now *Queued*

**Approve every record waiting on you**

Only records waiting on you move. Anything else in the selection is left as it is and reported back. Reason (optional) Contract CTR-2087 runs to Mar 31, 2027. Honor to term; renewal flagged to the account owner.
Cancel Approve

Approve (3 waiting on you) Reject

Lines that pass the floor check are approved by an automation; the three that don’t wait for a person. The data is illustrative.

- **Les lignes de routine avancent** Une automatisation valide les 1,257 lignes qui passent le contrôle, quand la liste de prix est recalculée.
- **Les exceptions reçoivent une décision** Le relecteur valide ou rejette les lignes qui l’attendent, avec un motif facultatif.
- **Les renouvellements restent en vue** Un prix contractuel sous le plancher devient une conversation de renouvellement, et non une perte de marge que personne n’a vue.

Politique d’actualisation

#### Un prix convenu à la main survit à l’actualisation.

Customer Price utilise Preserve Edits. Si un responsable pricing fixe l’un des prix de Summit à la main, l’actualisation suivante le conserve jusqu’à ce que quelqu’un annule la modification, et le journal d’audit consigne qui l’a fixé.

**Refresh policy** Customer Price

- **Recompute** L’actualisation réexécute la formule et écrase chaque cellule.
- **Preserve Edits** L’actualisation réexécute la formule sauf dans les cellules que quelqu’un a modifiées, qui gardent leur valeur jusqu’à l’annulation de la modification.
- **Freeze** L’actualisation ne recalcule jamais cette colonne ; les valeurs stockées restent telles quelles.

Historique et audit

#### Savoir ce qui a changé, et revenir en arrière.

- **Versions** Prenez un instantané de la liste de Summit avant une modification, ouvrez une version antérieure et restaurez-la.
- **Révisions** Rouvrez une liste validée comme nouvelle révision, et comparez chaque prix avec le précédent.
- **Journal d’audit** Chaque action sur la liste, avec qui, quand et les valeurs modifiées.

Comment ça marche : validations et modifications à la main
Votre politique
La politique de cycle de vie sur le modèle nomme les états, les actions qui font avancer une liste, et qui peut exécuter chacune. La revue peut porter sur toute la liste ou se faire ligne par ligne.

Automatisations
Une automatisation se déclenche quand une liste de prix est recalculée et agit sur les enregistrements qui remplissent ses conditions. Elle s’exécute à l’actualisation, pas en continu.

Modifications de contrat
Modifier un prix convenu, c’est mettre à jour le prix contractuel qu’il lit. Contract Pricing & Renewals conserve les accords comme des enregistrements à part entière, avec leurs propres validations.

Beaucoup de prix à la fois
Une mise à jour en masse filtre les enregistrements, définit chaque champ par valeur ou par formule, simule l’effet, puis la soumet pour validation.

04 · Publier la liste validée

### Envoyer la liste validée là où elle est utilisée.

Une fois les 3 exceptions tranchées, générez le catalogue de prix de Summit depuis un modèle de publication, partagez-le sous forme de lien, et téléchargez la liste en CSV pour les systèmes qui attendent un fichier.

Publishing

#### Un catalogue de prix à votre image pour le client.

Un modèle de publication fixe la mise en page et les colonnes qui apparaissent, pour que coût, plancher et marge restent internes. Générez-le en PDF, en fichier Excel ou en page web, ou créez un lien de partage avec une date d’expiration et un mot de passe.

**Generate Document** Summit Building Supply Q1 2027

Select Format
- **Excel**Spreadsheet (.xlsx)
- **PDF**Print ready (.pdf)
- **HTML**Web page (.html)
- **Weblinks**Live link (.parquet)

Select Template
Customer price book

Create Share Link
On · password set

Expires in (days)
30

Cancel Generate

Download

#### Un CSV pour l’import de prix de l’ERP.

Download exporte la liste dans sa mise en page et avec ses filtres actuels, en tâche en arrière-plan. Chargez le fichier via l’import de prix de votre ERP.

**More actions** Summit Building Supply Q1 2027

- Open Overview
- Download
- Share

Price list export started.

Comment ça marche : documents, liens et exports
Documents et liens
Les documents sont en PDF, Excel ou HTML, ou un lien actif. Share Links répertorie chaque lien de la liste, et tout lien peut être révoqué.

Exports
Download produit un CSV de la liste. Les exports atteignent aussi les destinations Databricks et Salesforce connectées, en tâches en arrière-plan.

Pas d’écriture dans l’ERP
Revomo n’écrit pas les prix directement dans votre ERP. La méthode pour chaque système est convenue dans l’Activation and Success Plan.

Modèles
Un modèle se configure une fois et se réutilise pour chaque client, et il peut remplacer la version précédente d’un document quand vous publiez à nouveau.

05 · Ce qui l’alimente

### Ce qui l’alimente.

Les fonctionnalités qui font le travail, ce que chaque abonnement ajoute et par où commencer.

#### Fonctionnalités utilisées

- **[Price Management](https://revomo.ai/fr/product/price-management/)** Le modèle de pricing, la liste de prix de chaque client, la revue et la publication.
- **[Contract Pricing & Renewals](https://revomo.ai/fr/product/contract-management/)** Conserver les accords derrière chaque prix contractuel, avec leurs propres validations.
- **[Quoting & Deal Pricing](https://revomo.ai/fr/product/quote-management/)** Établir le devis à partir de la liste en vigueur du client, avec la concession de l’affaire en plus.

#### Dans chaque abonnement

- **[Data & Context Studio](https://revomo.ai/fr/product/data-context-studio/)** Vos données, connecteurs et définitions partagées.
- **[AI Agents & Automation](https://revomo.ai/fr/ai-agents-automations/)** Automatisations, alertes et notifications.
- **[Copilot et gouvernance](https://revomo.ai/fr/platform/)** Copilot, permissions et audit dans tout Revomo.

#### Par où commencer

- **[Voir Revomo en action](https://revomo.ai/fr/contact/)** Parcourez une liste de prix client construite sur vos propres données.
- **[Diagnostic de marge gratuit](https://revomo.ai/fr/margin-assessment/)** À partir d’extractions uniquement, généralement remis sous cinq jours ouvrés.
- **[Tarifs de cette solution](https://revomo.ai/fr/pricing/?need=set-manage-prices)** Les tarifs Growth publiés pour les fonctionnalités qu’elle utilise.

Solutions associées : [Gérer les prix contractuels et les renouvellements](https://revomo.ai/fr/solutions/contract-pricing-renewals/), [Gérer les devis et le pricing des affaires](https://revomo.ai/fr/solutions/quoting-deal-price-guidance/), [Gestion des hausses de prix](https://revomo.ai/fr/solutions/price-increases-that-stick/), [Récupération des coûts et retarification](https://revomo.ai/fr/solutions/cost-pass-through-repricing/).

FAQ

### Questions fréquentes

Nous avons des dizaines de milliers de prix spécifiques par client. Peut-on les migrer ?

Oui. Chargez vos prix contractuels existants comme dataset, depuis un fichier CSV ou Excel ou via un connecteur, et la liste de prix de chaque client va les chercher par client et par article. Les prix qui suivent une règle, comme une remise de programme sur le prix catalogue, deviennent une formule plutôt qu’une ligne stockée. Seules les vraies exceptions restent des prix que quelqu’un maintient.
Comment Revomo décide-t-il du prix qu’un client paie ?

C’est votre formule qui décide. Un prix client typique prend le prix contractuel quand il en existe un, sinon le prix catalogue moins la remise de programme du client. Une colonne Price Source consigne sur chaque ligne la règle qui s’est appliquée. Il n’y a pas de chaîne de priorité fixe dans Revomo ; l’ordre est celui que fixe la formule de votre modèle de pricing.
Que deviennent les prix clients quand les prix catalogue changent ?

Actualisez les listes de prix clients. Chacune consulte son prix catalogue dans la liste de segment, donc une actualisation recalcule chaque prix client qui suit le catalogue. Les prix contractuels restent tels que convenus, et un contrôle du plancher que vous définissez signale ceux qui ne respectent plus la politique, pour qu’ils attendent une revue.
Les commerciaux peuvent-ils encore négocier des prix spécifiques par client ?

Oui. Une affaire est tarifée comme un devis à partir de la liste en vigueur du client, avec la concession dans sa propre colonne et les lignes sous votre plancher routées pour validation. Un prix convenu sur le long terme rejoint les prix contractuels du client, pour que la liste suivante le reprenne, et chaque modification figure dans le journal d’audit.

[Quoting & Deal Pricing →](https://revomo.ai/fr/product/quote-management/)
Que se passe-t-il dans l’ERP ?

L’ERP continue d’exécuter les commandes. Revomo n’y écrit pas les prix directement : téléchargez la liste validée en CSV pour l’import de prix de votre ERP, ou exportez-la vers une destination Databricks ou Salesforce connectée. La méthode pour chaque système est convenue dans l’Activation and Success Plan.
Un client peut-il recevoir sa propre liste de prix ?

Oui, sous forme de document généré. Un modèle de publication fixe la mise en page et les colonnes qui apparaissent, pour que coût, plancher et marge restent internes. La liste est générée en PDF, en fichier Excel ou en page web, ou sous forme de lien de partage avec une date d’expiration et un mot de passe facultatif.

### Mettre chaque prix noir sur blanc.

Apportez votre liste de prix client la plus embrouillée. Nous vous montrerons le modèle, la formule et la première liste revue.
[Voir Revomo en action](https://revomo.ai/fr/contact/)[Évaluer votre potentiel de marge](https://revomo.ai/fr/margin-assessment/)[Tarifs de cette solution](https://revomo.ai/fr/pricing/?need=set-manage-prices)
