Short answer. You manage customer-specific pricing and volume tiers by capturing the pricing logic in one place: per customer, item and quantity, with a fixed order in which agreements take precedence over tiers and standard prices. When your package cannot handle that, you build a layer that puts the correct price and margin on the order automatically.
In wholesale, almost no customer pays the same price. One has an annual agreement, another a volume tier starting at 500 units, a third a net price that was once promised by email and never properly recorded anywhere. That is not a mess you need to clean up, that is how the trade works. The problem is that this logic usually lives in Excel and in someone's head, not in the system that processes the order.
Why price agreements and volume tiers end up in Excel
Standard packages cover the happy path. An item has a sales price, a customer gets a fixed discount percentage, done. The moment you have three dimensions at once, customer, item and quantity, plus exceptions per order line, it grinds to a halt. Exact Online links a customer to exactly one price list at a time. AFAS Profit explicitly advises against mixing volume prices and volume discounts, because it causes confusion. Those are not flaws in those packages, they are choices that keep the model simple.
Your reality is not simple. So the salesperson builds a spreadsheet, because that can hold anything. And that is where the real problem starts: the price on the order no longer comes from the system, but from a file that nobody checks.
What you actually want to achieve
The goal is not "less typing". The goal is control. You want the price on every order line to be correct without anyone having to consult a spreadsheet, and you want to be able to see afterwards what margin you actually made per customer and per item. That second part is what is almost always missing in Excel-based pricing. You grant a volume discount, but you do not factor in the purchase price, the freight costs and the payment discount, so you only find out at year-end whether that customer made you any money.
If your pricing logic sits separately from your order processing, you cannot reliably attribute margin. That is the core of it.
First review the process, then build
Before I build anything, I lay out all the price agreements side by side. In practice, a fair share of those agreements have grown historically and are no longer needed. A tier that was once created for a single customer and now applies to no one. Three discounts that overlap and effectively do the same thing. A "special price" that is exactly equal to the standard price.
That is a deliberate step, not an excuse to do nothing. The fewer rules you keep, the simpler the logic you lock down afterwards, and the less there is that can break. Often half of the Excel rules go overboard here. What remains is the real pricing logic, and that one does have to be correct.
Locking down the pricing logic in a fixed order
Pricing is ultimately a decision tree. For every order line you answer the same questions in the same order:
- Is there a customer-specific agreement for this item? That always takes precedence.
- Does a volume tier apply based on the quantity ordered? Determine the correct step.
- Does the customer belong to a group with its own price list?
- None of the above? Then the standard sales price.
Once that order is explicit, it can also be automated. Many packages can handle part of this, and if your situation fits within the price and discount modules of Business Central or AFAS, you should simply use them. A tool like Picqer handles price lists per customer group just fine.
When a standard package falls short
The standard package covers the happy path. It does not cover your exceptions, and it does not cover cost attribution. That is where I build a layer in between.
Concretely: a service that applies the pricing logic on every order in the agreed order, pulls in the correct purchase price and additional costs, and so writes away not just the sales price but also the margin per line. The Excel agreements that survived the clean-up become the source, read in and validated, so that a typo does not quietly end up in an order. The salesperson sees the correct price without searching, and at the end of the month you see which customer delivers margin and which does not.
That is the difference between a price that happens to be on the order and a price you can account for.
Frequently asked questions
How do I set up volume discounts for a wholesale business?
You define multiple steps per item, where each step is a new minimum quantity at which a discount or fixed price applies. Use volume prices or volume discounts, not both at once, because that creates duplicate logic and confusion about which price is leading on the order line.
Can I set different prices per customer?
Yes. Per customer or customer group you link a dedicated price list, and within that you can record a deviating price or net agreement per item. The order matters: a customer-specific agreement should always take precedence over a tier or standard price, otherwise the system calculates the wrong price.
Why don't my price agreements fit in my ERP?
Because most packages handle one dimension well at a time, while your agreements combine customer, item and quantity, often with exceptions per order. That falls outside the standard model, so it ends up in Excel. An intermediate layer that applies the logic to the order solves that without replacing your package.
How do I keep sight of my margin with customer-specific pricing?
By calculating and writing away not only the sales price but also the purchase price and additional costs on every order line. As long as your prices sit in Excel, separate from your order processing, you cannot attribute margin per customer and you only see the result afterwards in the year-end figures.
Further reading
- Wholesale systems that don't talk to each other
- Accounts receivable and credit limits in B2B
- Inventory across multiple locations
I am Ricardo Theijs of RNT Projects. I have personally run cross-border trade with purchasing across many suppliers for years, with a background in enterprise process management. I build the systems where standard packages fall short, and I tell you honestly when that is not necessary.
Running into this yourself?
I review your process and build the solution where a standard package falls short. Remote, with visible results in two weeks.
Let's talk