Wholesale Customers Pro

B2B sales platform with groups, tiered pricing, net terms and quotes

Wholesale Customers For Woo Pro is the premium add-on for Wholesale Customers For WooCommerce. The free plugin handles the foundation — global discounts, per-product prices, customer assignment. Pro handles everything on top of that: multiple customer tiers, volume pricing, a wholesale registration form with admin approval, net terms payments, store credit, quote requests, and a full wholesale reports dashboard.

Requires the free plugin to be installed first. Wholesale Customers Pro is an add-on and will not work without Wholesale Customers for WooCommerce installed and active. If the free plugin is deactivated or removed, this plugin will deactivate itself automatically with an admin notice.

Who is this for?

Growing B2B operations

Your wholesale business has outgrown a single flat discount and needs customer groups, tiered pricing, and proper account management.

Distributors handling net terms

You offer invoice-based payment to trade customers and need credit limits, payment terms tracking, and order approval workflows.

Agencies building B2B storefronts

You build custom WooCommerce B2B solutions for clients who need registration approvals, quote workflows, and tiered pricing per customer group.

Features

Wholesale Groups

Create multiple customer tiers, each with its own discount rate, minimum order value, and pricing rules. Assign customers to groups and manage everything from a dedicated admin screen.

Tiered / Quantity Pricing

Set volume discount tiers per product — e.g. 10% off for 10+, 20% off for 50+. Customers see their applicable tier price on the product page and in the cart automatically.

Registration & Approvals

Add a wholesale application form to your site with configurable custom fields. Applications go into a pending queue; approve or reject from the admin with optional email notifications.

Net Terms / Pay by Invoice

Accept wholesale orders on account with a dedicated WooCommerce payment gateway. Set per-customer credit limits, payment terms, and track outstanding balances from the order screen.

Store Credit

Issue wallet credit to wholesale customers, redeemable at checkout. Full transaction history is available in the WooCommerce admin and in the customer's My Account page.

Quote Requests

Customers submit quote requests from the storefront. Approve and convert to a real WooCommerce order with one click — prices, quantities, and customer details all carried over.

Wholesale Order Form

A fast, searchable bulk ordering table via the [wcsp_order_form] shortcode. Customers can browse, filter by category, and add multiple products to cart without visiting individual pages.

Per-Category Pricing

Set a flat or percentage wholesale discount per product category, per group. Overrides the global group discount for targeted categories — useful for margin-sensitive lines.

Product Visibility

Hide products, prices, or the Add to Cart button from non-wholesale visitors, specific groups, or guests. Rules stack with WooCommerce's own visibility settings.

Quantity Rules & Steps

Set minimum and maximum order quantities and require ordering in multiples per product. Rules are enforced at cart and checkout with clear customer-facing messages.

Tax Exemption

Apply tax exemption per user, per group, or globally. Integrates directly with WooCommerce's tax system — no custom checkout hacks, no compatibility issues.

Wholesale Reports

A dedicated reports dashboard showing wholesale revenue, order count, average order value, top customers by spend, and a revenue breakdown by group over any date range.

Installation

  1. 1
    Download the plugin zip

    After purchase, your license key and a download link are emailed to you instantly. You can also download from your account page at any time.

  2. 2
    Upload via WordPress

    In your WordPress admin go to Plugins → Add New Plugin → Upload Plugin. Choose the wholesale-customers-for-woo-pro.zip file and click Install Now.

  3. 3
    Activate the plugin

    Click Activate Plugin after upload, or activate it from the Plugins list. Pro automatically creates the required database tables on first activation — no manual steps needed.

  4. 4
    Enter your license key

    Open the plugin settings and paste your license key into the License Key field. Click Save — the key will be verified and your site activated automatically. Updates are then delivered via the standard WordPress updates screen.

  5. 5
    Configure the plugin

    Go to Wholesale → Settings to complete setup. See the Configuration section below for a full walkthrough.

Configuration

Wholesale Groups

Wholesale → Groups

Each group is a reusable pricing and rule profile. Customers assigned to a group inherit all of its settings. Create as many groups as you need — Gold, Silver, Reseller, etc.

FieldDescription
Group NameInternal label (required). Shown in the user profile dropdown and admin order views.
Discount (%)Flat percentage discount applied to regular prices for all members of this group.
Minimum Cart TotalMinimum order value required before checkout proceeds. Leave 0 for no minimum.
Credit LimitMaximum outstanding balance allowed when Net Terms is enabled. Overrides the global Commerce setting for this group.
Tax ExemptThree-way: Use global setting / Yes / No. Overrides the global tax exemption setting for all customers in this group.
Internal NotesAdmin-only notes field — not visible to customers.

Per-User Wholesale Fields

Users → Edit User → Wholesale Group Pro

