Running a wholesale business used to mean separate systems, custom quotes, and endless back-and-forth emails. WooCommerce changes that. With the right setup, you can offer tiered pricing, enforce minimum order quantities, gate products behind approved accounts, and accept quote requests – all from one store.
This guide walks through every layer of a WooCommerce B2B wholesale setup: from basic role-based pricing to advanced plugin comparisons and a practical configuration checklist. Whether you are converting an existing retail store or building a dedicated wholesale channel from scratch, you will find a clear path here.
Why WooCommerce Works for B2B Wholesale
WooCommerce is often seen as a retail platform, but its flexibility makes it one of the strongest foundations for B2B wholesale stores as well. A few reasons why it fits wholesale workflows:
- User roles and capabilities can be extended to create distinct buyer tiers (retail, wholesale, distributor)
- Pricing can be set per product, per category, or per user role
- Cart rules, minimum quantities, and order restrictions are manageable through plugins or custom logic
- The REST API supports integrations with ERPs and order management systems
- A single store can serve both retail and wholesale customers with different views and prices
The trade-off is that most B2B features are not built into WooCommerce core. You will need either a dedicated plugin suite or targeted individual plugins to fill the gaps. That is what the rest of this guide covers.
Core Features Every WooCommerce B2B Store Needs
Before picking a plugin, it helps to map out the features your wholesale store actually requires. Here are the essentials most B2B operations depend on:
Role-Based Pricing
Role-based pricing lets you show different prices to different customer groups. A retail visitor sees the standard price. An approved wholesale buyer sees their negotiated rate. A VIP distributor gets an even deeper discount. All of this is managed through WooCommerce user roles assigned during account approval or registration.
Role-based pricing is the foundation of any B2B setup. Everything else layers on top of it.
Tiered and Volume Discounts
Tiered pricing rewards larger orders. A buyer purchasing 10 units pays one rate. The same buyer ordering 50 units gets a better rate automatically. This structure incentivizes higher order volumes without requiring manual negotiation every time.
Common tiered discount structures in wholesale:
| Quantity Range | Discount | Example Price (per unit) |
|---|---|---|
| 1 – 9 | 0% | $50.00 |
| 10 – 24 | 10% | $45.00 |
| 25 – 49 | 18% | $41.00 |
| 50 – 99 | 25% | $37.50 |
| 100+ | 32% | $34.00 |
These tiers can be set globally, per product category, or per individual product depending on the plugin you use.
Minimum Order Quantities
Wholesale orders typically carry a minimum to make fulfillment economical. You can set minimum quantities at the product level (must order at least 12 of SKU X) or at the cart level (total order must be at least $500 or 50 units). Both approaches are supported by B2B plugins, and many let you combine them.
Quote Requests
Some wholesale relationships start with a quote rather than a direct purchase. A buyer adds products to a quote cart, submits the request, and a sales rep responds with negotiated pricing. The accepted quote then converts into an order. This workflow is common in manufacturing, distribution, and large-volume B2B.
Customer Registration Approval
You probably do not want just anyone signing up as a wholesale customer. An approval workflow lets new registrants submit their business details, and an admin reviews and approves (or rejects) the account. Approved users are assigned a wholesale role automatically. This keeps your wholesale pricing protected.
Hide Prices from Guests or Retail Customers
For trade-only stores, you may want to hide prices or the add-to-cart button from anyone who is not logged in or not assigned a wholesale role. This is often combined with a registration prompt or a contact form to start the account approval process.
Top B2B Plugins for WooCommerce
Three plugins dominate the WooCommerce B2B wholesale space. Here is a side-by-side look at what each offers.
WooCommerce Wholesale Suite
Wholesale Suite is a bundle of three plugins: Wholesale Prices Premium (pricing and discounts), Wholesale Order Form (streamlined ordering interface), and Wholesale Lead Capture (registration and approval). It is the most modular option, letting you buy only what you need.
Key strengths of Wholesale Suite:
- Role-based pricing with multiple wholesale tiers out of the box
- Per-product and per-variation wholesale prices
- Wholesale-specific shipping methods and payment gateways
- Tax exemption controls per role
- A dedicated order form page that makes bulk ordering faster for buyers
- Strong compatibility with most WooCommerce extensions
Wholesale Suite pricing starts around $148 per year for the full bundle. It is the go-to choice for stores that need reliable, well-documented B2B features without custom development.
B2BKing
B2BKing takes an all-in-one approach. A single plugin handles wholesale pricing, tiered discounts, quote requests, minimum orders, custom registration forms, account approval, dynamic rules, and more. It is arguably the most feature-complete single plugin in this space.
Key strengths of B2BKing:
- Dynamic pricing rules based on user, role, product, category, or any combination
- Built-in quote system with quote-to-order conversion
- Conversation/messaging between buyer and admin
- Custom registration fields and approval workflow
- VAT/tax exemption with validation
- Minimum order amounts and quantities per role
- Product visibility control by user group
B2BKing is sold on CodeCanyon at a one-time price (around $149), making it attractive for stores that want a comprehensive toolkit without annual renewals.
Wholesale for WooCommerce (by WP Overnight)
Wholesale for WooCommerce offers a lighter-weight approach compared to the other two. It handles the core use case well: adding wholesale user roles, setting role-based prices, and displaying the right price to the right customer. It is a solid choice for stores with simpler requirements that do not need quote workflows or complex rule engines.
Key strengths:
- Clean, minimal interface – easy to configure
- Multiple wholesale roles with different price levels
- Tiered pricing per product
- Compatible with variable products and product bundles
- Good value for smaller wholesale operations
Plugin Comparison: Which One Fits Your Store?
| Feature | Wholesale Suite | B2BKing | Wholesale for WooCommerce |
|---|---|---|---|
| Role-based pricing | Yes | Yes | Yes |
| Tiered / volume discounts | Yes | Yes | Yes |
| Quote requests | No (separate plugin) | Yes (built-in) | No |
| Registration approval | Yes (Lead Capture) | Yes | Limited |
| Min order qty / amount | Yes | Yes | Yes |
| Product visibility by role | Yes | Yes | Partial |
| Dynamic pricing rules | Moderate | Advanced | Basic |
| Tax exemption | Yes | Yes | Limited |
| Pricing model | Annual ($148+) | One-time ($149) | Annual (varies) |
| Best for | Mid-size wholesale | Complex B2B needs | Simple wholesale |
Step-by-Step: Setting Up WooCommerce B2B Wholesale
The following steps use WooCommerce Wholesale Suite as the example, but the concepts apply across all three plugins.
Step 1: Install and Activate Your Plugin
Purchase and download your chosen plugin from its official source. Upload via Plugins – Add New – Upload Plugin, or install via your preferred method. Activate all components (for Wholesale Suite, activate Wholesale Prices Premium first, then the other modules).
Step 2: Create Wholesale User Roles
After activation, navigate to WooCommerce – Wholesale Roles (or the equivalent in your plugin). You will typically find a default “Wholesale Customer” role already created. You can add additional tiers – for example “Distributor” or “VIP Wholesale” – each with its own pricing multiplier or fixed discount.
For each role, configure:
- Role name (shown to admins, not customers)
- Default discount percentage or multiplier
- Whether this role gets tax-exempt treatment
- Whether this role sees wholesale-only payment methods or shipping rates
Step 3: Set Prices Per Product
Open any product in the editor and scroll to the Product Data panel. With your wholesale plugin active, you will see new pricing fields for each wholesale role. Enter the wholesale price for that product. For variable products, you can set wholesale prices per variation.
For large catalogs, bulk price imports via CSV save significant time. Wholesale Suite includes a bulk import tool. B2BKing supports dynamic rules that can apply discounts across an entire category without setting prices product by product.
Step 4: Configure Tiered Pricing
Within each product (or via global rules in B2BKing), set up quantity-based pricing tiers. Define the quantity break points and the corresponding price or percentage. Once saved, a buyer who adds more units to their cart will automatically see the price update to reflect the appropriate tier.
Test this in a private browser window after logging in with a wholesale test account. Verify that the tier table displays correctly and that cart totals calculate properly at each threshold.
Step 5: Set Minimum Order Quantities
For product-level minimums, set the minimum quantity field in the product editor. For cart-level minimums (minimum total spend or total units), configure these in the plugin’s global settings. Most plugins let you show a notice when the minimum is not met and block checkout until it is reached.
Keep your minimum order messaging clear. Customers should see exactly what they need to add before they can check out, not a vague error after clicking the checkout button.
Step 6: Set Up the Registration and Approval Workflow
Enable the wholesale registration form (Wholesale Suite’s Lead Capture module, or B2BKing’s built-in registration). Configure the fields you need: company name, business type, tax ID, estimated monthly spend, whatever qualifies a buyer in your business.
Set the default new account status to “pending.” When an admin reviews and approves the account, the user role changes automatically to the appropriate wholesale tier. Configure the automated emails for each status change (pending, approved, rejected) so applicants always know where they stand.
Step 7: Configure Quote Requests (If Needed)
If your B2B workflow involves negotiated pricing, enable the quote system. In B2BKing, this means enabling the quote module and assigning which roles can submit quotes. Create the quote page (most plugins generate this automatically during setup).
The buyer flow looks like this: browse products, add to quote cart instead of regular cart, review the quote list, submit. The admin receives a notification, adjusts prices if needed, and sends back the quote. The buyer accepts and converts to an order with one click.
Step 8: Control Product and Price Visibility
Decide what guests and retail customers can see. Options include:
- Show products but hide prices – replace the price with a “Login for wholesale pricing” message
- Hide the add-to-cart button for non-wholesale users
- Hide specific products or categories entirely from non-wholesale accounts
- Redirect guests who try to access wholesale pages to a registration or login page
Your approach depends on whether you run a trade-only store or a hybrid retail/wholesale store. Both models are achievable in WooCommerce.
Running a Hybrid Retail and Wholesale Store
Many WooCommerce stores serve both retail and wholesale customers from the same installation. This is one of WooCommerce’s practical strengths – no need for two separate stores.
To make a hybrid store work cleanly:
- Use separate product categories or a wholesale-specific category filter so B2B buyers can find bulk SKUs easily
- Set up wholesale-only shipping methods (free freight over a threshold, for example) that retail customers do not see
- Offer wholesale-only payment terms like Net 30 or purchase order payment, while retail customers use standard gateway options
- Keep the registration and pricing logic separate by role – retail customers never see wholesale fields
One practical consideration: if your retail and wholesale pricing differ significantly, avoid showing both prices on the same product page to retail visitors. It creates customer confusion and can undermine your retail margins.
Tax Handling for Wholesale B2B Customers
Tax exemption is a common requirement for wholesale buyers. Most B2B buyers purchase for resale and are tax-exempt in their jurisdiction. WooCommerce handles tax exemption through zero-rate tax classes, and wholesale plugins can assign specific tax classes to wholesale roles automatically.
For US stores selling to tax-exempt resellers:
- Create a zero-rate tax class in WooCommerce – WooCommerce – Settings – Tax
- Assign wholesale user roles to use this zero-rate class by default
- Optionally collect resale certificates during registration (B2BKing includes a field for this)
- Keep records of exemption certificates in your admin – some plugins store these as order meta
EU stores dealing with intra-community VAT exemptions should look for plugins that handle VAT ID validation (VIES) during registration. B2BKing includes this. Wholesale Suite requires an add-on. If your wholesale operation spans multiple countries, setting up WooCommerce multi-currency for international sales alongside your wholesale pricing rules gives buyers accurate pricing in their own currency.
Payment Terms and Credit Accounts for B2B
Retail stores expect immediate payment. Wholesale relationships often run on terms – Net 15, Net 30, or even Net 60. WooCommerce does not handle payment terms out of the box, but two approaches work well. Before deciding, it helps to review the best WooCommerce payment gateways to understand which support deferred payment flows natively:
Purchase Order Payment Gateway
A purchase order payment gateway adds a “Pay by Purchase Order” option at checkout. The buyer enters their PO number, and the order is placed without an immediate payment transaction. Your accounts team invoices them separately. Several free and premium plugins offer this, including WooCommerce Purchase Order by Barn2 Plugins.
Store Credit or Credit Limit
Some B2B setups give approved buyers a credit limit they can draw against. When they check out, the amount is deducted from their available credit. Their account shows the balance, and your team replenishes credit on payment. This approach keeps everything inside WooCommerce rather than managing it externally. Plugins like WooCommerce Account Funds or B2BKing’s credit system support this model.
Shipping Configuration for Wholesale Orders
Wholesale shipping often looks different from retail shipping. Common wholesale shipping setups:
- Free freight over a minimum order value (e.g., orders over $500 ship free)
- Flat-rate shipping for smaller wholesale orders below the free freight threshold
- Freight carrier quotes via a rate-shopping plugin (ShipStation, WooCommerce Shipping, or similar)
- Local pickup or dock delivery for nearby accounts
WooCommerce shipping zones handle geographic segmentation. Wholesale Suite lets you assign shipping methods specifically to wholesale roles, keeping them invisible to retail customers. Set this up in WooCommerce – Settings – Shipping alongside your plugin’s role configuration.
ERP and Inventory Integration
At scale, wholesale operations need WooCommerce to talk to inventory management or ERP systems. Common integration points:
- Real-time inventory levels synced from your warehouse to WooCommerce
- Order data pushed to your ERP for fulfillment and invoicing
- Customer account data (credit limits, payment terms) pulled from your CRM or ERP into WooCommerce
WooCommerce’s REST API makes most of this achievable with middleware tools like Zapier, Make (formerly Integromat), or a direct API integration. For heavier workflows, dedicated WooCommerce ERP connectors exist for systems like Sage, QuickBooks, and NetSuite.
Performance Considerations for Large Wholesale Catalogs
Wholesale stores often carry large catalogs with many variations and complex pricing rules. A few performance considerations specific to B2B WooCommerce setups:
- Dynamic pricing calculations add server load. Cache product pages carefully – pricing must still show the correct role-based price per user, which can conflict with full-page caching. Use fragment caching or server-side user detection.
- The wholesale order form (a grid showing all products for rapid bulk entry) can be slow with large catalogs. Paginate it and use AJAX loading for product searches.
- Database queries multiply with tiered pricing rules. A good hosting setup with object caching (Redis or Memcached) makes a significant difference.
- Indexed product searches matter more in B2B – buyers know what they want and search by SKU or product name. Make sure your search is fast and accurate.
Common B2B Setup Mistakes to Avoid
Setting up WooCommerce for wholesale has some common pitfalls. Here are the ones that come up most often:
- Not testing with an actual wholesale account. Always test the buyer experience by logging in as a wholesale user in a private browser. Admin views can be misleading.
- Caching issues with role-based pricing. Full-page caching can serve the wrong price to the wrong user. Test with caching enabled, not just in development mode.
- Forgetting to set minimum quantities on all relevant products. If some products have minimums and others do not, buyers get inconsistent experiences and may try to game the ordering system.
- Leaving the wholesale registration page unprotected. If anyone can register and get approved automatically, your pricing is exposed. Always require manual approval or use business verification.
- Ignoring email automation. Wholesale buyers expect professional communication. Set up transactional emails for registration status, order confirmation, quote updates, and invoice delivery.
Frequently Asked Questions
Can I run wholesale and retail from the same WooCommerce store?
Yes. WooCommerce supports both on the same installation. Wholesale plugins use user roles to show different prices and features to different account types. A logged-out visitor or standard retail customer sees regular pricing. An approved wholesale account sees their negotiated rates. You control which products, categories, and checkout options are visible to each group.
Do I need to pay for a premium plugin, or can I set up wholesale pricing for free?
WooCommerce does not include wholesale pricing tools in its free core. You can build basic role-based pricing with a combination of free plugins and custom code, but maintaining that becomes complex quickly. For most stores, a premium plugin in the $100-$150 range pays for itself quickly in saved development time and avoided edge-case bugs. Free options exist but tend to have significant limitations around tiered pricing, quote workflows, and registration approval.
How do I set different prices for different wholesale customers, not just roles?
B2BKing supports user-level pricing on top of role-level pricing. You can negotiate a custom rate with a specific account and set it directly on that user’s profile, overriding the role default. Wholesale Suite achieves similar results through its custom discount system. For very complex pricing (account-specific contracts with hundreds of line items), you may need ERP integration rather than per-user manual entry.
Can wholesale customers get tax-exempt status automatically?
Yes. Both Wholesale Suite and B2BKing let you assign a zero-rate tax class to specific wholesale roles. Once a buyer is approved as a wholesale customer, they are automatically tax-exempt in the store without needing to enter a code at checkout. For more rigorous compliance (VAT ID validation, certificate storage), B2BKing includes these features natively.
What is the best way to handle large bulk orders with many SKUs?
A dedicated wholesale order form is the most efficient approach. Wholesale Suite’s Order Form plugin provides a spreadsheet-style interface where buyers type quantities next to each product and add everything to the cart at once. This is much faster than navigating individual product pages for large orders. B2BKing also includes a quick order form feature.
How does WooCommerce handle purchase order payment terms?
Through a purchase order payment gateway plugin. The buyer selects “Pay by Purchase Order” at checkout, enters their PO number, and places the order without an online payment. Your team handles invoicing and collection separately. Several plugins offer this, and some B2B suites include it as a built-in payment method for wholesale roles only.
Building a B2B Wholesale Store That Scales
A well-configured WooCommerce B2B wholesale store removes friction from the buying process. Approved customers log in, see their pricing, order at the quantities that make sense for their business, and check out without calling your sales team. That is the goal.
Start with the right plugin for your complexity level. Configure pricing, minimums, and registration carefully. Test everything from the buyer’s perspective. Then build from there – adding ERP integrations, custom order forms, and payment terms as your wholesale operation grows.
If you need help building or customizing a WooCommerce B2B wholesale setup – whether that is configuring a plugin suite, integrating with your existing systems, or building custom pricing logic – our WooCommerce development team can help. Get in touch to discuss your project.
