Build a WooCommerce wholesale store: Complete step-by-step guide

August 13, 2021

A huge range of e-commerce platforms are available, making it easier than ever to sell online. However, most platforms don't distinguish between retail and wholesale customers. Keep reading to learn how to make wholesale ordering easy for your B2B users. All you need is WooCommerce plus the best WooCommerce wholesale plugin.

If you sell to wholesale buyers, you'll know that they have different needs compared to retail/public customers. As well as needing wholesale pricing and discounts, they're already familiar with your products and want a quicker, easier way to buy.

The problem is: How can a company like yours add a WooCommerce wholesale area without affecting the experience for normal public customers?

Don't worry, by the end of this article, you'll walk away knowing EXACTLY how to:

  • Add a WooCommerce wholesale area to your existing store (without changing anything for retail customers).
  • Create a 100% private wholesale-only online store.
  • Add a wide range of B2B features - including wholesale registration forms, pricing, user roles, and choosing which products to show in the WooCommerce wholesale and/or retail areas.
  • Grow your wholesale revenue by adding quick one-page order forms, designed specifically for wholesale.

WooCommerce Wholesale Pro prices 1

And the best part? We'll show you how to automate your entire WooCommerce store. You can set it up in 15 minutes, then sit back and let it do all the work for you. It’s way faster and way cheaper so you can start taking wholesale orders today!

Create a WooCommerce wholesale area in 15 minutes
Install WooCommerce Wholesale Pro today and get a complete wholesale store - the easy way!

How NOT to set up wholesale ordering

Most WooCommerce wholesale stores get it wrong in one of these ways:

  • Amazingly, some companies have a public e-commerce store and still take wholesale orders manually. This is a huge waste of time and resources, when they could automate it so easily.
  • Others set up totally separate stores for different customer groups such as their retail and WooCommerce wholesale ordering customers. Of course, this is extremely inconvenient. Your technology should be working for you, rather than creating work for you.
  • Most companies install a basic WooCommerce wholesale pricing plugin, but the wholesale area looks the same as the public shop. If you don't optimize the buying experience for wholesale users then it takes ages for them to select products and buy - reducing your wholesale revenue as a result.

Fortunately, there's a better way to create your wholesale store.

WooCommerce is one of the most powerful and widely-used e-commerce platforms on the web. Its integration into the WordPress Content Management System makes it endlessly customizable, with the broad range of plugins available that change and expand its functionality.

With the best WooCommerce wholesale plugins, you can simply and effectively cater to WooCommerce B2B (business to business) and B2C (business to consumer) customer groups using the same system. You can provide a great wholesale ordering experience for WooCommerce B2B buyers, with an easy-to-manage back end for you.

WooCommerce Wholesale Plugin

This is your complete guide to creating a WooCommerce wholesale ordering store.

You'll learn how to choose and set up the right plugins to create a fully functional wholesale WooCommerce area. We'll cover all the essential features for selling to the trade:

  1. How to create a private wholesale areaDiscover the easy way to protect your WooCommerce wholesale ordering store. We'll do this with the WooCommerce Wholesale Pro WordPress plugin. You can either create a completely hidden B2B store; or a public retail store with private wholesale area. The plugin also lets you hide products. It comes with everything you need including unlimited wholesale user roles, wholesale customer registration (with or without moderation by an administrator), and you can choose which products to show in the public and/or wholesale stores.
  2. Set wholesale pricing and discountsNearly all WooCommerce wholesale stores need to charge different prices to public and wholesale users; and perhaps to different groups of wholesale users. Learn how to add 3 different types of wholesale dynamic pricing.
  3. Create user-friendly wholesale layouts and order formsFinally, you'll learn how to list products in an easy-to-use WooCommerce wholesale ordering form. B2B customers don't want to browse through multiple pages or look at big images, so a wholesale quick re-order list is a must.

At the end of this tutorial, you will know how to create a WooCommerce wholesale store with all these amazing features. It's easier to set up than other WooCommerce wholesale plugins or WordPress membership plugins. You'll have everything you need to enable WooCommerce wholesale ordering today.

To get started, watch the video or follow the written instructions below.

