How to set WooCommerce wholesale prices

Updated March 20, 2023

As an online store, you might consider selling products to both retail and wholesale customers. For this, you’d need to set WooCommerce wholesale prices, which would be different to products’ retail prices.

Ideally, you’d want to set wholesale prices without having to create two separate websites or duplicate products. You need a public shop for retail shoppers, and a private wholesale area for B2B customers.

Wholesale customer accessing wholesale area.

One way to do this in WordPress is by using a WooCommerce role based pricing plugin. All you need to do is install the WooCommerce Wholesale Pro plugin and add wholesale discounts for your products. Retail customers will see the standard prices whereas wholesale customers will see discounted prices in the wholesale area.

In this article, we’ll show you how to set up all of this, and add wholesale prices on your WooCommerce store in five easy steps.

Install WooCommerce Wholesale Pro today and get a complete wholesale store - the easy way!

3 ways to add WooCommerce wholesale prices

The WooCommerce Wholesale plugin comes with unlimited wholesale user roles. You can set different wholesale prices for each role. That way, public shoppers see the normal price for each product, and each trade user sees the correct wholesale prices for their role.

The plugin provides 3 easy ways to set WooCommerce wholesale prices for each user role:

  1. Global wholesale discountThe easiest way to add wholesale prices is to add a global percentage discount for each wholesale role. When you create the role, simply add the % discount. This will be automatically applied whenever a B2B user with that role accesses the wholesale area.
  2. Category wholesale discountMany WooCommerce wholesale stores offer different trade discounts depending on the type of product. If that applies to you, then you can set a percentage wholesale discount for whole product categories. This automatically applies the correct wholesale prices to every product in that category, so you only need to add the trade discounts in one place.
  3. Product-specific wholesale pricingFor complete control over your WooCommerce wholesale prices, you can add an exact cost for each individual product or variation. Instead of calculating the trade discount automatically, each wholesale role is charged a specific price which you enter on the Add/Edit Product screen. This takes longer to set up, but is the most exact way of setting wholesale prices in WooCommerce.

Whichever wholesale pricing method you use, there's no need to waste time duplicating prices. You use the same products to both retail and wholesale users. That way, you don't need to maintain multiple copies of each product, and you don't need to worry sharing stock levels across products.

How it works

Before I tell you how to add WooCommerce wholesale pricing to your store, let's look at the journey from the customer's perspective:

This is what happens when a retail customer visits your website

  1. The customer visits your website and visits the shop page.
  2. They browse around and view products and categories as normal. They see the standard price for each product.
  3. The customer adds products to their cart, checks out and pays in the usual way.

Public customers have no idea that you even have a hidden wholesale area!

