Skip to content
DevMarket
Odoo ModulesWordPress PluginsWordPress ThemesShopify ThemesApp TemplatesScripts & UtilitiesBlogSell on DevMarket
WordPress and WooCommerce

WooCommerce B2B and Wholesale Setup: Prices, Roles and Order Rules

A WooCommerce B2B or wholesale store needs group prices, order rules, approved accounts, VAT handling and invoices. See what WooCommerce does by itself, what needs a plugin, and how to set it up step by step.

By DevMarket EditorialPublished: 9 min read
WooCommerce B2B and Wholesale Setup: Prices, Roles and Order Rules
On this page

A WooCommerce B2B store sells to businesses: group prices, fixed quantities, approved accounts, VAT numbers and payment by invoice instead of card. WooCommerce gives you customer accounts, user roles, tax settings, offline payment methods and manual orders. Group prices, minimum quantities, hidden prices and account approval are not documented as core settings, so they come from a plugin, an extension or custom code.

In short

  • Core WooCommerce covers accounts, roles, tax display, offline payments and manual orders. It has no documented setting for group prices, minimum quantities, account approval or hiding prices.
  • One store with a wholesale role is simpler to run. A separate wholesale site isolates prices, caching and policies, at the cost of double upkeep.
  • Collect the buyer's VAT number, and ask your accountant how it changes tax and invoices.
  • Payment on account means offline methods and manual orders with a payment link. WooCommerce has no credit-terms feature.
  • Test as a guest, a retail customer and a wholesale customer, and keep caches from mixing their prices.

What does a WooCommerce wholesale store need?

A wholesale store is a normal store plus rules about who sees what, how much they must buy and how they pay. Write down your answer to each row below. Checked against WooCommerce documentation in October 2026.

A checklist card with several rows, some ticked and some still open
List every wholesale need as a row, then mark which ones WooCommerce covers and which need a plugin, an extension or custom code.
NeedWhat core WooCommerce documentsWhat usually needs more
Separate prices per customer groupRegular and sale prices per productA pricing plugin or custom code
Minimum quantities and case sizesA Sold individually checkbox onlyA quantity-rules plugin or code
Approved-customer registrationCustomers register at checkout or on My accountAn approval step, by plugin or by hand
Hidden prices or cataloguePer product: Catalog visibility, and Public, Password protected or PrivateA plugin or code that works per customer group
Tax-exempt buyers and VAT numbersTax status and class per product, prices shown with or without taxAn extension or code for per-customer exemption, and a VAT number field
InvoicesThe Order Details email with a payment linkAn invoicing plugin or accounting software
Payment termsBank transfer, check payments, cash on deliveryA process, plus invoicing tools

What does WooCommerce do by itself?

Roles and customer accounts

People who register at checkout or through sign-up get the Customer role, and a Shop manager runs the store without full Administrator access (roles documentation). To change someone's role, open Users > All Users, select the user and choose a role.

The account settings at WooCommerce > Settings > Accounts & Privacy include Enable guest checkout, Enable log-in during checkout and Account creation (After checkout, During checkout, On "My account" page). To make buyers log in or register, untick guest checkout.

One catch: by default a Shop manager can edit only users whose sole role is Customer. If wholesale buyers get another role, a developer must allow it, as WooCommerce's developer guide describes, or an administrator makes those changes.

Tax, at a basic level

At WooCommerce > Settings > Tax you choose whether you enter prices with tax, and whether the shop and the cart and checkout show prices Including tax or Excluding tax. On each product, Tax status is Taxable, Shipping only or None, and Tax class defaults to Standard (setting up taxes, product editor settings). These apply to the store or a product, not a customer. WooCommerce's documentation describes no screen to exempt one customer or role, though its code has a per-session VAT-exempt flag that an extension or developer can use. Your accountant decides how a business sale is taxed.

Offline payments and manual orders

At WooCommerce > Settings > Payments > Take offline payments you can enable Direct bank transfer, Check payments and Cash on delivery. Orders paid by direct bank transfer are set to On hold until you confirm the deposit. For more on gateways, read WooCommerce payment gateways.

For payment on account, create the order at WooCommerce > Orders > Add order, choose the customer, set the status to Pending payment and save. Then, under Order actions, choose Send order details to customer: the email includes a Pay for this order link. The paying for orders guide adds that each order accepts only one payment and that registered customers see a Pay option under My account. Due dates and credit limits are not part of it.

Which wholesale features need a plugin or code?

Three DevMarket items touch this list, described as their pages say. Test on a staging copy.

  • Role Based Pricing for WooCommerce sets a separate price per user role on each product and variation, while guests and other customers see the normal price. Its page says role assignment and approval are handled with other tools.
  • Min/Max Quantity Rules for WooCommerce sets minimum, maximum and step quantities per product, such as multiples of 6 for case sizes, plus minimum order amounts or item counts. Its page lists roles that skip the rules, not rules per role, so check it fits if wholesale and retail need different minimums.
  • Checkout Field Editor for WooCommerce adds fields such as a GST/VAT Number field, with format checks for EU VAT and India GSTIN numbers. Its page does not claim live number verification or tax changes.