Before you start – set up your basic WooCommerce store

If you haven't already done so, then first install the WooCommerce plugin on any WordPress website. Add some products to get started. At this stage, all your products will be publicly available and presented in the default layout.

Keep reading to learn how to add a hidden WooCommerce wholesale area!

1. Create a private WooCommerce wholesale ordering area

Firstly, you need to add a wholesale WooCommerce store which is hidden from public view so that only approved wholesale customers can access it. You might choose to set up a standard online retail store with a separate private wholesale area. Or you can even have a 100% hidden WooCommerce wholesale ordering store that no one else knows exists!

You can do all of this with WooCommerce Wholesale Pro. In this section, you'll learn how to use this fantastic WooCommerce wholesale plugin to add:

  1. Wholesale login page - with or without a registration form for new wholesalers.
  2. User roles - create additional wholesale user roles.
  3. Wholesale products - you can either use the same products in the public and wholesale areas (with special pricing and order forms for wholesale users, of course); or you can have completely different products for retail and wholesale.
  4. Menu links - Set up the wholesale store navigation.

All these steps are optional, so you can stick with the default options to set up the WooCommerce wholesale plugin even more quickly.

1a. Install the WooCommerce wholesale plugin

To get started, buy the WooCommerce Wholesale Pro plugin. Install and activate the plugin, then add your license key using the instructions in the confirmation email.

As soon as you do this, the plugin will automatically create a wholesale user role, a Wholesale Store page, and a Wholesale Login page.

Your WooCommerce wholesale store is now 90% set up, and you haven't even done anything yet!

1b. Set up wholesale registration (optional)

Secondly, log into the WordPress admin and go to WooCommerce → Settings → Wholesale → General. Choose whether or not to allow new users to register for the wholesale store:

WooCommerce wholesale plugin settings

If you enable wholesale registration, then:

  • The Wholesale Login page will also include a registration form.
  • You can choose whether new wholesalers can access the wholesale area immediately, or whether their customer account will be held for moderation by an administrator first.

If you disable wholesale registration, then you can still add wholesalers manually via the WordPress admin.

Edit your wholesale registration emails (optional)

The WooCommerce wholesale plugin comes with a range of emails for each stage of the wholesale registration process:

WooCommerce wholesale emails

When you install the wholesale plugin, these emails will be pre-populated with suitable wording. You can easily edit the emails at WooCommerce → Settings → Wholesale → Roles if required.

Once registered, wholesale users will receive the same emails as your normal customers. These are provided by WooCommerce rather than the wholesale plugin.

1c. Add extra wholesale user roles (optional)

The WooCommerce wholesale plugin automatically creates one wholesale role. If you want to charge different prices to different wholesale users, then you need to create a separate role for each group.

You can easily do this at WooCommerce → Settings → Wholesale → Roles:

WooCommerce wholesale roles settings page

If you enabled wholesale registration, then new wholesalers will be added to the default wholesale role. You can then change their role manually (for example, when you approve their account).

If you add new wholesale users manually via Users → Add New in the WordPress admin, then you can select the appropriate wholesale role from the 'Roles' dropdown.

1d. Control the visibility of your WooCommerce wholesale products (optional)

By default, all the products in your WooCommerce wholesale store are available to everyone. Public users and normal customers see the standard price for each product, while wholesale users see the correct price for their role.

If you prefer, then you can choose whether each category of products is visible to public users or wholesalers only. You can easily do this under Products → Categories:

WooCommerce wholesale category plugin

This lets you sell different products or SKU's to retail and wholesale buyers.

1e. Set up the wholesale store navigation

Finally, you need to structure your wholesale store so that people can easily find their way around. This only takes a minute:

  • Link to the wholesale login pageSome WooCommerce wholesale stores add a wholesale login link to their public website, while others keep this private. You can add a link to the 'Wholesale Login' page to your menu or anywhere else on your site (e.g. the footer). Or if you want to hide the fact that you have a wholesale store, then you can send a link to the Wholesale Login page to your distributors (e.g. in the email to new wholesale users). As a result, retail customers will never know there's a hidden wholesale area.
  • Edit your navigation menuThe WooCommerce Wholesale Pro plugin cleverly shows and hides your menu links so that each user only sees pages they have access to. Make sure the main menu on your site contains all the required links for both the public and wholesale users. Each one will only see the correct links for them. For example, public visitors or normal customers will see the link to the Wholesale Login page, but they won't see any other links to wholesale-only content. If they login as a wholesale user, then the menu changes to hide any public-only links and display the wholesale-only content. Neat!

