September 27, 2026 · 5 min · Sales and pricing

Lire en français

Odoo pricelists: make pricing reliable before selling

A reliable quotation starts with a price the team can explain. A salesperson applies a negotiated discount, the website displays another amount and an old spreadsheet holds a third value: pricing soon becomes a shared operational problem. For a business preparing an Odoo project in Belgium or France, the priority is to turn these habits into testable commercial rules. This Odoo Enterprise guide proposes a preparation and acceptance-testing approach.

What Odoo documents

The Odoo 19 documentation describes pricelists as rules that replace a product’s sales price according to the commercial context. A pricelist can be assigned to a customer. Suggested prices can still be changed on the sales order, so a pricelist alone does not provide an approval process for exceptions.

Agree on a common pricing reference

We recommend having sales and finance approve a reference sheet before configuration begins. For each price agreement, record the customer or segment, products, currency, validity period, quantities and decision owner. State whether expected amounts include or exclude tax, keeping commercial policy distinct from tax treatment.

Avoid turning every historical exception into a permanent rule. A discount granted to resolve an incident should not silently become the normal price. Keep a reason and a review date for individual agreements.

An acceptance scenario that exposes ambiguity

Fictional Underside example: a distributor wants to sell a product for €100 excluding tax, with a contractual customer price of €92 and a campaign price of €88 for orders of at least 20 units. The team must first decide whether the customer receives the campaign price or keeps the contract price. Make that decision before configuration; these amounts illustrate a business requirement, not an automatic rule priority guaranteed by Odoo.

For each test, record the expected price, actual price and reason for any discrepancy. Obtain approval before extending the configuration to the full catalogue. This testing protocol is an Underside recommendation.

Prepare migration and sales channels

During an Odoo migration, reconcile active agreements with the customer records actually being imported. Similar names do not reliably identify a company or a branch. We recommend handling open quotations separately: their prices may reflect an earlier commitment that a new price schedule should not replace without a commercial decision.

If an online shop or external interface is involved, define which system calculates the price and which merely submits an order. Test an order received after a campaign expires, an unexpected currency and a customer identification error. For teams in Belgium and France, use shared acceptance scenarios and labels people understand in each language.

Underside’s analysis: measure exceptions

The first useful indicator is the number of manually corrected prices, with the reason for each correction. Add quotations blocked by missing prices and discrepancies reported between channels. This is a monitoring recommendation to implement with your tools, not a description of a standard dashboard.

Start with one customer segment and a small product selection. Evaluate standard configuration before commissioning custom development. Continue with our guides to Odoo Sales and data migration.

Official source and scope

Functional reference: Odoo 19 pricelist documentation. Check the capabilities and screens in your own installation. This article does not announce a new release; the scenarios and recommendations are Underside’s analysis.

Prepare your pricing acceptance tests with Underside, starting from an actual customer agreement.

Back to blog