A chemical distributor we were training last week hit a wall that a lot of distributors hit. They sell the same product to several customers, but every customer has a different negotiated price, and each of those prices ties back to a different cost they pay their vendor. Their biggest account buys huge volumes at one rate, the next customer buys the identical product at a higher rate, and a third is different again. Same item, three different economics. How do you set that up in Business Central without making a mess?
The two ways to model it
There are two reasonable approaches, and the right one depends on how the rest of your setup looks.
| Approach | What it means | Trade-off |
|---|---|---|
| Separate item numbers | Create SC9510-BGMU, SC9510-CENTRALCITY, and so on, one distinct item per customer | Clean and obvious to whoever runs a PO, but your item list multiplies (five customers means five items instead of one) |
| Item variants | Keep one item and attach variant codes under it, one variant per customer | Item list stays small, but the item card's cost reflects all variants combined, so you analyze cost at the variant level, not the item level |
With variants, the item stays a single record. You add a sub-table of variant codes (the client chose to name each variant after the customer's Business Central customer code so purchase orders would be easy to read), and then your purchase price list and sales price list can key off item plus variant. Same product, but the cost and price the system suggests depend on which variant you pick on the line.
The question that usually decides it
Here's the deciding factor. If the item also flows to another system, say a project or field-service platform that syncs items with Business Central, variants can complicate that handoff, because variants live in a Business Central item table the other system may not use. In that case separate item numbers are often the safer call, because the item code itself carries the distinction and travels cleanly.
For this client, the customer-priced chemicals never touch their project side. So variants made sense: one item, several variant codes, and the item list doesn't balloon.
Business Central has a per-item option that makes the variant code mandatory once variants exist, so nobody can post a purchase or sale on that item without choosing which customer's variant it belongs to. For contract-priced products, turning that on prevents a costly wrong-price mistake.
Purchase price and sales price are separate
One thing worth being clear on: in Business Central the purchase price list drives cost on purchase documents, and the sales price list drives price on sales documents. They are not linked. The system will happily let you sell something below what it cost you, because it isn't checking one against the other. If you want your customer pricing to track your vendor cost, that's a discipline you build into how you maintain the two lists, not something the software enforces for you.
Both price lists can also key off unit of measure and minimum quantity, so a volume break (buy eight or more, price drops) or an each-versus-case cost difference is straightforward to set up. When no active price list matches, the system falls back to the last direct cost from the most recent purchase of that item, regardless of vendor. Handy to know, because it explains why a brand-new item with no purchase history suggests nothing at all.
A note on keeping it maintainable
Because contract prices reset (this client renegotiates quarterly, and many of theirs are annual bids), tag the variant-priced items so you can filter to just them. A saved filter that shows only items with variants means you're updating a short, known list every quarter instead of scrolling through the whole catalog.
If you're weighing the same decision
Customer-specific contract pricing is common in distribution, and there's no single right answer between separate items and variants. It comes down to how many items are affected, whether they also live in a connected system, and how you want a purchase order to read for whoever's entering it. If you're setting this up and want to talk through which way fits your setup, we're happy to walk through it with you.