Case study: Wholesale navigation for Best Remy Hair Extensions

NRD Web Design used WooCommerce Wholesale Pro to build a private wholesale area for their client Best Remy Hair Extensions.

To ensure that wholesalers can find the hidden products and pricing, they added clear 'Wholesale Login' and 'Wholesale Registration' links to the website header. This creates an intuitive user experience for wholesale buyers, without affecting the navigation for normal customers. 

WooCommerce Wholesale Registration Login Plugin

Next, it's time to set up your WooCommerce wholesale pricing.

Wholesale pricing and discounts

The next step is to add the correct pricing and discounts for your wholesale users. You can set different pricing for each wholesale role - perfect if you have tiered wholesale discounts for different groups.

WooCommerce Wholesale Pro provides 3 easy ways to set wholesale prices:

  1. Global percentage discountOn WooCommerce → Settings → Wholesale → Roles, set a % discount for each wholesale role. This will be deducted from the price of all products for users with that role, except for any products that have a category or product-specific discount.
  2. Category percentage discountFor greater control, you can set category-level % discounts which will affect all products in that category and its sub-categories (except for any products where you have entered individual wholesale pricing).
  3. Product-specific wholesale pricingFor even more fine-grained control, you can set specific wholesale prices for each product or variation. (Note: This option only appears for roles where you have enabled product-specific pricing on WooCommerce → Settings → Wholesale → Roles.)
WooCommerce product wholesale price
An example of setting product-specific wholesale pricing for a variable product

Logged in wholesale users will see the correct product pricing for their role. The main price will appear crossed out, and the wholesale price will appear alongside.

If the product is also visible to guest users and non-wholesale roles, then they will see the standard price as usual. Your WooCommerce wholesale pricing will remain secure and only wholesale users will ever be able to see them.

How to create user-friendly wholesale layouts & order forms

PolBazar24 One-Page WooCommerce Order Form

So far we've covered the best ways to protect your wholesale area from public users and to set wholesale pricing. But that's only half the journey to creating the best WooCommerce wholesale store.

The other half is the layout of your wholesale area. This is more to do with user experience and growing your wholesale sales rather than functionality.

There's little point having a private wholesalers section if it's clunky and difficult to use, or if it looks identical to your retail shop. You need to ensure that you're offering a visually different experience that's better catered to the needs of wholesalers.

Public e-commerce shops tend to use a standard layout with large product images and basic information. This is suited to retail customers who don't need to know detailed specifications for each product but do want eye-catching, persuasive visual listings. Customers can browse the products and click through to view more detail on individual product pages. They take their time to choose each product, and are happy to visit a separate page to choose quantities and variations for each one.

This retail-style layout isn't suitable for most WooCommerce wholesale stores. But strangely, nearly all WooCommerce wholesale plugins neglect this important fact, and leave the wholesale area looking the same as the public shop.

To fix the problem, WooCommerce Wholesale Pro is designed to work alongside its sister plugin - WooCommerce Product Table.WooCommerce Wholesale Pro wholesale default layout

WooCommerce Product Table
The easy way to create a wholesale order form for your store.

WooCommerce Product Table offers a wholesale-friendly order form layout

Products are listed in a responsive space-saving grid or tabular layout with extra product data and instant purchase options.

This is more appropriate for wholesale customers, who are already familiar with your products. They want to see all the information at a glance, select quantities and variations, and make quick buying decisions from a one-page order form. They definitely don't want to waste time visiting a separate page for each product!

A product table wholesale layout provides an easy way for B2B customers to re-order their regular products, acting as a wholesale quick re-order list.

WooCommerce wholesale ordering plugin reviews

Case study #1 - PolBazar24 wholesale product table