FieldDescription
Wholesale GroupAssigns the user to a Wholesale Group. The group's discount, minimum cart total, and credit limit apply to this user.
Credit Limit (override)Per-user credit limit that overrides the group-level credit limit when set.
Net Days (override)Per-user payment terms (e.g. 30 for Net 30) that overrides the global Net Days setting when set.
Tax ExemptPer-user tax exempt override — takes precedence over the group setting.

Per-Product: Wholesale Tiers

Product Data → Wholesale Tiers tab

Appears on simple products and per-variation for variable products. Allows quantity-break pricing for wholesale customers.

ColumnDescription
Min QtyQuantity at which this tier activates.
Max QtyUpper bound for this tier. Enter 0 to mean "and above" (no upper limit).
PriceFixed wholesale price per unit at this quantity range.

Add as many tiers as needed. The correct tier is applied based on cart quantity at checkout. On the product page, a pricing table is shown to logged-in wholesale customers with the active tier highlighted as they adjust quantity.

Min 1 / Max 11 / $20.00   ← 1–11 units
Min 12 / Max 23 / $17.50   ← 12–23 units
Min 24 / Max 0 / $15.00   ← 24+ units

Per-Product: Visibility & Quantity Rules

Product Data → General tab

FieldOptionsDescription
Wholesale Visibility Use global setting / Always visible / Wholesale only Controls whether retail customers can see this product. Defers to the global setting, forces visibility for all, or restricts to wholesale customers only.
Min Quantity (Wholesale) Number Minimum purchase quantity for wholesale customers. Enforced at add-to-cart and checkout. Leave 0 for no minimum.
Max Quantity (Wholesale) Number Maximum purchase quantity for wholesale customers. Leave 0 for no limit.

Quantity rules only apply to logged-in wholesale users — retail customers see standard WooCommerce quantity behaviour.

Admin Pages

Order Form

Wholesale → Order Form

A standalone page listing all wholesale-visible products in a streamlined table (SKU, name, price, quantity input) that allows bulk add-to-cart in a single action. Configure which page it renders on via the Registration settings tab.

Quotes

Wholesale → Quotes

Customers can submit quote requests from the cart or product pages. Each quote appears here with a status of Pending / Accepted / Declined / Converted. Accepting a quote converts it into a draft order. Pricing, quantities, and notes can be edited before sending to the customer.

Reports

Wholesale → Reports

ReportShows
Revenue by GroupTotal sales broken down by wholesale group for a selected date range.
Top CustomersRanked list of wholesale customers by spend.
Net Terms BalancesOutstanding invoice balances per customer, aged by due date.

Registration Tab

Wholesale → Settings → Registration

Registration & Approvals

SettingDefaultNotes
Auto-approve applications No Yes = wholesale status granted immediately on form submission. No = admin must review and approve each application (recommended).
Registration page Shows the current page status with Edit/View links. If no page exists, a "Create registration page" button creates one automatically with the [wcsp_registration_form] shortcode.

Email Notifications

SettingDefaultNotes
Notify admin on new applicationYesSends the admin an email when a new wholesale registration is submitted.
Notify customer on approvalYesSends the customer an email when their application is approved.
Notify customer on rejectionYesSends the customer an email when their application is rejected.
Notify customer on manual status changeNoSends the customer an email when an admin manually enables or disables their wholesale status from the user profile.

Email templates for all of the above can be customised under WooCommerce → Settings → Emails.

Custom Registration Fields

Add extra fields to the registration form using the custom fields manager. Fields added here appear on the [wcsp_registration_form] shortcode. Supported types: text, textarea, select, checkbox, file upload. Each field has a label, field key, placeholder/options, and a required toggle.

Product Control Tab

Wholesale → Settings → Product Control

Product Visibility

SettingDefaultNotes
Hide wholesale-only products No When enabled, products marked as "Wholesale only" are hidden from shop listings for non-wholesale visitors. Individual product overrides are set per-product.

Payment & Shipping Restrictions

SettingDefaultNotes
Allowed payment methodsAllRestrict wholesale customers to specific payment gateways. Leave empty to allow all.
Allowed shipping methodsAllRestrict wholesale customers to specific shipping methods. Leave empty to allow all. Options are pulled from your configured shipping zones.

WordPress Role Management

SettingDefaultNotes
Auto-assign wholesale role Yes Automatically assigns/removes the "Wholesale Customer" WordPress role when a customer's wholesale status changes. Disable if you prefer to manage roles manually.

Commerce Tab

Wholesale → Settings → Commerce

Quote / Purchase Order Requests

SettingDefaultNotes
Enable quote requests Yes Shows a "Request a Quote" button on product pages for wholesale customers instead of (or alongside) the standard Add to Cart.

Tax Exemption

SettingDefaultNotes
Tax-exempt by default No When enabled, all wholesale customers are exempt from tax globally. Can be overridden per-group or per-user. Priority: per-user > per-group > global.

Purchase Order Number