Hidden prices, approval forms and per-customer tax exemption come from other plugins or code: vet them as in the best WooCommerce plugins guide.

An approval workflow, in general terms: the applicant registers with a company name, VAT number and trade documents; you check them and change the account's role; the wholesale role unlocks prices. Core handles accounts and the role change. Documents, a pending state and notifications come from a plugin, or from a contact form and a spreadsheet. The role must exist first, so add one with a role-management plugin, as the roles page suggests.

One store with roles, or a separate wholesale site?

This is a judgement call.

One store with a wholesale roleA separate wholesale site
UpkeepOne site to update, secure and back upTwo sites, or a Multisite network
Catalogue and stockShared, so stock stays in one placeDuplicated or synchronised
PricesRole-based, so mistakes and cache problems can show the wrong priceSeparate, so retail and wholesale never mix
Look and policyOne theme and one set of policiesIts own domain, theme, payment methods and terms

Start with one store unless wholesale needs a different brand, currency, tax setup or shipping rules. WordPress Multisite runs several sites in one installation: check each plugin's Multisite support.

How do B2B VAT invoices work?

A business buyer usually needs an invoice with their company name and VAT number. Whether a sale is taxed, zero-rated or exempt depends on the buyer, the goods and the country, so confirm it with your accountant and the tax authority. This guide is not tax advice. Our guides to WooCommerce tax and VAT setup and VAT and invoices for online stores in Saudi Arabia cover the settings and the basics. In Saudi Arabia, invoices to businesses are generally standard tax invoices, which the ZATCA phase 2 guide treats differently from consumer ones. Ask your invoicing provider what it supports before you promise buyers anything.

How do you set up a wholesale store, step by step?

  1. Choose the structure. One store or two, using the table above.
  2. Write the rules. Groups, prices, minimums, case sizes, payment terms and catalogue access.
  3. Set accounts. In Accounts & Privacy, decide on guest checkout and account creation.
  4. Create the role. Add a wholesale role with a pricing or role-management plugin and test assigning it at Users > All Users.
  5. Add prices and order rules. Set group prices on simple and variable products, then minimums, maximums and case-size steps with clear messages.
  6. Handle tax and VAT. Choose how prices display at WooCommerce > Settings > Tax and capture the VAT number.
  7. Set payment. Enable bank transfer, add instructions and decide how manual orders and payment links work.
  8. Hide what retail buyers should not see. Check direct links, search and category pages.
  9. Test with real accounts. Use a guest, a retail customer and a wholesale customer in separate browsers, not your admin login, and check prices, minimums, tax display, emails and payment links for each.

Which mistakes should you avoid?

Mixed prices in caches. WooCommerce's caching guide says the Cart, My Account and Checkout pages must stay dynamic. Shop and product pages are normally cacheable, which is the risk: a cached page built for one group can be served to another. The guide does not cover role-based prices, so ask your host or cache plugin how it treats logged-in users, then test one product as a guest and as a wholesale customer. WooCommerce stores variable-product price ranges in a transient, and a developer can vary its cache key with the woocommerce_get_variation_prices_hash filter, so ask a pricing plugin's author how it handles that. Our speed guide explains what must not be cached.

Other mistakes: hiding prices with CSS only, which leaves them in the page source; ignoring how a pricing plugin treats users with two roles; and promising net terms before you have an invoicing tool.

Frequently asked questions

Does WooCommerce have wholesale pricing built in?

Not as a documented setting. You can set regular and sale prices per product, but prices per customer group need a plugin or custom code.

How do I hide prices from guests?

Core has per-product catalogue visibility, not per customer group. Use a plugin or code, and test your cache.

How do I handle tax-exempt customers?

WooCommerce's documentation describes no per-customer exemption screen. Decide the tax treatment with your accountant, then use an extension or a developer.

Can wholesale customers pay by invoice?

Manually, yes: use an offline method or a manual order with a payment link, and track due dates in your accounting tool.

Do I need a separate wholesale site?

Not usually. Consider one if wholesale needs a different brand, tax setup or policies.

Next steps

Read WooCommerce tax and VAT setup, compare payment gateways and review speeding up your store. You can browse WooCommerce plugins on DevMarket.

Items mentioned in this article

The software this guide talks about, ready to look at.

  • PluginNew

    Checkout Field Editor for WooCommerce – VAT, GST & Custom Fields

    Add, edit and require WooCommerce checkout fields like VAT or GST numbers and delivery notes, saved to the order, admin screen and emails.

    by TAQNIX
    No reviews yet
    Sales:0$29.00
  • PluginNew

    Role Based Pricing for WooCommerce – Wholesale & B2B Discounts

    Set a custom price per user role for wholesale and B2B customers: lightweight, no bloated membership features, with variable product support.

    by TAQNIX
    No reviews yet
    Sales:0$29.00
  • PluginNew

    Min/Max Quantity & Minimum Order Rules for WooCommerce

    Set minimum and maximum quantities per product, quantity steps, and minimum or maximum order amounts, with clear messages and checkout blocking.

    by TAQNIX
    No reviews yet
    Sales:0$24.00

Find the right software for the job

Every item on DevMarket has a human-reviewed release, an instant licence key and clear update and support terms.