PolBazar24 is a Polish food wholesaler. They've made it as simple as possible for customers to place an order using their one-page wholesale B2B re-order list powered by WooCommerce Product Table. It lists everything wholesalers need to know in a quick-to-view layout on the front-end, from a short description to the product price and weight.

The wholesale order form even shows whether the product is in stock. As most wholesale customers know what they're looking for, they just need to check what they want is in stock. Then all they have to do is enter the quantities they need, select any product variations, and click add to cart.

Read on to find out how to create your own wholesale product tables for WooCommerce.

Case study #2 - Yarn Gate wholesale product tables with quick view

WooCommerce wholesale quick view plugin

Yarn Gate use their WC wholesale website to sell high quality knitting yarn to B2B and the trade. They use Woo Product Table together with Quick View Pro and WooCommerce Variation Swatches and Photos to create the perfect WooCommerce wholesale suite of plugins.

The developer wanted a quick one-page wholesale order form that would allow quick buying away from the single product page. They also wanted wholesale customers to be able to click on an image to select each color variation.

The best way to achieve this was to combine the three plugins and select color swatches from a quick view wholesale lightbox.

Keep reading to learn how to achieve the same for your own WooCommerce wholesale website.

How to create wholesale product tables

  1. Get WooCommerce Product Table. You can buy it on its own, but it's cheapest to buy it as a bundle with WooCommerce Wholesale Pro. (You can do this on the WooCommerce Wholesale Pro sales page.)
  2. Install and activate WooCommerce Product Table using the instructions in the confirmation email.
  3. Go to the plugin settings page from the admin panel – WooCommerce → Settings → Products → Product Table. Enter your license key from the confirmation email, choose the default settings for your wholesale order forms, and click Save. You can customize every detail of your tables, from the styling to the table columns, filters and sort order.
  4. You can manually add product tables using a shortcode. However, it's best to set up your product tables centrally in step 3, and then go to WooCommerce → Settings → Wholesale → Layout and automatically enable the product table layout in the wholesale store. This will display the wholesale order form for logged in wholesale users, while keeping your default layouts for guests and retail customers.

Getting more sales from your wholesale product tables

A WooCommerce product table with drop-down variations.
Choose what to display in your wholesale order form

The WooCommerce wholesale table plugin is incredibly flexible. Here's a summary of the main features to list wholesale products:

  • Columns The table can contain various columns. It supports all the main WooCommerce data fields (title, description, categories, product attributes, tags, stock, etc.). You can also add extra product data through custom fields and taxonomies.
  • "Add to cart" buttons By including add to cart buttons, wholesale customers order online directly from the product table view. Choose whether to include a quantity selector and product variations. You can also create further options using the Product Add-Ons plugin. This way, you can create a wholesale order form for easy bulk ordering and quick re-ordering.
  • Wholesale enquiry forms You can replace the add to cart column with wholesale enquiry buttons. By adding buttons or links to the wholesale table, users can click through to a separate page with an enquiry form (created using a WordPress contact form plugin). Alternatively, use WooCommerce Product Table with a Request a Quote plugin.
  • Downloadable documents Lots of Woo wholesale stores provide downloadable files with technical product information. This is useful for downloadable promotional materials, specification documents, etc. You can add a column with an icon, button or text for each product linking to a downloadable PDF or similar.
  • Search, sort & filters Use filters to help wholesale buyers to find products quickly and easily.

Use quick view to speed up wholesale ordering

By now, you know how to create a one-page WooCommerce wholesale order form. But what if you want to show even more information or purchase options, without taking wholesale users to a separate page for each product?

You can do this by adding the WooCommerce Quick View Pro plugin. This wholesale quick view plugin lets you add quick view links or buttons to the order form. Trade customers can view extra product information, choose variations and add to the cart from a quick view lightbox.

Once they have made their selections, they immediately return to the wholesale order form where they can add more products to their order. As a result, it's much quicker than buying from a separate page.

There are lots of ways to tailor the quick view lightbox to your WooCommerce wholesale store. For example:

  • Choose whether or not to include images in the quick view popup. Many wholesale stores sell non-visual products, so there's no need to distract buyers with big images.
  • Decide whether to include quick view buttons, or just let customers open the lightbox by clicking the product name or image.
  • Change the wording of the Quick View button (e.g. to 'Configure Options', 'Read More' or 'Customize Product').
  • Choose which information to display in the wholesale lightbox.
