📖 Overview
Wholesale Pricing Pro turns your WooCommerce store into a dual-channel business — serving both retail and wholesale customers from a single install. You set different prices for different user roles, and the plugin handles everything else.
Wholesale customers see their prices automatically when logged in. Guest and retail customers see regular prices. You can set role-based discounts globally (e.g., 20% off everything for the "Wholesale" role) or override with specific prices per product.
The included Bulk Order Form gives B2B buyers a dedicated page where they can search products, set quantities for many items at once, and add them all to the cart in a single action — the buying experience professional buyers expect.
Role-Based Pricing
Set completely different prices for different user roles — wholesale, VIP, reseller, and more.
Quantity Break Tiers
Offer tiered pricing that automatically decreases as the customer's order quantity increases.
Bulk Order Form
A dedicated wholesale order form that lets B2B buyers add multiple products and quantities at once.
Percentage or Fixed
Set discounts as a percentage off or a fixed price — full flexibility per role and per product.
Minimum Order Rules
Set minimum order quantities or minimum cart values per customer role to protect your margins.
Price Table Display
Show a clear pricing tier table directly on the product page so buyers know exactly what they'll pay.
📦 Installation
Follow these steps to install and activate the plugin on your WordPress/WooCommerce site. Requires WordPress 6.0+, WooCommerce 7.0+, and PHP 8.0+.
- 1
Download and install the plugin ZIP via Plugins → Add New → Upload Plugin.
- 2
Activate the plugin.
- 3
Go to WooCommerce → Wholesale → Settings to configure your wholesale roles.
- 4
Create or assign a WordPress user role for your wholesale customers (e.g. "Wholesale Customer").
- 5
Go to WooCommerce → Wholesale → Roles and add that role with a global discount.
- 6
To set specific product prices, open a product and look for the Wholesale Pricing panel.
⚙️ Configuration
Wholesale Roles
Define which user roles have access to wholesale pricing and what discount they receive.
| Setting | Description | Type | Default |
|---|---|---|---|
Wholesale RoleREQUIRED | Select a WordPress user role to give wholesale pricing. You can add multiple roles. | Select (multi) | — |
Global Discount (%) | A percentage applied to the regular price for this role store-wide. Can be overridden per product. | Number | 0 |
Hide Prices from Guests | Show "Login to see prices" for all products when a non-wholesale user is viewing the site. | Toggle | Off |
Minimum Order Amount | Enforce a minimum cart total before a wholesale customer can check out. | Currency | 0 |
Quantity Breaks
Set tiered pricing that decreases automatically as the order quantity increases.
| Setting | Description | Type | Default |
|---|---|---|---|
Enable Quantity Breaks | Turn on quantity-based pricing tiers for this role. | Toggle | Off |
Quantity / Price Pairs | E.g. Buy 10–19 = $8.00 each, Buy 20+ = $7.00 each. Set as many tiers as needed. | Repeater | — |
Bulk Order Form
A dedicated page for B2B buyers to order multiple products at once.
| Setting | Description | Type | Default |
|---|---|---|---|
Enable Bulk Order Form | Adds a wholesale order form page to your store. | Toggle | Off |
Form Page | Select or create the page where the bulk order form is displayed. | Page Select | — |
Show Stock Status | Display in-stock / out-of-stock status in the order form table. | Toggle | On |
🎯 Feature Guides
Setting Up Wholesale Roles
The foundation of the plugin — assigning roles and configuring their discounts.
- 1
If you don't have a wholesale user role yet, go to Users → Add New and note that WordPress ships with roles like Subscriber, Editor, etc. You can create custom roles using a plugin like User Role Editor, or the Wholesale Pricing plugin can create one for you.
- 2
Go to WooCommerce → Wholesale → Roles → Add Role.
- 3
Select the user role (e.g. "Wholesale Customer").
- 4
Set a Global Discount — e.g. 20 for 20% off all products.
- 5
Save. Now assign any user to this role and log in as them to verify their prices are discounted.
You can add multiple wholesale tiers — e.g. "Silver" at 15% off and "Gold" at 25% off. Each role is configured independently.
Setting Product-Specific Wholesale Prices
Override the global discount with a specific price for individual products.
- 1
Open any product in WooCommerce → Products → Edit.
- 2
In the Product Data meta box, click the Wholesale Pricing tab.
- 3
You'll see each configured wholesale role listed.
- 4
Enter a fixed price for this product for each role. Leave blank to use the global discount.
- 5
For variable products, you can set prices at the variation level by opening each variation.
- 6
Save the product.
Configuring the Bulk Order Form
Give wholesale buyers a professional B2B ordering experience.
- 1
Go to WooCommerce → Wholesale → Settings → Bulk Order Form.
- 2
Toggle Enable Bulk Order Form to On.
- 3
Create a new page (Pages → Add New) titled "Wholesale Order" and publish it.
- 4
Select that page in the Form Page dropdown and save settings.
- 5
Visit the page — you'll see a searchable product table where buyers can set quantities and add all items to the cart at once.
- 6
Link to this page from your wholesale customer's account area or a private menu.
Consider creating a separate navigation menu visible only to logged-in wholesale users and link the Bulk Order Form page there.
🔗 Developer Hooks
Use these WordPress actions and filters to extend or modify Wholesale Pricingbehavior programmatically. Add snippets to your theme's functions.php or a custom plugin.
cawp_wholesale_pricefiltersince 2.0.0Filter the wholesale price before it is displayed or used in cart calculations.
Parameters
( float $price, int $product_id, string $role )cawp_is_wholesale_userfiltersince 2.0.0Override whether the current user is treated as a wholesale customer.
Parameters
( bool $is_wholesale, int $user_id )cawp_bulk_form_productsfiltersince 2.0.0Filter the products displayed in the bulk order form.
Parameters
( array $products, int $user_id )📋 Changelog
- New
Complete rewrite with improved performance and new Bulk Order Form.
- New
Quantity break tiers added.
- New
Multiple wholesale role support.
Need help with Wholesale Pricing?
Our support team is ready to assist you.