How to sell wholesale products in WooCommerce
WooCommerce can sell products to wholesale buyers, but it does not provide a complete wholesale system in its core settings. You need a plugin for buyer roles, hidden products, tiered prices, minimum quantities and bulk ordering; manual product duplication only suits simple catalogues.
- 01Define your wholesale rules
- 02Choose the manual or plugin route
- 03Create wholesale customer roles
- 04Add prices and quantity breaks
- 05Set order and catalogue controls
- 06Test the complete buying journey
- 07Use a wholesale plugin for speed
What you need
- A WooCommerce store with products and stock configured
- Administrator access to WordPress
- Your wholesale price list and minimum order rules
- A test wholesale customer account
Define your wholesale rules
Write down which customers qualify, which products they can buy, whether wholesale prices apply per product or by category, and whether the price changes at quantity breaks. Also decide your minimum order quantity, case-pack sizes, tax treatment, shipping method and payment options.
Do this before entering prices. A common Friday-afternoon failure is overlapping rules, such as a role discount and a coupon both reducing the same order when you intended only one discount.
Choose the manual or plugin route
For a very small catalogue, the manual route is to create separate wholesale products or case-pack variations, use normal WooCommerce prices, and approve wholesale customers yourself. This works when every buyer sees the same fixed pack prices and you do not need private products or automatic role-based pricing.
WooCommerce does not provide a complete wholesale workflow in its core product settings. Role-based prices, quantity tiers, minimum quantities, visibility controls and bulk-order tools are normally added by a wholesale extension. Official WooCommerce documentation describes these as features of wholesale extensions rather than standard WooCommerce settings.
Create wholesale customer roles
Install and activate a wholesale extension, then create roles such as Wholesale Customer, Dealer and Distributor if your price lists differ. Decide whether customers receive a role after manual approval or request access through a registration form.
Do not give every wholesale buyer the same WordPress role unless they genuinely share the same prices and permissions. Check the role while logged in as a test customer, because administrators can see prices and products that ordinary buyers cannot.
Add prices and quantity breaks
Configure a fixed wholesale price or a percentage discount for each role, then add product-level rules where margins differ. For tiered pricing, enter the minimum and maximum quantity, or the minimum quantity and resulting price, for each break. Typical tiers might be 1–9 units, 10–49 units and 50 or more.
Apply rules at global, category or product level only when the priority is clear. Wholesale documentation commonly supports global, category and product pricing, with more specific product rules taking precedence over broader rules.
Set order and catalogue controls
Set minimum and maximum quantities where required, and use quantity increments for products sold by the case. Hide wholesale-only products from guests or retail customers if they should not appear in the public catalogue. If your extension supports it, show a price table on the product page so buyers can see the quantity needed for each tier.
Check variable products separately. Pricing rules may need to be assigned to each variation, and some extensions do not bulk-edit variation prices. Also review shipping, tax, coupons and payment methods: a correct product price can still produce an incorrect wholesale total at checkout.
Test the complete buying journey
Create separate test accounts for a guest, retail customer and each wholesale role. Check the shop, product page, variation selector, cart, checkout, order email and order administration screen for each account.
Test quantities just below, at and above every break. Confirm that the displayed unit price, line subtotal and order total agree. A recurring support issue is that the product page shows the normal price while the cart applies the wholesale price, so test both screens rather than relying on the cart alone.
Use a wholesale plugin for speed
For a store serving both retail and B2B buyers, WholesaleX Pro is the faster route than maintaining duplicate products or custom pricing code. It is designed to combine wholesale roles, tiered pricing, bulk ordering and inventory tools in one WooCommerce workflow.
Install the plugin from Plugins → Add New → Upload Plugin, activate it, then configure roles, pricing rules, quantity limits and visibility settings. Import or enter a small set of prices first, test the full customer journey, and only then roll the rules out across the catalogue.
Let WholesaleX Pro do it
Combines wholesale roles, tiered pricing, bulk ordering, and inventory tools for stores serving both B2B and retail buyers.
Sources
- woocommerce.com /document/wholesale/wholesale-for-woocommerce/?utm_source=op…
- woocommerce.com /document/wholesale/wholesale-for-woocommerce/store-owners-g…
- woocommerce.com /document/b2b-for-woocommerce/?utm_source=openai
Questions
- Can WooCommerce sell wholesale products without a plugin?
- Yes, but only in a limited manual form. You can create separate products or case-pack variations with fixed prices and approve customers yourself. WooCommerce core does not provide a complete system for role-based prices, quantity tiers, wholesale-only visibility and minimum order rules, so a plugin is normally needed for a proper wholesale catalogue.
- How do I give wholesale customers different prices?
- Create a wholesale customer role with a wholesale pricing extension, then assign a fixed price or discount to that role. Add product-level or category-level exceptions where needed. Test while logged in as the wholesale customer, because the administrator view may not match what the customer sees.
- How do I add tiered wholesale pricing by quantity?
- Create several quantity rules for the wholesale role, with a minimum quantity and the price or discount that applies at that level. Test the quantity immediately below, at and above each break. If the rules overlap, check the extension's priority settings so the intended tier wins.
- Can I hide wholesale products from retail customers?
- Yes, a wholesale extension can usually hide selected products, prices or the Add to cart button from guests and retail roles. Configure visibility separately from pricing, then test with a logged-out browser and a normal retail account. Do not assume that hiding a product also prevents direct access to its URL.
- Why does wholesale pricing work in the cart but not on the product page?
- The product page and cart can use different pricing and display logic, especially with variable products, caching or theme customisations. Clear page and object caches, check the role and variation rules, and test with the default WooCommerce templates if necessary. The cart total is not enough proof that the displayed product price is correct.