A retail store has one price per product. A wholesale operation does not. The same item might sell at full price to the public, at a 30% trade discount to a registered reseller, then at an even lower unit cost once an order crosses a case quantity. WooCommerce can model all of that, but the core platform gives every shopper the same number, so the flexibility comes from a layer you add on top.
This guide walks through the building blocks in the order you should think about them: customer roles first, then the pricing logic that hangs off those roles, then practical details like hidden retail prices plus the choice between percentage tiers or fixed ones. If you sell to other businesses, it pairs with our deeper overview of WooCommerce for B2B and wholesale, which covers the wider store setup around pricing.
Start With User Roles: The Foundation
Every pricing strategy for trade buyers rests on one WordPress concept: the user role. A role is a label attached to an account that controls what that account can see plus do. WordPress ships with roles like Customer, Subscriber, plus Administrator. For wholesale, you create a dedicated role, commonly named something like Wholesale Customer.
The role matters because it is the hook your pricing rules attach to. When a buyer logs in, WooCommerce knows their role, so any rule that says "show this price to wholesale accounts" has a reliable signal to act on. Without a distinct role, there is no clean way to tell a reseller apart from a member of the public. This is why wholesale stores gate trade pricing behind an approved account: a guest sees retail, while a buyer in the wholesale role sees their negotiated rates. The role is the switch between those two experiences.
Role-Based vs Quantity-Based Pricing
There are two distinct ways to vary a price, plus most serious B2B stores use both together.
Role-based pricing changes the price according to who the customer is. A Wholesale Customer sees one figure; a regular shopper sees another. The discount travels with the account, so it applies the moment that buyer is recognized, regardless of how much they purchase.
Quantity-based pricing changes the price according to how much the customer buys. Order ten units at one rate, fifty units at a lower rate, two hundred at a lower rate still. This is the classic bulk discount, sometimes called break pricing because the cost "breaks" downward at set quantities.
Combined, these give you the model most wholesalers actually run: the wholesale role unlocks the trade catalog with a baseline discount off retail, then quantity tiers reward larger orders on top of that. A reseller gets their trade price for buying at all, plus an extra saving for buying in volume.
How Wholesale Tiers Work
A pricing tier is a rule that says: at this quantity, charge this amount. A simple tier table for a single product might look like this:
- 1 to 9 units: retail price applies
- 10 to 49 units: 15% off per unit
- 50 to 199 units: 25% off per unit
- 200 or more units: 35% off per unit
Each row is a tier. As the cart quantity climbs past a threshold, the next tier takes over, so the buyer automatically gets the better unit price. Good pricing tools display this table on the product page so the buyer can see the next break, which nudges larger orders.
You can scope tiers at different levels: a single product, a whole category, or the entire cart. Cart-level tiers are powerful for wholesale because a reseller buying a mixed pallet still earns a volume discount even though no single product hits a threshold on its own. Tiers can also be restricted by role, so a table that only activates for the Wholesale Customer role keeps the public from triggering trade discounts by simply adding more to their cart. This is where role-based logic plus quantity-based logic meet in a single rule.
Hiding Retail Prices From Wholesale Customers
When a reseller logs in, showing them the retail price next to their wholesale price creates confusion, plus it can leak your margin structure. Most wholesale tooling handles this by replacing the displayed price entirely for users in the wholesale role, so the trade buyer sees only their rate.
Some stores go further by hiding all prices, even the add-to-cart button, until a visitor logs in. This "catalog mode for guests" approach suits cases where you do not want the public to see trade pricing at all: a guest reads product descriptions, but must request an account to see numbers. Keep the price hiding conditional on the wholesale role rather than site-wide, so your retail storefront stays fully shoppable. The goal is two parallel experiences from one catalog: open retail for the public, gated wholesale for approved accounts.
Percentage Tiers vs Fixed-Price Tiers
When you define a discount, you choose how it is expressed, plus that choice has real consequences at scale.
Percentage tiers apply a proportional cut, such as 20% off, across whatever products the rule covers. The big advantage is maintenance. One rule of "wholesale role gets 25% off everything" scales across thousands of products without any per-item work, plus it stays correct when you change a retail price because the discount recalculates automatically.
Fixed-price tiers set an exact figure, such as $14.00 per unit at the wholesale rate. The advantage is precise margin control. On a product with a thin margin, a flat percentage discount might erase your profit, so you override that item with a fixed wholesale price you know is safe.
Most well-run stores use a hybrid: a percentage discount as the catalog default, then a handful of margin-sensitive products carrying a fixed wholesale price that overrides it. You get the low maintenance of percentages everywhere it is safe, plus the protection of fixed prices everywhere it is not.
The Plugin Categories That Make This Work
Core WooCommerce will not do any of the above on its own. You reach for one of two plugin categories, plus sometimes both.
Dynamic pricing engines focus on the rules. They let you build conditional pricing logic: quantity tiers, category discounts, cart-level breaks, role restrictions, plus scheduled sales. If your need is mainly about flexible bulk pricing or complex discount conditions, this is the category to look at.
Wholesale plugins focus on the B2B experience as a whole. Alongside role-based pricing, they typically add wholesale registration forms, account approval workflows, hidden retail prices, tax-exemption handling, plus minimum-order rules. If you are running a genuine trade channel rather than just offering bulk discounts, a wholesale plugin gives you the surrounding machinery.
The two categories overlap, so many stores run a single plugin that covers most needs, while larger operations sometimes pair a wholesale plugin for the account side with a dynamic pricing engine for the discount logic. Choose based on where your complexity lives: in the buyers, or in the pricing math.
Getting the Setup Right
Wholesale pricing touches more of your store than it first appears. Tax handling, shipping rules, payment methods, plus the checkout flow often all need adjusting for trade accounts. A pricing plugin that fights your theme or conflicts with another extension can break the cart in hard-to-trace ways, which is why testing every tier on a staging copy matters before it touches live customers.
This is the kind of work our team handles regularly. If you want a wholesale channel built correctly the first time, our WordPress development service can scope the roles, the tiers, plus the plugin stack around your actual catalog. We also run the managed hosting underneath, so a heavier B2B store stays fast as your order volume grows.
Frequently Asked Questions
Does WooCommerce support wholesale pricing out of the box?
Not directly. Core WooCommerce gives every customer the same catalog price, so it has no built-in concept of a wholesale rate tied to a customer account. You add that capability with a wholesale plugin or a dynamic pricing engine, which layers role-based or quantity-based rules on top of the standard product price.
What is the difference between role-based and quantity-based pricing?
Role-based pricing sets the price by who the customer is. A logged-in wholesale account sees a wholesale rate, while a guest sees retail. Quantity-based pricing sets the price by how much they buy, so the unit cost drops once an order crosses a defined threshold. Many B2B stores combine both: a wholesale role unlocks the trade catalog, then bulk tiers reward larger orders.
How do I hide retail prices from wholesale customers?
Most wholesale plugins can replace the retail price with the wholesale price for users in a wholesale role, so the original figure is never shown to them. You can also gate the whole catalog behind a login, which forces trade buyers to sign in before any price appears. That keeps your wholesale rates private from the public-facing retail audience.
Should wholesale tiers be a percentage or a fixed amount?
Percentage discounts scale cleanly across a large catalog because one rule applies to every product regardless of its price. Fixed prices give you exact control over margin on specific items, which matters when certain products have thin margins. Many stores use a percentage default, then override individual products with a fixed wholesale price where the margin needs protecting.
Can WooCommerce handle tax-exempt wholesale orders?
Yes. WooCommerce supports tax classes plus per-customer tax settings, so a wholesale role can be marked tax-exempt where the law allows it. Pair that with a process for collecting resale certificates, since the exemption is a compliance matter rather than a purely technical one.
Build Your Wholesale Channel the Right Way
Role-based pricing, layered tiers, hidden retail prices: each piece is straightforward on its own, yet they have to fit together cleanly for a trade channel to run without friction. If you would rather hand that to a team that has built it before, we can plan, build, then host the whole setup for you.
Book a free call to map your wholesale pricing onto WooCommerce, or read the full B2B and wholesale guide for the bigger picture.
Related reading: WooCommerce for B2B and Wholesale • WordPress Development • Managed WordPress Hosting