This is what happens when a wholesale customer visits your website

  1. The wholesaler visits your website and access the wholesale login page. (If they don't have an account yet, then they can complete a registration form if you have enabled wholesale registration. Depending on your settings, they can either login instantly or wait until you approve their registration.)
  2. The wholesaler is redirected to the wholesale store page, which either looks like the main shop page (with wholesale prices) or appears in a quick order form layout:
  3. Finally, they select products and complete the checkout to place their wholesale order.

Selling different products to retail and wholesale customers

So far, we've learned how the WooCommerce Wholesale Pro plugin lets you sell the same product for different prices depending on the user's role. But what if you want to offer different products to B2B and B2C customers? Fortunately, you can do that too.

As well as having built-in WooCommerce wholesale pricing, the plugin has a facility to restrict access to your public and wholesale products. There's an option on each product category to make it visible to public users only, wholesale users only, or to let everyone see it.

To sell different products to retail and wholesale users, you simply need to create separate categories and choose who can access each one.

How to set wholesale prices on your WooCommerce store

As you can see, WooCommerce Wholesale Pro has everything you need to add wholesale prices to your store. Next, I'll tell you how to set it up. Alternatively, sign up to our free e-course for even more advice and tips:

Assuming you already have a WooCommerce store set up with some products added to it, here’s what you need to do to set WooCommerce wholesale prices:

Step #1: Install and activate the WooCommerce Wholesale Pro plugin

Get the WooCommerce Wholesale Pro plugin and install and activate it to your WordPress website. Once that’s done, head over to WooCommerce → Settings → Wholesale to activate your license key.

WooCommerce Wholesale Pro plugin settings

Use the other settings on the page to control how the wholesale store works. For example, you can choose whether or not to allow new wholesalers to register, and whether to disable the price or hide prices from logged out users.

Click the Save changes button at the bottom of the screen to continue.

Step #2: Create a user role for wholesale customers

Next, click on the 'Roles' link at the top of the page.

You'll see that the WooCommerce wholesale prices plugin has already created one wholesale role for you. If you just want to show one price to public customers and one price to all wholesale users, then you only need the one role. Otherwise, add as many extra wholesale roles as you like.

Step #3: Set wholesale prices for your WooCommerce store

As we saw earlier, the plugin provides 3 ways to set WooCommerce wholesale prices. Use whichever of them you need in your wholesale area.

You can combine the different types of wholesale pricing as required, and the plugin will also show the correct price. For example, if you set a global, category-level AND individual product discount then wholesalers will just see the individual product discount. If there is no product-specific wholesale price then wholesalers will see the category discount, and so on.

Adding a global wholesale price

wholesale user roles
  1. Go to WooCommerce → Settings → Wholesale → Roles.
  2. Click to edit each wholesale role.
  3. Add a whole number in the global discount field. This percentage will be deducted from all products, unless it is overridden by a category or product-specific wholesale price.

Adding category wholesale pricing

wholesale ecommerce visibility
  1. Go to Products → Categories.
  2. Either add a new category or edit an existing one.
  3. Add a whole number for each wholesale role. This will be deducted as a percentage discount off all the product pages (except for products where you set an exact wholesale price).

On this screen, you can also hide the category from public or wholesale users if required.

Adding exact wholesale product prices

WooCommerce variable product wholesale price
  1. Go to the main Products list in the WordPress admin and click on the product you want to add an exact wholesale price for.
  2. On the 'Edit Product' screen, scroll down to the 'Product Data' section. For simple products, go to the 'General' tab and add an exact price (not a percentage discount) for each wholesale user role. For variable products, go to the 'Variations' tab and enter an exact wholesale price per variation.

Step #4: Start adding wholesale users

Finally, you need to create user accounts for your B2B customers so that they can log in and view the WooCommerce wholesale prices. Here’s what you need to do:

Create a user account for a wholesale customer.
  1. Head over to Users → Add New from the WordPress dashboard.
  2. Fill out the form in the Add New User screen.
  3. Make sure you assign them the correct wholesale customer role which you created in Step #2. Following our example, this would be Wholesale Customer.
  4. Click the Add New User button to continue.

Repeat the above steps to create as many wholesale user accounts as you need. This way, whenever your wholesale customers log in, they will be able to view the wholesale area and products with WooCommerce wholesale prices.

Other ways to add users who can see the wholesale pricing

If you enabled wholesale registration on the plugin settings page, then new B2B users can register directly on the wholesale registration page. You can choose whether to hold their account for moderation before they can login and see the wholesale prices for the first time.

You can also convert existing users to wholesale customers. To do this, simply edit the user in the WordPress admin and change their role to one of the wholesale roles.

When your trade users login, they'll see the correct WooCommerce wholesale price for their role. If you're using the order form layout then the wholesale area will look something like this:

Front-end preview of the wholesale product table

Start adding WooCommerce wholesale prices today!

If you want to be able to sell to both retail shoppers and wholesale customers, you can use the WooCommerce Wholesale Pro plugin to show wholesale pricing to logged in B2B users, without changing the experience for your public shoppers.

WooCommerce Wholesale Pro has everything you need to create a private wholesale area in WordPress:

  • Easy 10-minute setup
  • No technical knowledge needed
  • Full documentation and video tutorials
  • 30-day guarantee - love it or your money back!

Install WooCommerce Wholesale Pro today and get a complete wholesale store - the easy way!

Do you have any questions about how to create a wholesale area on your online store or set WooCommerce wholesale prices? Let us know in the comments below. You can also read our full tutorials on creating a WooCommerce wholesale store, and creating a WooCommerce wholesale order form.


  1. Andres
    July 28, 2022 Reply

    i want the user with wholesale role at the time of buying the stock of each purchased product is not affected, is there a solution?

    • Nikki
      August 4, 2022 Reply

      Hi Andres. Thanks for your comment. You can achieve this by creating separate/duplicate products - one version for retail and another version for wholesale. You'll only enable the 'manage stock' option for retail products and disable the 'manage stock' option for wholesale products. Let me know if you have any other questions. You can also get in touch with us via our dedicated Support Center.

  2. Sujon
    March 1, 2022 Reply

    I added the wholesale price per product. Is there any way to get the wholesale price of a product programmatically?

    • Carlo
      March 3, 2022 Reply

      Hi Sujon, Thank you for your comment and for getting in touch with us through our Support Center so that we could assist you better. If you have further questions or concerns, please do not hesitate to contact us. Have a nice day.

  3. Tony Bittan
    January 24, 2022 Reply

    How do I get he wholesale prices to display in the cart/ basket? currently they do not.

    • Edge
      January 24, 2022 Reply

      Hi, Tony. If you're logged in as a wholesale user and add wholesale products to the cart, the wholesale prices should also display/reflect in the cart. I've tested this in our front-end demo, and the wholesale prices are displayed in the cart as expected. As I'm unable to replicate the issue, we'll need to work out what's causing the issue for you. Please could you contact us via our Support Center so we can assist you best and as quickly as possible. Thanks.

  4. Mirna
    July 22, 2020 Reply


    In the beginning of the article you say: " Ideally, you’d want to set wholesale prices without having to create two separate websites or duplicate products – one for retail shoppers and the other for B2B customers."

    Later on, you say when you want to sell the product to both wholesale and retail you have to duplicate. And that's not what I want.

    So what is the way to not duplicate but still have wholesale prices? Isn't there an option to have both prices on the same product?

    Many thanks,


    • EJ
      July 27, 2020 Reply

      Hi, Mirna.

      Thanks for your comment and interest in our plugins for WordPress and Wo​oCommerce.

      I believe our brand new plugin may be exactly what you're looking for, as it allows you to display wholesale prices (i.e. different prices depending on user role) without having to duplicate products. You can have both retail and wholesale prices on the same product, which will display according to user role. Please see WooCommerce Wholesale Pro.

      Let me know if you have any other questions. You can also get in touch with us via our dedicated Support Center.

      Best regards and keep safe,

Please share your thoughts...

Your email address will not be published.