Description
Whols is the complete wholesale solution for WooCommerce — set role-based pricing, manage wholesaler registration, and automate your B2B order rules, all from your existing store.
🔥 Trusted by 1,000+ businesses worldwide. Add a complete wholesale layer to your existing WooCommerce store without building a second site. Set role-based pricing, create a custom wholesaler registration form, control who sees which products, and automate order rules with smart dynamic conditions.
🖥️ Try Free Demo | 🚀 Try Pro Demo
🌐 Website | 💰 Purchase Pro | 📖 Documentation | 💬 Contact & Support
🗺️ Overview
Whols turns any WooCommerce store into a fully functioning B2B or hybrid B2B+B2C store — without creating a second site or duplicating your product catalog:
- Set wholesale pricing — globally, per product, per variation, or per category
- Manage wholesale customers — with a registration form, approval workflow, and unlimited user roles
- Control visibility — show or hide products and prices based on customer role or login status
- Automate order rules — apply discounts, fees, BOGO offers, and shipping conditions dynamically
- Run B2B, B2C, or both — one dashboard, one product catalog, zero duplication
👥 Who Is Whols For?
- B2B store owners who want to sell exclusively to approved wholesale customers
- Hybrid store owners who serve both retail and wholesale customers from one site
- Agencies and developers building wholesale stores for clients
📺 Watch the Plugin Overview
Prefer video over text? This short overview covers everything Whols can do — watch it before diving into the details below:
🆓 Free Features
Wholesale Pricing
- Set wholesale prices on simple and variable products (per variation supported)
- Apply flat or percentage discounts globally across the store
- Set a minimum product quantity to buy
- Update wholesale prices via quick edit and bulk edit
- Show wholesale pricing on shop and product detail pages
- Display the amount customers save after purchase
Registration & Roles
- Assign a wholesaler registration form to any page
- Use the registration form shortcode
[whols_registration_form]on any page or post - Customize registration form fields visually — no coding required
- Add custom or additional fields via filter hook
- Customers can request to become wholesalers
- Approve requests manually
- Assign the wholesale role to existing customers
- Customize the registration success message
- Email notification on every new registration
Visibility & Access
- Show or hide retailer price from wholesale customers
- Hide wholesale prices from guests (login to see price)
- Hide “Wholesale Only” products from regular customers
- Hide general products from wholesalers
- Wholesale prices visible only to users with the Wholesaler role
Checkout, Shipping & Tax
- Allow free shipping for wholesalers
- Disable coupon codes for wholesale customers
- Exclude tax for wholesale users
- Save Order List for quick repeat purchases
- Request a quote for products (wholesalers can request quotes directly)
Customization & Compatibility
- Customize frontend labels (Retailer Price, Wholesaler Price, Save Amount)
- Redirect to a specific page after registration or login
- Design customization options for wholesale price display
- Custom Thank You page message for wholesale orders
- Reset all settings to default with one click
- Compatible with WPML, Polylang, and CURCY Multi Currency
- Easy-to-use dashboard — no coding required
💎 Premium Features
Advanced Pricing & Roles
✓ Create and manage unlimited wholesale user roles
✓ Set different prices for different wholesaler roles
✓ Set different prices for individual users
✓ Category-wise product pricing (flat or percentage)
✓ Category-wise pricing for different roles
✓ Tiered pricing based on quantity (with quick edit and bulk edit support)
Registration & Forms
✓ Visual registration fields manager and editor
✓ Add custom fields without coding
✓ Use WooCommerce billing fields in the registration form
✓ Add file upload fields to the registration form
✓ Google reCAPTCHA v3 spam protection
✓ Approve or reject wholesalers directly via email
✓ Set a default wholesaler role for new registrations
✓ Auto-approve new wholesaler registrations
Store Access & Control
✓ Restrict wholesale store access
✓ Restrict access to the entire website or only the Shop page
✓ Allow access to logged-in users or only wholesale-role users
✓ Role-based payment method control
✓ Role-based free shipping
Dynamic Rules
✓ Create smart checkout rules based on cart value, item count, product, user role, or promo code
✓ Apply cart-wide discounts automatically
✓ Add extra fees (e.g., customs charges or documentation fees)
✓ Enable Buy One Get One (BOGO) offers
✓ Grant free shipping based on conditions
✓ Schedule rules to run during specific date ranges
✓ Inspect all active rules with the built-in Rules Inspector tool
Sales & Order Tools
✓ Bulk Order Form for fast, high-volume purchasing
✓ Admin can place wholesale orders on behalf of any customer
✓ Pay using digital Wallet
✓ Unlimited saved order lists per customer (Free version supports one list)
✓ Advanced WooCommerce sales reports (by customer, by role, by product)
Communication
✓ Conversation feature — message customers directly from the admin
✓ Email notifications for registration, approval, and rejection
🔌 Integrations
- WooCommerce Packing Slips — Auto-attach PDF invoices and packing slips to order emails
- FiboSearch — Advanced AJAX product search for wholesale stores
- WPML — Build a multilingual wholesale store
- Polylang — Additional multilingual support
- CURCY Multi Currency — Sell in multiple currencies
🎬 Video Tutorials
How to install Whols and complete the basic setup
How to add a wholesaler registration form and approve wholesale roles
How to set wholesale prices for individual products or variations
How to set wholesale prices for different categories
How to add tiered pricing for wholesalers in WooCommerce
How to create wholesaler roles and assign to existing customers
How to set different prices for different wholesale customers
How to hide wholesale prices from guests or retail customers
How to hide wholesale products from guests or retail customers
How to enable free shipping for wholesale customers
How to apply cart discounts using Dynamic Rules
How to add extra fees to cart using Dynamic Rules
How to control payment methods — step-by-step guide
Community Tutorial — Full Whols walkthrough
💬 What Our Users Say
Perfect for Wholesalers & B2B
I had tried several other Wholesaler plugins and found either drawbacks or issues with all of them. The Whols plugin works perfectly for my needs with plenty of options going forward. Its excellent.
— @mark666The BEST Wholesale plugin!
I absolutely love this Wholesale plugin, it’s easy to setup and has everything you need in order to create a good wholesale website. I am deeply grateful for the exceptional support provided.
— @nicola-tweedAmazing Support
The service of the Whols Team was one of the best so far. They were very patient, but efficient and solved all the issues very professionally. I love this plugin and appreciated the kind support a lot!
— @cedricbaguilarAWESOME PLUGIN!!
Really thank you! I wasted so many hours trying to find a suitable solution for my site. It’s easy to setup and has everything you need.
— @bobbymenas
🔥 Other Popular Plugins by HasThemes
- ShopLentor (formerly WooLentor) – WooCommerce page builder plugin with 120+ free Elementor widgets, 110+ WooCommerce templates, and Gutenberg Blocks.
- SupportGenix – Customer support ticket plugin for WordPress. Manage support tickets, assign agents, and resolve issues efficiently from your dashboard.
- HT Mega For Elementor – Elementor Addons with 135+ professional widgets, AI-powered content writer, theme builder, and 790+ ready-made blocks.
- HashBar – WordPress notification bar plugin to display announcements, promotions, and CTAs at the top or bottom of your site.
- WP Plugin Manager – Disable certain plugins on specific pages or posts for better performance. Activate or deactivate plugins on a per-page basis.
- Swatchly – WooCommerce product variation swatches with color, label, and image swatch types.
- Pixelavo – Facebook Pixel integration for WordPress and WooCommerce. Track events, optimize ads, and build custom audiences with ease.
- HT Easy GA4 – Connect Google Analytics 4 to your WordPress site without coding. Track pageviews, events, and eCommerce data effortlessly.
Wanna see the pro version? Check it out now!
Screenshots