SettingDefaultNotes
Show PO number fieldYesAdds a PO number field at checkout for wholesale customers.
PO number requiredNoMakes the PO number field mandatory before a wholesale order can be placed.
PO number field labelPurchase Order NumberThe label shown next to the field at checkout.

Net Terms / Pay by Invoice

SettingDefaultNotes
Default credit limit 0 (no limit) Maximum outstanding unpaid balance before the Pay by Invoice gateway is hidden for that customer. Set per-user or per-group to override. 0 = no limit.

Usage Guide

Wholesale Groups - assigning customers

Once you've created groups (WooCommerce → Wholesale Groups), assign customers to them:

  1. Go to Users → All Users and open the customer's profile.
  2. Select a group from the Wholesale Group dropdown.
  3. Save. The customer now receives that group's discount and minimum cart total.

Customers in a group still need the wholesale customer checkbox enabled on their profile (set by the free plugin). The group then overrides the global discount with the group's own rate.

Tiered / quantity-break pricing

Set volume discount tiers directly on each product:

  1. Open a product and go to Product data → General (simple) or Pricing tab.
  2. Find the Wholesale tier pricing repeater and add rows. Each row requires: Min Qty, Max Qty (0 = no upper limit), and Price.
  3. Save the product.

The tier table is shown on the product page for logged-in wholesale customers. Tiers take full precedence over per-product and global wholesale prices on that product.

Tiered pricing repeater on a product
The tiered pricing repeater on a product's pricing tab.

Wholesale registration form

Use the Create registration page button in settings to generate the page automatically, or add the shortcode to any existing page:

[wcsp_registration_form]

New applicants appear in WooCommerce → Registrations with a Pending status. Approve or reject in bulk or individually - the customer receives an email on either outcome. On approval, wholesale status is enabled automatically.

Registrations admin screen
The Registrations admin screen (WooCommerce → Registrations).

Wholesale Order Form

Place a fast bulk ordering table on any page:

[wcsp_order_form]

Available attributes:

  • columns - Comma-separated list (default: image,name,sku,price,stock,qty).
  • per_page - Products per page (default: 20).
  • category - Filter to a specific category slug.
  • show_search - yes / no (default: yes).
  • show_filters - yes / no (default: yes).

Variable products show inline variation selects. The Add all to cart button submits all rows with a quantity greater than 0 in a single AJAX request.

Quote Requests

Customer flow: Wholesale customers see a Request a Quote button on product pages. They set a quantity and an optional note, then submit. Their quote history is available under My Account → Quotes.

Admin flow: Open the quote from WooCommerce → Quotes. Review line items, adjust quoted prices inline if needed, then:

  • Approve - Customer receives an approval email. Convert the quote to a real WooCommerce order at the quoted prices with one click.
  • Reject - Customer receives a rejection email with your optional note.

Net Terms / Pay by Invoice

The gateway is only visible at checkout to wholesale customers within their credit limit. Orders placed with Net Terms are set to On Hold. The due date is shown on the admin order screen - orders past their due date show an OVERDUE flag. The outstanding balance (sum of On Hold + Processing Net Terms orders) is checked live at checkout against the customer's credit limit.

Per-user net terms override: set a specific net-days value on the user profile to override the gateway default for that customer.

Store Credit

Issue credit from the customer's user profile (amount + internal note). At checkout, customers with a positive balance see an Apply store credit checkbox. Credit is deducted from the balance when the order reaches Processing or Completed status. Refunds automatically restore the credit balance.

Customers can view their balance and transaction history under My Account → Store Credit.

Wholesale Reports

Go to WooCommerce → Wholesale Reports. Select a period (Last 7 / 30 / 90 days, or This year). The dashboard shows:

  • Revenue, Orders, Average Order Value, Unique Customers.
  • Pending Applications count.
  • Daily revenue bar chart.
  • Top 10 customers by revenue.
  • Revenue breakdown by wholesale group.
Wholesale Reports dashboard
The Wholesale Reports dashboard (WooCommerce → Wholesale Reports).

Product visibility & quantity rules

  • Product visibility - On each product's General tab, set visibility to Always visible, Wholesale customers only, or Use global setting. Global toggle in Wholesale Settings.
  • Quantity rules - Set wholesale min/max quantities per product. Validated at Add to Cart and checkout.
  • Quantity steps - Set an order step (e.g. multiples of 6) per product. The quantity input updates automatically on the product page.

Pricing

1 Site
1 site
USD $97/yr
Get 1 Site
3 Sites
3 sites
USD $197/yr
Get 3 Sites
5 Sites
55 sites
USD $297/yr
Get 5 Sites

14-day money-back guarantee.

Also from Pacific Plugins

Wholesale Customers for WooCommerce Free

Free wholesale pricing, discounts and customer management for B2B

  • Simple customer assignment
  • Global percentage discount
  • Per-product wholesale price
View
Plugin details
Version
v1.0.0
WordPress
5.8+
PHP
7.4+
Requires
Free plugin