Contents
Handling customer-specific pricing means writing clear rules (price list, family discount, net price, quantity break, promotion) and a priority order between them. A custom pricing engine, built into a portal or ordering app, usually costs $6,800 to $22,400 (€6,000–€20,000)excl. VAT depending on the number of rules and the ERP connection.
At a wholesaler, two customers almost never pay the same price. Price list, discount on a product family, net price negotiated on fifty SKUs, quantity breaks, this month’s promotion, free shipping above a certain amount: each condition has its own logic, and the way they combine ends up in the heads of a few people. Here is how to model this complexity in software, without simplifying it so much that you lose margin.
The types of rules to model
| Rule | Example | Watch out for |
|---|---|---|
| Price list | List A for resellers, list B for installers | One list per customer, or per group |
| Family discount | 12% on tools, 5% on hardware | An up-to-date family hierarchy |
| Customer net price | Negotiated price on a list of SKUs | Start and end dates |
| Quantity break | Lower price from 10, 50, 100 units | Per line or per order |
| Promotion | Temporary discount on a selection | Stackable or not |
| Free shipping threshold | Free delivery above an amount | Per customer or per area |
| Minimum order | Minimum amount or quantity | Block or just warn |
| Payment terms | 30 days end of month, credit limit | Link with accounting |
The figures in this example are made up. Your real list is built during scoping, from your files and contracts.
The priority order is the real issue
Having the rules is not enough: you need to know which one wins when several apply. A common order looks like this:
- the customer net price overrides everything else;
- otherwise, start from the customer’s price list;
- apply the family discount;
- then the quantity break;
- the promotion applies if it gives a better price, or stacks, depending on your policy.
An illustrative example, with made-up amounts to replace with your own: a product at $120 (€100)excl. VAT on list B, with a 12% family discount and a 5% quantity discount, comes to 100 × 0.88 × 0.95 = €83.60excl. VAT. If there is a promotion at $100 (€85)excl. VAT, the “best price” rule keeps €83.60excl. VAT, while a “stacking” rule gives a different result. The tool must apply your choice and explain it.
I always recommend showing the sales rep, and sometimes the customer, how the price was calculated. It prevents disputes and surfaces configuration errors.
What off-the-shelf tools can do
E-commerce platforms handle B2B better and better, but with limits worth checking. On Shopify, assigning a catalog to a specific company, which enables per-customer pricing, is limited to the Plus plan, and other plans are limited to three active B2B catalogs, according to the page on B2B features by plan (checked October 2026). On WooCommerce, the B2B Pricing extension offers fixed prices, discounts and quantity tiers by customer role (checked October 2026).
For one or two price lists and a few discounts, these tools are enough. When every customer has net prices, discounts combine and the ERP must receive the exact price of each line, a dedicated pricing engine is more reliable than a stack of extensions.
Where to put the pricing engine
Three options, chosen during scoping:
- In the ERP, if it can express all your rules: the portal simply reads the calculated prices.
- In the app, if the ERP is limited: the tool calculates and sends the final price to the ERP.
- Hybrid: the ERP keeps price lists and net prices, the app adds promotions and quantity breaks.
The engine is then used everywhere: the wholesaler ordering portal, the order-taking app for sales reps, quotes.
Budget and timelines
These ranges exclude VAT and are based on my public price list.
| Scope | What it includes | Indicative budget | Timeline |
|---|---|---|---|
| Pricing engine and admin | Rules, priorities, back office to manage terms | $6,800 to $13,500 (€6,000–€12,000)excl. VAT | 1 to 2 months |
| Engine built into an ordering tool | The above + portal or ordering app, history | $13,500 to $22,400 (€12,000–€20,000)excl. VAT | 2 to 3 months |
| Engine connected to the ERP | Sync of price lists and net prices, order transfer | $22,400 (€20,000)excl. VAT and up | 3 to 5 months |
The estimator gives you a range based on the building blocks you choose.
When it is not the right choice
- Simple terms. Two or three price lists with no exceptions: your ERP or an off-the-shelf B2B store is enough.
- A pricing policy that needs rethinking. If nobody knows why a customer has a given price, the tool will only freeze the mess. Simplify first.
- An ERP that already handles everything. Do not rebuild a pricing engine next to it: just read its results.
Where to start
- A 30-minute call (free) to understand your terms and tools.
- Scoping (1 to 2 weeks): inventory of rules, priority order, real test cases, fixed quote.
- Clickable mockups of terms management and price display.
- Development in batches, each rule checked against real orders.
- Go-live, training, three months of included support.
To learn more about how I work, see the business apps page.
Frequently asked questions
What if a customer discount and a promotion apply to the same product?
That is a commercial decision to put in writing: the better of the two, stacking, or priority to the net price. The tool then applies the rule without exception, and shows the sales rep how the price was calculated.
Should prices stay in the ERP?
If your ERP already handles your pricing properly, yes: the portal reads prices and does not recalculate them. If the ERP cannot express your rules, the pricing engine can live in the app, which then sends the ERP the final price of each line.
How do we make sure a customer never sees another customer’s prices?
Each price is calculated on the server for the logged-in customer, never sent in bulk to the browser. Access rights are checked on every request, and automated tests verify this separation.
How long does it take to formalize our terms?
Depending on the state of your files, from a few days to two weeks during scoping. It is often the most useful step of the project, because it surfaces the exceptions nobody had written down.