Quick access to all plugin settings from the dashboard. 
Setting and displaying wholesale prices on shop and product pages. 
Setting different prices for multiple wholesaler roles (Pro). 
Price tiers displayed on the product page (Pro). 
Registration field setup and front-end form output overview. 
Embedding the wholesaler registration form with a shortcode. 
Error handling and validation on form submission. 
Customer view of registration pending approval message. 
Admin panel view of pending wholesaler approval requests. 
Admin editing and approving a wholesaler registration request. 
Registration and login settings overview. 
Managing default and custom registration form fields (Pro). 
General plugin settings configuration. 
Product visibility settings panel. 
Restricting a product category to specific wholesaler roles (Pro). 
Guest access restriction settings. 
Enabling and configuring the Request a Quote feature. 
Wallet feature setup and configuration (Pro). 
Customizing email notification templates. 
Setting a custom Thank You message for wholesale orders. 
Additional settings and configuration options. 
Design customization options for wholesale price display. 
Fixed and percentage category pricing setup (Pro).
Installation
Option 1: Install via WordPress Dashboard (Recommended)
- Go to Plugins Add New Plugin in your WordPress dashboard.
- Search for “Whols”.
- Click Install Now, then Activate.
Option 2: Upload via Dashboard
- Download the plugin ZIP from WordPress.org.
- Go to Plugins Add New Plugin Upload Plugin.
- Upload the ZIP and click Install Now, then Activate.
Option 3: Manual FTP Upload
- Unzip the downloaded file.
- Upload the
wholsfolder to/wp-content/plugins/. - Activate the plugin from the Plugins menu in WordPress.
After Activation
- If WooCommerce is not already installed, a notice will prompt you to install it.
- A new Whols menu will appear in your dashboard below the Products menu.
- Go to Whols Settings to configure pricing, roles, and registration.
- Use the shortcode
[whols_registration_form]to embed the registration form on any page.
FAQ
-
Will Whols affect my existing retail customers or retail prices?
-
No. Wholesale pricing and features only apply to users with a wholesale role assigned. Retail customers continue to see standard WooCommerce prices with zero changes to their experience.
-
Can I run both B2B and B2C from the same WooCommerce store?
-
Yes. You can run a B2B-only store, a retail store, or a hybrid B2B+B2C store — all from one WooCommerce installation with one set of products.
-
Is there a free version? Can I test it before buying?
-
Yes to both. The free version includes wholesale pricing (global, per-product, per-variation, per-category), a customizable registration form, access control, Request a Quote, Save Order List, CURCY compatibility, and a dashboard. Live demos are also available: Free Demo and Pro Demo.
-
Can I offer different prices to different types of wholesalers?
-
Yes (Pro). Create unlimited wholesale user roles and assign a unique price to each role — at the product level, per variation, or per category.
-
Can I set minimum order quantities for wholesale customers?
-
Yes. You can set a minimum product quantity that wholesale customers must meet before purchasing. Whols can also auto-apply this minimum when customers add a product to their cart.
-
Can I hide prices from visitors who are not logged in?
-
Yes. You can hide all prices from guests and display a “Login to see price” message, keeping wholesale pricing private from the general public.
-
What are Dynamic Rules?
-
Dynamic Rules (Pro) let you automate checkout behavior without code — based on conditions like cart subtotal, item count, user role, or promo code. Create discounts, add fees, enable BOGO offers, grant free shipping, or restrict payment methods.
-
Can I restrict my entire website to wholesale customers only?
-
Yes (Pro). Restrict access to the entire website or just the Shop page, limited to logged-in users or users with a specific wholesale role.
-
Does Whols support multiple languages and currencies?
-
Yes. Whols is compatible with WPML and Polylang for multilingual stores, and with the CURCY Multi Currency plugin by VillaTheme for selling in multiple currencies.
-
Does Whols conflict with other WooCommerce plugins?
-
No. Whols has been tested with 30+ popular WooCommerce plugins including WooCommerce Stripe / PayPal / Payments, WooCommerce PDF Invoices & Packing Slips, Mailchimp for WooCommerce, Facebook for WooCommerce, Variation Swatches for WooCommerce, FiboSearch, CartFlows, YITH WooCommerce Wishlist, ShipStation, Booster, Advanced Order Export, WooCommerce Blocks, Kadence WooCommerce Email Designer, Mollie Payments, WOOF Products Filter, and more. If you run into an issue, contact support.
-
Is there a money-back guarantee?
-
Yes. Yearly plans include a 30-day money-back guarantee, and you can cancel at any time.
Reviews
Contributors & Developers
“Whols – Wholesale Prices and B2B Store Solution for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Whols – Wholesale Prices and B2B Store Solution for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
Version: 2.4.10 – Date: 04 May 2026
- Fixed: “Hide Price For Guest Users” not applying in product quick view modal.
Version: 2.4.9 – Date: 16 Mar 2026
- Improved: Caching mechanism for external API requests in admin.
Version: 2.4.8 -Date: 26 Feb 2026
- Improved: Admin notice display.
- Fixed: Admin page redirect issue for invalid URLs.
Version: 2.4.7 – Date: 25 Feb 2026
- Fixed: Undefined variable $variation_id in wholesale pricing calculation function
Version: 2.4.6 – Date: 11 Dec 2025
- Fixed: Empty quantity in wholesale pricing meta during WooCommerce product export
Version: 2.4.5 -Date: 13 Nov 2025
- Fixed: Minor issue with notice manager.
Version: 2.4.4 -Date: 26 Oct 2025
- Fixed: Guest Access Restriction feature not working properly.
Version: 2.4.3 -Date: 22 Oct 2025
- Improved: Minor UI update and optimizations.
Version: 2.4.2 -Date: 29 Sep 2025
- Enhanced: Wholesale product metadata synchronization with Polylang for WooCommerce plugin
- Fixed: Fields Manager immediately adding field to list when clicking “Add New” button
Version: 2.4.1 -Date: 17 Aug 2025
- Fixed: Escaping issue in multiple area.
- Fixed: Translation issue in multiple area.
Version: 2.4.0 -Date: 17 Jul 2025
- Added: Option to reset settings to default for global settings
Version: 2.3.0 -Date: 09 Jul 2025
- Added: Wholesale price quick edit and bulk edit functionality for products
Version: 2.2.3 -Date: 29 Jun 2025
- Added: Updated pot file for translation
Version: 2.2.2 -Date: 23 Jun 2025
- Fixed: PHP notice “Undefined index” when custom admin email is set for user registration notification
Version: 2.2.1 -Date: 17 Jun 2025
- Fixed: Duplicate menu item issue
Version: 2.2.0 -Date: 12 Jun 2025
- Fixed: Cache busting issue for element-plus
Version: 2.1.0 -Date: 20 May 2025
- Tweak: Variable product price range if price is same
- Fixed: Select field filterable issue
Version: 2.0.3 -Date: 15 Apr 2025
- Fixed: Save order list settings field badge showing issues
- Fixed: Column pricing issue in the Products List table by using the new wholeale pricing class
Version: 2.0.2 -Date: 24 Mar 2025
- Added: Save Order List feature
- Added: Dashboard page for reports and analytics
Version: 2.0.1 -Date: 03 Mar 2025
- Added: New pot file for translation
- Fixed: Translations issue for the new settings
- Fixed: Minimum quantity field notice field was not showing
- Fixed: Text domain warning issue
- Fixed: Drawer lagging issue
Version: 2.0.0 -Date: 16 Feb 2025
- Enhanced: The dashboard settings with new design
- Added: Compatibility with CURCY – Multi Currency plugin by VillaTheme Free and Pro
- Added: Default messages & placeholder supports for all the email notifications
Version: 1.4.3 -Date: 18 Dec 2024
- Fixed: Conflict with windcave payment gateway
Version: 1.4.2 -Date: 15 Dec 2024
- Fixed: Error “Cannot access offset of type string on string” due to default value
Version: 1.4.1 -Date: 09 Dec 2024
- Added: Request a quote feature
- Added: Auto Input Minimum Quantity
- Added: Option to change the registration form submit button text
- Fixed: Payment gateways were not showing
- Fixed: Wholesale label was showing in the order review list
- Updated: Plugin settings screenshots
Version: 1.4.0 -Date: 25 Nov 2024
- Fixed: Textdomain loading warning with WP 6.9 version
Version: 1.3.9 -Date: 12 Nov 2024
- Fixed: Number input field design issue
- Tested: With latest WordPress version
Version: 1.3.8 -Date: 10 Oct 2024
- Fixed: Menu active issue and refractored the code
- Added: Multiple recipient email option for email notification
Version: 1.3.7 -Date: 22 Aug 2024
- Fixed: Price ranges for variable products showed the dummy maximum price
Version: 1.3.6 -Date: 11 Aug 2024
- Added: Compatibility with Fibosearch plugin
- Updated: 3rd party libraries for latest PHP version compatibility
Version: 1.3.5 -Date: 14 Jul 2024
- Fixed: Variation price issue in the admin Column
- Compatibility: Test With latest WordPress version
Version: 1.3.4 -Date: 13 Jun 2024
- Fixed: undefined property of ID into the_content hook issue
Version: 1.3.3 -Date: 09 Jun 2024
- Fixed: undefined array key issue for minimum quantity
Version: 1.3.2 -Date: 28 May 2024
- Fixed: Registration form submission doesn’t work with FSE theme
Version: 1.3.1 –Date: 24 Mar 2024
- Added: Data from the registration form can be viewed from the approve/reject wholesaler screen
- Tweak: Redirect to the plugins settings after activate the plugin
- Tweak: Product visibility settings improved
Version: 1.3.0 –Date: 18 Jan 2024
- Fixed: Variation product’s price doesn’t update on cart page while qty is set to 0/1
Version: 1.2.9 –Date: 14 Dec 2023
- Added: Compatibility with WPML and Polylang
Version: 1.2.8 –Date: 6 Nov 2023
- Tweak: wholesale_priced meta key name changed to _wholesale_priced
- Added: whols_show_wholesale_status_in_item_data filter hook
Version: 1.2.7 –Date: 19 Jun 2023
- Fixed: Fatal error issue on the cart page
Version: 1.2.6 –Date: 29 Apr 2023
- Added: Option to change minimum quantity notice text
Version: 1.2.5 –Date: 22 Mar 2023
- Fixed: Decimal pricing issue when product has a price less than 1
Version: 1.2.4 –Date: 12 Mar 2023
- Tweak: Added scroll to notice for registration form
- Fixed: Warning on wholesaler request page
- Added: wpautop support for sending emails
Version: 1.2.3 –Date: 13 Dec 2022
- Fixed: Admin Column price were showing wrong for percentage price.
- Fixed: Wholesaler price were shwoing 00 for free product or the product that doesn’t have any price.
- Fixed: Conflict with Justtables plugin.
- Fixed: Notice showing issue while updating default wholesale role.
- Added: Test mode feature.
- Added: Option to customize thank you message for wholesalers.
- Added: Show wholesale_priced meta in order edit / details page.
Version: 1.2.2 –Date: 02 Nov 2022
- Fixed: Undefined variable $fields
- Fixed: Price shows 0 for variable product while price value is empty from the global pricing.
Version: 1.2.1 –Date: 10 Oct 2022
- Added: Option to assign wholesale registration form
- Added: Registration page state label into the page list table
- Added: The registration form shortcode conditionally into the assigned page
- Added: Wholesale price column
- Added: Registration fields manager
Version: 1.2.0 –Date: 18 Sep 2022
- Tweak: Whholesale label show on cart page for variation product
- Added: filter hide whols_hide_price_for_guest_users
- Tweak: Compatibility with WooCommerce’s tax display settings for simple product
Version: 1.1.9 –Date: 10 Sep 2022
- Tweak: Removed some unused variables
- Updated: The language file & Pro notice text
- Fixed: php 7.4 user metabox warning
Version: 1.1.8 –Date: 16 Jul 2022
- Tweak: Compatibility with the WooCommerce’s price decimal settings
- Improved: is_wholesaler function
- Fixed: Price display issue
- Updated: The language file
- Added: Quick recommended plugin
Version: 1.1.7 –Date: 9 May 2022
- Added: Filter hook whols_label_upto
- Added: Filter hook whols_disable_del_tag
- Fixed: Discount range show 0% for Multiple role
Version: 1.1.6 –Date: 9 Apr 2022
- Fixed: Variable product price decimal issue
- Fixed: When min & max both price is same for variable product, don’t show the price range
Version: 1.1.5 –Date: 12 Mar 2022
- Added: Checkbox field support for registration form
- Added: Filter hook to manage capabilities
Version: 1.1.4 –Date: 13 Feb 2022
- Improved: Registration form input fields
- Fixed: Warning on product metabox
- Fixed: Showing price decimal properly
- Added: Wholesale label on cart page
- Fixed: Pricing issue
Version: 1.1.3 –Date: 12 Jan 2022
- Introduced: whols_registration_fields filter hook
- Added: Additional field support for registration form
Version: 1.1.2 –Date: 27 Nov 2021
- Fixed: Decimal pricing for variation product
Version: 1.1.1 –Date: 24 Nov 2021
- Fixed: Price doesn’t show in decimal format problem
Version: 1.1.0 –Date: 4 Oct 2021
- Improved: Enqueueing CSS/JS files considering caching problem
Version: 1.0.9 –Date: 13 Sep 2021
- Fixed: Plugin does not activate when whols plugin is active
- Added: hook_suffix to load the extension manager js file conditionally
Version: 1.0.8 –Date: 28 Aug 2021
- Fixed: Wholesaler Price Custom Label option doesn’t work properly
- Fixed: Wholesaler Price design options doesn’t work properly
Version: 1.0.7 –Date: 1 Aug 2021
- Fixed: is wholesale function condition fixed
Version: 1.0.6 –Date: 24 Jul 2021
- Fixed: Role assigning problem
- Fixed: User count column
- Added: Option to disable the wholesale feature
- Fixed: Some other minor issues
Version: 1.0.4 –Date: 26 may 2021
- Added: Pending user count notification into the Whols menu
- Added: Delete wholesaler request when an user deleted manually
- Fixed: Price color does not change issue
- Fixed: Metabox offset warning
Version: 1.0.0
- Initial Release
