Wholesale Pricing

v2.0.0

B2B pricing rules

📖 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. 1

    Download and install the plugin ZIP via Plugins → Add New → Upload Plugin.

  2. 2

    Activate the plugin.

  3. 3

    Go to WooCommerce → Wholesale → Settings to configure your wholesale roles.

  4. 4

    Create or assign a WordPress user role for your wholesale customers (e.g. "Wholesale Customer").

  5. 5

    Go to WooCommerce → Wholesale → Roles and add that role with a global discount.

  6. 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.

SettingDescriptionTypeDefault
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.Number0
Hide Prices from Guests
Show "Login to see prices" for all products when a non-wholesale user is viewing the site.ToggleOff
Minimum Order Amount
Enforce a minimum cart total before a wholesale customer can check out.Currency0

Quantity Breaks

Set tiered pricing that decreases automatically as the order quantity increases.

SettingDescriptionTypeDefault
Enable Quantity Breaks
Turn on quantity-based pricing tiers for this role.ToggleOff
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.

SettingDescriptionTypeDefault
Enable Bulk Order Form
Adds a wholesale order form page to your store.ToggleOff
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.ToggleOn

🎯 Feature Guides

Setting Up Wholesale Roles

The foundation of the plugin — assigning roles and configuring their discounts.

  1. 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. 2

    Go to WooCommerce → Wholesale → Roles → Add Role.

  3. 3

    Select the user role (e.g. "Wholesale Customer").

  4. 4

    Set a Global Discount — e.g. 20 for 20% off all products.

  5. 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. 1

    Open any product in WooCommerce → Products → Edit.

  2. 2

    In the Product Data meta box, click the Wholesale Pricing tab.

  3. 3

    You'll see each configured wholesale role listed.

  4. 4

    Enter a fixed price for this product for each role. Leave blank to use the global discount.

  5. 5

    For variable products, you can set prices at the variation level by opening each variation.

  6. 6

    Save the product.

Configuring the Bulk Order Form

Give wholesale buyers a professional B2B ordering experience.

  1. 1

    Go to WooCommerce → Wholesale → Settings → Bulk Order Form.

  2. 2

    Toggle Enable Bulk Order Form to On.

  3. 3

    Create a new page (Pages → Add New) titled "Wholesale Order" and publish it.

  4. 4

    Select that page in the Form Page dropdown and save settings.

  5. 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. 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.0

Filter 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.0

Override whether the current user is treated as a wholesale customer.

Parameters

( bool $is_wholesale, int $user_id )
cawp_bulk_form_productsfiltersince 2.0.0

Filter the products displayed in the bulk order form.

Parameters

( array $products, int $user_id )

📋 Changelog

v2.0.0April 2026LATEST
  • 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.