📍 Where to find this module?
Main menu > Sales > Price list
Introduction #
Price lists allow you to define personalized pricing for your customers. Each price list contains pricing rules associated with items (products or services), with price tiers based on the quantities consumed.
This guide assists you in configuring and managing price lists.
Standard vs Negotiated (V1) #
V1 introduces 2 types of lists:
- Standard list: reference list, intended to be finalized and used as a basis.
- Negotiated price: copy of a finalized standard list, with visible reference values and calculated variances.
Related Fields #
Grille standard(isstandard): indicates that a list is standard.Grille standard source(standard_pricebook_id): on a negotiated price, references the original standard list.
Important rules #
- It is forbidden to have a list with
Grille standard = OuiandGrille standard sourcefilled in. - The creation of a negotiated price is only possible from a finalized standard list (
mdspermanentlock=1).
UX Implication (V1) #
- On a standard list:
- Reference and variance columns are hidden (the standard list is the reference).
- Pricing limits (minimum price, max discount, max authorized variance) are editable.
- On a negotiated price:
- Reference columns and variances are displayed.
- Structure editing (adding/deleting pricing rules or tiers) is disabled (structure inherited from the standard).
- Structure fields (pricing type/model, pricing limits) are read-only.
- A notes panel is available to document the negotiation.
1. Create a price list #
- Access the Price lists module from the main menu
- Click on Add a record
- Fill in the fields:
- Name: name identifying the price list
- Active: check to activate the price list
- Description: free description
- Add pricing rules (see next section)
- Click on Save
2. Configure pricing rules #
Each pricing rule defines the pricing of a specific item (product or service) within the price list.
Fields of a pricing rule #
| Field | Description |
|---|---|
| Item | The product or service concerned by this rule |
| Type | Fixed Price (fixed price) or Percentage (percentage discount on catalog price) |
| Model | The price calculation model (see below) |
| Start date | Date from which the rule is applicable (optional) |
| End date | Date until which the rule is applicable (optional) |
| Exclude from invoicing | If checked, the item is excluded from invoicing (it will not be invoiced), even if a price is calculated |
| Group by | Product/service field used to group quantities (optional) |
The 5 pricing models #
The available models are: Volume Pricing, Tiered Pricing, Block Pricing, Company Group Tiered Pricing and Company Group Volume Pricing.
For details on how they work and calculation examples for each model, consult Pricing strategies.
Configure tiers #
For each rule, add one or more tiers:
| Field | Description |
|---|---|
| Minimum quantity | Quantity threshold from which this tier applies |
| Fixed price | Unit price (if type = Fixed Price) |
| Standard price | Reference price (informative, visible on negotiated price) |
| % discount | Percentage discount on catalog price (if type = Percentage) |
| Standard discount (%) | Reference discount (informative, visible on negotiated price) |
On a negotiated price, the screen also displays variances:
- Rule
Fixed Price: variance in % vs standard price - Rule
Percentage: variance in points vs standard discount
Note: Tiers are evaluated from highest to lowest. The first tier whose minimum quantity is less than or equal to the total quantity is selected (in Volume/Block Pricing).
3. Associate a price list with a customer account #
- Open the Account (or Supplier) record
- In the Price list field, select the desired price list
- Save
When invoicing consumption (MdsItemUsage), the system will automatically use the price list associated with the account to determine prices.
4. Validity date management #
Rules can have start and end dates:
| Start date | End date | Behavior |
|---|---|---|
| Empty | Empty | Always applicable |
| Empty | Defined | Applicable until the end date |
| Defined | Empty | Applicable from the start date |
| Defined | Defined | Applicable within the interval |
If several rules match for the same product/service on a given date, the rule with the most recent start date takes priority.
If no rule matches, the catalog price of the product/service is used.
5. “Exclude from invoicing” option #
Checking the Exclude from invoicing option on a rule allows you to exclude a product/service from invoicing. This is useful for products/services included in a package or offered for free.
This option is different from a price at
0: here, the item is excluded from invoicing.
6. Grouping by field (GroupBy) #
The Group by field allows you to calculate quantities by grouping all products/services sharing the same value for a given field.
Example: If you group by “Product Category”, all consumption of products in the same category will be added together to determine the applicable tier.
7. Management actions #
Duplicate a price list #
- Open the price list to be duplicated
- Use the Duplicate action
- A new price list is created (inactive) with all rules and tiers copied
- Modify the name and parameters according to your needs
- Activate it when it is ready
Apply a modification rate #
This action allows you to apply a multiplier coefficient to all fixed prices of all rules in the price list.
- Open the price list
- Use the Apply a rate action
- Enter the coefficient (e.g.:
1.05for a 5% increase,0.95for a 5% decrease) - Validate
Warning: This action modifies all fixed prices irreversibly. It is recommended to duplicate the price list before applying a rate.
Export a price list #
The Full export action allows you to export the price list with all its rules and tiers.
Create a negotiated price (from a standard list) #
- Open a standard list.
- Ensure it is finalized (permanent lock activated).
- Click on the Create a negotiated price action.
- A new list is created:
- inactive
- with a reference to the source standard list
- with initialized reference values (initially: value = reference)
- Modify the prices/discounts, and fill in if necessary:
- Discount reason
- Message for the customer
- Internal comment
8. Configure invoicing comments #
Automatic comments added to invoicing lines are configurable in the settings.
- Access Settings > Pricing rules
- Modify the comment templates for each pricing model
Available variables #
| Variable | Description | Available for |
|---|---|---|
{level} |
Tier number | All models |
{account_qty} |
Account quantity | All models |
{unit_price} |
Unit price | All models |
{company_group_qty} |
Group quantity | Company Group only |
Examples of default templates #
- Tiered Pricing:
Tranche {level} - Block Pricing:
Tranche {level} — Consommation : {account_qty} unités - Company Group Tiered:
Tranche {level} — Consommation : {account_qty} unités — Groupe : {company_group_qty} unités
9. Configuration of minimum prices and maximum variances #
Minimum price per tier #
On a standard list, you can define a minimum price for each tier of type “Fixed Price”. This floor price will be automatically copied when creating a negotiated price and cannot be modified on the negotiated one.
If the negotiated price falls below the minimum, a visual alert appears and the “N2 approval required” flag is activated.
Maximum discount per tier #
Similarly, you can define a maximum authorized discount (%) for each tier of type “Percentage”. If the negotiated discount exceeds this ceiling, a visual alert appears.
Maximum variance per rule #
At the level of each pricing rule, you can define a maximum authorized variance (%). This variance is calculated as the percentage difference between the negotiated price and the standard price. If the variance exceeds the threshold, a visual alert (orange background) appears.
N1/N2 approval mechanism #
Approval flags are automatically calculated each time a negotiated list is saved:
- N1 Approval: activated as soon as a tier has a price or discount different from the standard.
- N2 Approval: activated as soon as a tier exceeds a minimum price, a maximum discount, or a maximum authorized variance.
These flags are displayed as badges at the top of the list and are available in ListView to filter lists requiring approval.
Note: The full approval module (workflow, notifications, history) is planned for a later version.
10. Best practices #
- Name clearly your price lists (e.g.: “Standard Rate 2025”, “Premium Group Rate”)
- Use validity dates to manage pricing evolutions without deleting old pricing rules
- Duplicate before modifying: use duplication to create a new version of a price list before applying price changes
- Test prices: use the price preview (GetItemPrice action) to verify the calculation before invoicing
- Only one list per account: each account can only be associated with one price list at a time