WooCommerce Quick View
Speed up shopping and add quick view options to your WooCommerce wholesale order form.

Test your WooCommerce wholesale store

Now you've set up the WooCommerce wholesale plugin, it's important to test the experience for both public and wholesale users.

  1. Log out and visit the shop as a guest. Can you see the correct products and pricing?
  2. Now login as a wholesale user. Again, can you see the correct products and pricing? Are the menu links intuitive, and can you see the wholesale order form layout (if you're using WooCommerce Product Table)?

Go back to the plugin settings and continue tweaking your wholesale store until it's perfect.

Add wholesale users to your WooCommerce store

Once you've finished testing the WooCommerce wholesale plugin, it's time to start adding wholesale users.

If you have enabled wholesale registration, then people can register for an account on the Wholesale Login page. You might also want to add wholesale users yourself. There are a few ways to do this:

  • Add wholesale users manuallyCreate a user account (Users → Add New) in WordPress for each wholesale user. Assign them to one of your wholesale roles.
  • Convert existing customers to wholesaleIf you want to convert an existing customer to wholesale, then you can easily do this by editing their account and choosing a wholesale role from the 'Roles' dropdown.
  • Bulk import themIf you're migrating from another B2B e-commerce system and have a lot of wholesale users to import, then we have provided instructions on how to do this.

Whichever method you use to add them, your B2B e-commerce users can log into their account and access the private WooCommerce wholesale area. Guests and other user roles will never know it exists!

Bonus tips

Build a 100% private WooCommerce wholesale store

Some wholesale stores don't have a public e-commerce area at all. You can set up the WooCommerce wholesale plugin without a retail-facing store.

To do this, make sure all your product categories are marked as 'Wholesale Only'. This will hide them from public view and from search engines.

If you want to hide other parts of WooCommerce too - for example, the links to your cart and checkout pages - then we recommend using WooCommerce Wholesale Pro with our other WooCommerce B2B plugin, WooCommerce Private Store. Use WooCommerce Wholesale Pro for your wholesale registration, login, and to set different prices for each wholesale role - and use WooCommerce Private Store to ensure that those extra parts of your store are hidden from public view. (Note: Your non-WooCommerce pages - such as the homepage and blog - remain public.)

WooCommerce Private Store is designed specifically for stores that don't sell to the public. Just read what this happy customer said about it:

Exactly what I needed
By Ulrik Bentsen
Building a wholesale store, with a plugin, where only my accepted dealers can obtain access, was exactly what I was looking for - and Barn2Media provided exactly that plugin.... After watching the YouTube videos and communicating with Barn2Media, I had no doubts, that this was the right plugin for me - and it works just perfect....

Hide prices from non-wholesale users

Perhaps you have a wholesale-only store where you want the public to be able to browse the products, but not see the wholesale pricing. You can do this by using WooCommerce Wholesale Pro with the Catalog Visibility Options plugin:

  • Use Wholesale Pro to set up wholesale user registration, create wholesale user roles, and to add WooCommerce wholesale pricing and discounts.
  • Use Catalog Visibility Options to hide the prices and add to cart buttons from logged out users. You can also hide them from logged in users with non-wholesale roles.

When non-wholesalers visit your store, they can browse products as usual, but the prices and purchase options will remain hidden.

Create customer-specific wholesale products and pricing

Some WooCommerce wholesale stores provide specific products and/or pricing for each customer. For example:

  • You might sell custom products (e.g. branded items) that are specific to each wholesale user.
  • Alternatively, you might sell the same products to all your wholesalers, but need to charge user-specific pricing.

We've provided instructions on how to do this.

Offer different payment and shipping methods for wholesale customers

Some Woo wholesale stores choose to offer different payment methods for B2B and B2C customers. For example, trade customers might pay by invoice rather than online. Other stores have different shipping options for wholesale users, which are more suitable for bulk buying.

The good news is that there's an excellent plugin for this. Role-Based Payment / Shipping Methods is a WordPress plugin available on It provides easy ways to offer different shipping and payment methods depending on the user role.

Use it to set your standard B2C options for retail customers and guests; and your B2C options for logged in wholesale users.

Want to create a WooCommerce wholesale area in 15 minutes?

WooCommerce Wholesale Pro is a plug-and-play solution to help store owners and developers to create a professional wholesale area in minutes. It's the best WooCommerce B2B plugin for online store owners that want to sell to different types of customers.

No technical knowledge is required. Just follow the instructions in this tutorial, and you'll be up and running in no time.

  • WooCommerce wholesale plugin with quick plug-and-play setup.
  • In-depth documentation and video tutorials showing you ever step and every click (absolutely no way to get it wrong!).
  • Technical support is available if you need any help.
  • Zero-risk 30 day money back guarantee. Love it or get a full refund!

Get the WooCommerce B2B plugin here, and start taking wholesale orders TODAY →

Create a WooCommerce wholesale area in 15 minutes
Install WooCommerce Wholesale Pro today and get a complete wholesale store - the easy way!


  1. Lesley Matthews
    March 23, 2021 Reply

    Can someone please assist - I need the 'Wholesale' User Role to reflect a minimum quantity to add to cart and I don't want it to reflect this on the public view. I only want it active for the categories they're approved to purchase from.

    • Jae Narra
      March 23, 2021 Reply

      Hi, Lesley. To do what you describe, you can use the free Min and Max Quantity Rule for WooCommerce plugin which has a feature to set minimum and maximum quantity options for specific user roles, so you can use it to add quantity rules for your wholesale rules only and your retail customers can continue ordering any quantity, as usual.

      I hope this helps. If you have any questions/concerns, kindly fill up a form at our Support Center so we can get back to you much sooner.

  2. Camila San Martín Riveros
    December 2, 2020 Reply

    Hi, I need a plugin like this but with a special feature. Some wholesale clients will never register their orders in the platform but anyway we need the registration in woocommerce. In this way, we are looking for a plugin that allows us to register wholesale orders for a specific user with the corresponding price by the Woocommerce order back end or importing them by a csv file. Is it possible with this plugin?.


    • Jae Narra
      December 3, 2020 Reply

      Hi Camila,

      Thanks for your comment.

      Unfortunately, due to technical limitations in WooCommerce itself and the manual ordering process, we haven't managed to find a way to display the wholesale price when you select a user with a wholesale role on the Create Order screen. Instead, the main price will appear and you should click the pencil icon to edit the price for the product and add the correct wholesale price that way. I'm sorry that this isn't possible.

      If you have any other questions/concerns about any of our plugins, kindly fill up a form at our Support Center so we can get back to you much sooner.

  3. Euan Fielder
    November 3, 2020 Reply

    We are evaluating your Wholesale Pro plugin which is looking great so far but one of our clients has a specific need to discount to wholesale based on order value.

    So £100 - £200 = 10% discount, £201 - £350 = 20% discount, £351 - £500 - 30% discount, over £500 = 40% discount.

    We can't see any way to achieve this with your plugin but wanted to check with you first that we were not missing something.

    Can your plugin achieve this?

    Many thanks


    • Edge
      November 6, 2020 Reply

      Hi, Euan. Thanks for your interest in WooCommerce Wholesale Pro. Our plugin allows you to set role-based discounts. What you describe you would like to achieve are bulk or quantity-based discounts, which is a feature request for our plugin so I have added your vote for it. For more details about this, as well as a suggested workaround for you to consider in the meantime, please see: Can I add bulk pricing or quantity-based discounts? Many thanks.

  4. Leelaram
    October 27, 2020 Reply

    Hello guys how r u

    • Jae Narra
      October 27, 2020 Reply

      Hi Leelaram,

      Thanks for your comment and interest in our professional, high-quality, and lovingly handcrafted plugins for Wo​oCommerce! We're doing great and we hope you are too!

      If you have any questions/concerns about any of our plugins, kindly fill up a form at our Support Center so we can get back to you much sooner.

      Looking forward to your response.

Please share your thoughts...

Your email address will not be published.