TierUp

Wholesale and retail pricing in one Shopify store

Two audiences, two price expectations, one catalogue. The setup is well supported in 2026 — but the part that costs people money is not the setup, it is the point where the two price lists cross.

1. Decide which problem you have first

“Wholesale and retail pricing” describes two different jobs, and using the wrong tool for yours is the most common way to waste a month.

What you needThe tool
Different prices for different people. Trade sees £6, the public sees £10, and the public must never see £6.Native Shopify B2B. Company accounts and catalogs. Free on every paid plan.
Lower prices for larger quantities. Anyone buying a case gets case pricing and you do not mind who they are.Public quantity breaks. Visible to everyone, no account needed.
Both. Contracted stockists on private terms, plus a public offer that rewards bigger baskets.Both, running together. Section 4 is written for you.

2. If you need private trade prices, you already have the tool

This is the part most advice on the subject has not caught up with. Native B2B — company accounts, catalogs with their own pricing, quantity price breaks, net payment terms — stopped requiring Shopify Plus on 2 April 2026. It is included on Basic, Grow and Advanced at no extra cost.

If trade pricing must be invisible to the public, stop reading about apps and go and look under Customers → Companies in your admin. No app can hide a price from the public as cleanly as a B2B catalog can, because the catalog is the mechanism the checkout itself respects.

Two limits worth knowing before you commit: below Plus you get 3 active catalogs, attached through Markets rather than directly to a company, and switching B2B on disables accelerated checkout — Shop Pay, Apple Pay and the rest — along with subscriptions and local delivery. The full plan-by-plan breakdown has the rest.

3. The public half: quantity breaks

A quantity break is the opposite by design. The tier table renders on the product page, the discount applies at checkout, and every shopper sees it — no account, no approval, no login.

That makes it a merchandising tool rather than an account tool. It exists to move someone from two units to three. It is also how a lot of small trade actually happens in practice: the café that buys six bags, the salon that takes a case, the customer who would have been a wholesale account if either of you could be bothered with the paperwork.

One difference that matters if your catalogue is size- or colour-heavy: Shopify’s B2B volume pricing counts per variant, so a mixed-size case never reaches the break. Some storefront apps, ours included, can sum quantities across the variants of one product instead.

4. 🔴 The collision nobody warns you about

Here is the failure. It is arithmetic, it is silent, and it is the reason to read this page rather than a feature comparison.

You sell a product at £10 retail. You have contracted stockists at £6 — a 40% trade discount, agreed, on paper. Then you add a public quantity break to lift average order value:

Public quantityPublic price eachVersus your trade price of £6
1–11£10.00Fine
12+£7.50Fine — still above trade
24+£6.00Collision. The public now buys at your contracted trade price.
48+£5.50Worse. The public beats your stockists.

Nothing errors. No warning appears. Your store is working exactly as configured. What has happened is that your stockist’s exclusivity is now public, and the first time they notice, the conversation is not about pricing, it is about trust. Some trade agreements make this an actual breach.

The rule, in one line: your deepest public tier must stay above your lowest trade price. If they cross, you have two honest options — raise the public floor, or move trade pricing into a B2B catalog where the public cannot reach it at any quantity.

5. Setting the boundary deliberately

  1. Write down your real trade floor first. Not the list price — the lowest per-unit price any customer is contractually entitled to.
  2. Set the deepest public tier above it, with headroom. A public floor at £7 against a £6 trade price keeps the trade relationship worth having.
  3. Put the public break where retail actually buys, not where trade buys. A break at 3 or 6 units moves far more orders than one at 48, and it stays nowhere near your trade floor.
  4. Check the margin at the deepest tier. That is the one your best customers will live on, which is the opposite of how a seasonal discount behaves.
  5. Decide stacking on purpose. A public tier price that also accepts the newsletter code is a second, unplanned discount on your thinnest margin — what combines and what doesn’t covers the rules.

6. Where each tool stops

Said plainly, because installing the wrong one wastes your afternoon.

7. Before you launch it

  1. Open a private window and buy at your deepest public tier. Check the price you are actually charged at checkout, not on the product page.
  2. Sign in as a test company buyer and confirm the trade price applies and the public tiers do not undercut it.
  3. Confirm the public never sees a trade price anywhere — product page, search results, structured data, your sitemap.
  4. Place one real order on each side and check both landed with the right price on the order itself.

Keep reading

Shopify B2B vs wholesale pricing covers which plan gives you what since the April 2026 change. Wholesale pricing on Shopify goes deeper on how far public quantity breaks get you toward trade pricing, and why a discount isn’t applying at checkout is the diagnostic order when one side stops working.