Practical guide
How to Plan Odoo Pricelists for Wholesale Sales
A wholesale pricelist should translate a clear commercial agreement into a repeatable price calculation. Start with customer groups, products, quantities, currencies and validity periods, then test overlapping rules and exceptions. Odoo provides sales pricelist capabilities; the business must separately define who may change prices, how exceptions are approved and whether unauthorized actions must be technically prevented.
Official Odoo Partner · Ever Digital
Start with the commercial policy, not a spreadsheet import.
Collect current customer agreements and identify why prices differ. A dealer category, a contracted customer, a quantity break and a short promotion are different reasons. Remove expired or contradictory agreements before turning them into system rules. Otherwise, the new system can calculate a price consistently while applying the wrong commercial policy.
Assign an owner for price maintenance and the evidence required to introduce a change. Salespeople need to know which agreement applies and how to request an exception. Avoid relying on a private spreadsheet that cannot be reconciled with the prices used on actual orders.
Define the inputs that determine the price.
Use a small matrix of representative products and customers to make the rules reviewable.
| Input | Question to answer | Example test |
|---|---|---|
| Customer | Which customer or group receives the agreement? | Compare a dealer account with a standard wholesale account. |
| Product | Does the rule apply to one item, a variant or a broader category? | Quote a similar item that should remain outside the special rule. |
| Quantity | What unit and threshold govern a quantity break? | Test just below, at and above the threshold. |
| Currency | Which currency is the commercial offer expressed in? | Check the quotation currency and the approved conversion treatment. |
| Validity | When does the agreement begin and end? | Test an order before, during and after the intended period. |

Odoo documentation · CC BY-SA 4.0 · CC BY-SA 4.0
Original documentation image, shown without altering the interface. The screenshot illustrates standard Odoo, not a customer implementation.
Resolve carton, pack and unit meaning before pricing.
A price per carton is not automatically comparable with a price per piece. Agree purchase, stock and sales units, packaging quantities and fixed conversions. The product and pricing setup should let staff explain the customer’s ordered quantity and the warehouse quantity required to fulfil it.
Variable weights, cut lengths or transaction-specific quantities need an additional design review. Do not force them into a fixed conversion that happens to fit one example. Test a return or partial supply in the same units to ensure the commercial and stock records remain understandable.
Test which rule wins when several could apply.
A product may be affected by a customer agreement, a category rule and a temporary promotion. Document the intended result, then test the selected Odoo configuration with those overlapping conditions. The purpose is to verify behavior rather than assume the most favorable or most specific rule will always be chosen as expected.
Use negative examples as well as qualifying orders. A customer outside the agreement, an excluded variant or an order after expiry should not receive the special result. Keep expected prices in a controlled acceptance sheet so later maintenance can be checked against the same policy.
A calculated price and permission to change it are separate controls.
Determine who can edit a price or discount and whether an exception requires approval. If the business needs a hard margin or credit block, specify the action to be prevented and demonstrate it with the relevant user role. Merely displaying a calculated price does not prove the control is enforced.
Also agree what happens when an approved quotation is amended. A changed quantity, currency or product can alter the basis of the original approval. The process should make clear whether the change requires review before confirmation or delivery.
Build a compact pricing acceptance set.
Include expected results approved by the commercial owner.
- A normal order for each meaningful customer group.
- Quantity thresholds and unit or packaging conversions.
- Overlapping and expired rules.
- A return, credit or amended order according to the agreed policy.
- An unauthorized price change where prevention is required.
- A foreign-currency example reviewed by finance.
Maintain pricing as a controlled business dataset.
Pilot the rules with a focused customer and product set. Compare the quotations with approved commercial examples and investigate differences before importing every agreement. Document who changes rules and how staff know an agreement has been replaced.
Ever Digital can help configure the supported pricing foundation and assess any additional approval or integration requirement. Bring a redacted price agreement, a difficult exception and the product-unit definitions. These establish a concrete test of the proposed setup without promising unverified controls.
Questions businesses ask
Can wholesalers and retailers receive different prices?
Odoo sales pricelists can support differentiated pricing. Define the customers, products, quantities, currencies and validity rules, then test representative quotations.
Does a pricelist enforce a minimum margin?
Not by itself. The desired margin calculation, permissions and blocking behavior must be specified and demonstrated separately.
How should carton and piece prices be handled?
Agree the units and fixed conversions first, then test the price, ordered quantity and stock movement together. Variable measures need additional assessment.
Should we import all old price agreements?
Only active, understood agreements should drive new orders. Retain historic evidence appropriately, but remove expired or contradictory rules from the active configuration.
Sources and factual scope
Capabilities checked against official Odoo documentation. These are planning examples, not promises that every feature is included in a Starter package.
Reviewed:
Ever Digital
Bring your real workflow to the conversation.
Tell us how you sell, stock, deliver or service. We will identify the standard apps, decisions and any extensions your implementation needs.
View Starter packages Current implementation fees and included scope are maintained on the Starter package pages. Odoo licences, hosting and custom work are separate.
