A wholesale store is not just a normal WooCommerce shop with a bigger discount. For repeat B2B sales, you also need a simple way to keep track of the companies and people behind those orders. The moment you sell to businesses, you may need account approval, different prices for different buyers, minimum order quantities, tax-exempt customers, invoice or account payment methods, hidden catalogs, quick ordering, quote requests, and repeat purchasing tools. If those rules are added one by one without a plan, the store becomes difficult to price, test, and support.
This guide builds the B2B layer around the buyer lifecycle first: a company applies, you approve the account, the right catalog and price list appears, the buyer places a bulk order under the correct quantity and payment rules, and your team can fulfil or review that order without manually correcting every checkout. The goal is a wholesale system that is predictable for both the buyer and the store team.
TL;DR
Use WooCommerce as the commerce base, then add one complete B2B or wholesale suite for account approval, customer groups, role-based pricing, catalog visibility, quantity rules, tax handling, payment/shipping restrictions, and quotes or bulk ordering where needed. Good all-in-one options include a dedicated wholesale solution, a dedicated wholesale solution, a dedicated wholesale solution, and a dedicated role-based pricing solution. Do not install several overlapping wholesale suites together. Pick one owner for pricing and account rules, then add a dedicated quick-order or invoice extension only if your chosen suite does not already solve that job.
Who this build fits and what the first version needs
This setup fits manufacturers, distributors, trade suppliers, wholesalers, importers, agencies selling products to clients, and brands that run both retail and trade sales from the same WooCommerce store. It also works for a private B2B-only catalog where unapproved visitors should not see wholesale prices or place orders.
A working first version needs a buyer-registration and approval flow, at least one B2B customer group or role, wholesale pricing rules, quantity or order-value rules where required, correct tax treatment, payment and shipping methods that match the buyer type, a clear ordering path, and an admin process for approving accounts and handling exceptions. If buyers regularly reorder many SKUs, a quick-order form or saved list becomes much more important than decorative storefront features.
This is different from the broader WordPress online store use case because pricing, access, account status, and checkout rules change by customer segment rather than remaining the same for everyone.
What to know before you start
- Decide whether the store is B2B-only or mixed B2B+B2C. A mixed store needs clean separation between retail and wholesale visibility, pricing, tax display, and checkout rules.
- Define customer groups before defining discounts. For example: Retail, Wholesale, Distributor, VIP Dealer, or Contract Account. Each group should exist for a business reason, not just because the plugin can create unlimited roles.
- Choose how pricing works. Fixed wholesale prices, percentage discounts, category-level rules, customer-specific pricing, and quantity tiers can all work. Avoid combining them without a clear priority order.
- Write your minimum-order policy. Decide whether the rule is per product, category, cart quantity, or order value.
- Decide whether new business accounts need manual approval. If pricing or payment terms are negotiated, manual approval is usually easier to control.
- Separate tax configuration from tax advice. Plugins can apply exemptions or different display rules, but your legal tax treatment depends on the business and jurisdiction.
- Choose whether wholesale buyers pay online or on account. Some businesses need card payments, others need bank transfer, purchase orders, net terms, or invoice workflows.
- Plan repeat ordering. High-frequency B2B buyers may care more about SKU search, CSV upload, saved lists, and fast reordering than about browsing category pages.
Recommended plugin stack
Plugin choices for this guide: Wholesale stores can be built with several B2B and pricing plugins. Compare the options in our best WooCommerce B2B and wholesale plugins roundup. For this guide, WooCommerce is the commerce base and Discount Rules for WooCommerce handles the core wholesale pricing rules. For customer relationships, compare our WooCommerce CRM roundup; this guide uses Bit CRM. For card payments, compare the best WordPress payment plugins; this guide uses WooCommerce Stripe Payment Gateway. Add PDF Invoices & Packing Slips for WooCommerce only if formal invoice or packing documents are part of the B2B workflow.
Keep the first version simple. You only need a small core stack to launch a basic wholesale store. Add more tools later only when a real workflow requires them.
| Role | Plugin | Why you need it |
|---|---|---|
| Commerce engine | WooCommerce, | Runs products, checkout, orders, customer accounts, shipping, tax settings, and payments. |
| Wholesale pricing and rules | Discount Rules for WooCommerce, | Handles quantity discounts and customer-specific pricing rules for the wholesale layer. |
| Payments | WooCommerce Stripe Payment Gateway, | Gives approved buyers a straightforward online card-payment option. |
| Invoices | PDF Invoices & Packing Slips for WooCommerce, | Add this when buyers or fulfilment staff need formal invoice and packing-slip documents. |
| CRM and B2B relationships | Bit CRM, | Tracks business contacts, account context, follow-ups, and ongoing buyer relationships after the first wholesale order. |
How to build a wholesale or B2B store with WordPress step by step
Keep the first B2B version small: one approved buyer type, one wholesale pricing rule, one payment path, and one complete test order. Add more tiers only after that works.
Step 01: Configure WooCommerce and the product catalog
Set up WooCommerce with the products, SKUs, categories, stock, shipping, tax settings, and normal checkout. Add one representative product that you can use for testing wholesale rules.
Check: The product can be purchased at the normal retail price before any B2B rule is added.
Step 02: Create the wholesale buyer rule
Decide how you identify approved wholesale buyers: a dedicated customer role/group or specific approved users supported by your pricing setup. Keep one wholesale tier for the first version.
Check: You can clearly tell an approved wholesale account from a normal retail customer in WordPress admin.
Step 03: Add wholesale pricing
Configure Discount Rules for WooCommerce for the approved wholesale buyer type. Set the actual wholesale price or quantity discount you need and avoid stacking several overlapping rules.
Check: The approved wholesale test account sees the intended price while a retail visitor still sees the normal price.
Step 04: Add minimum quantity or order rules
If the business requires case quantities, minimum units, or a minimum cart value, configure that rule and show it near the product/order interface so buyers know before checkout.
Check: An order below the minimum is blocked with a clear message and a valid order can proceed.
Step 05: Configure the payment and invoice path
Enable the payment method wholesale buyers actually use. If buyers need formal order documents, configure PDF Invoices & Packing Slips for WooCommerce. Do not enable credit-style terms for every new account automatically.
Check: The wholesale test account sees only the intended payment options and receives the expected invoice/order document.
Step 06: Track the buyer relationship in Bit CRM
Add the approved business contact to Bit CRM and record the company/contact context your team needs for follow-up. Keep pricing logic in WooCommerce; use the CRM for relationship and follow-up information rather than duplicating product prices there.
Check: Staff can find the wholesale buyer and its contact context without searching through order notes.
Step 07: Test retail and wholesale side by side
Use two separate sessions: one normal retail user/guest and one approved wholesale account. Compare product visibility, price, quantity rules, payment methods, tax display, and checkout.
Check: Wholesale benefits never appear to the retail session and the wholesale account receives all intended rules.
Step 08: Place and review a complete B2B order
Place a wholesale test order, then inspect the WooCommerce order, pricing, tax, shipping, payment, invoice, and customer record. Fix any rule that requires manual price correction before launch.
Check: The B2B order reaches the correct final totals without an administrator manually editing the order.
What to know before launch
A B2B store creates more operational states than a normal shop. Someone needs to own account approval, pricing exceptions, expired terms, tax-document updates, quote requests, payment issues, and customer-group changes. Write down who can change a buyer’s role and who can change wholesale pricing.
Large role-price tables also create maintenance work. If hundreds or thousands of products have separate wholesale prices, use a suite with bulk import/export or a reliable integration with the system where pricing is actually maintained. Avoid keeping one price list in an ERP or spreadsheet and another manually maintained copy in WordPress without a process for synchronization.
For performance, test the catalog while logged in as different roles. Dynamic pricing and visibility rules can interact with page caching, object caching, search indexes, and CDN behavior. Never cache one customer’s private price list in a way that another customer can receive it.
Mistakes to avoid
- Installing multiple wholesale suites together. Competing price, role, visibility, and checkout rules are difficult to debug. Pick one primary B2B engine.
- Letting buyers self-assign wholesale access. Use approval when wholesale pricing, tax status, or payment terms require verification.
- Creating too many customer tiers. Every tier becomes another price list and another QA path. Add a group only when the commercial rules differ.
- Hiding the minimum order until checkout. Show quantity or cart requirements near the product or ordering interface.
- Mixing fixed prices and percentage discounts without priority rules. Document which price wins before importing a large catalog.
- Giving invoice payment to every new account. Restrict credit-style payment methods to approved customers.
- Adding a quick-order plugin when the main B2B suite already includes one. Duplicate ordering interfaces increase support and training work.
- Treating tax exemption as a plugin setting only. Verify the business and jurisdiction requirements independently.
Best practices for a stronger B2B store
- Keep buyer groups tied to real pricing, payment, or visibility differences.
- Show wholesale pack sizes, case quantities, lead times, and stock expectations clearly.
- Make SKU and product identifiers easy to search because professional buyers often order from internal lists.
- Use a single pricing source of truth and define how WordPress receives updates.
- Give repeat buyers saved lists or fast reordering when purchase patterns justify it.
- Keep approval notes and account status visible to the staff responsible for wholesale relationships.
- Test with real role accounts after changing pricing, caching, tax, checkout, or payment settings.
- Keep B2B-only pages and price lists out of public search results when they are intended to be private.
Launch checklist
- Wholesale registration asks for the information your team actually uses to approve an account.
- Unapproved users cannot see or use protected wholesale pricing.
- Each B2B group sees the correct products and prices.
- Overlapping pricing rules produce the expected final price.
- Minimum quantities and order-value rules are visible and enforced.
- Tax display and exemption behavior match the business’s documented policy.
- Retail users cannot access wholesale-only payment or shipping methods.
- Approved account-payment methods are limited to the intended buyers.
- Quote requests create a clear admin follow-up path if quotes are enabled.
- Quick ordering, SKU search, or requisition lists work for repeat buyers if those features are enabled.
- A completed order records the correct customer group, price, tax, shipping, and payment method.
- Guest, retail, wholesale, and distributor test accounts have been checked separately where applicable.
- Private B2B catalogs or account-only pages are not accidentally exposed to search engines.
Operational ownership and maintenance
Assign an owner for customer approval and another clear owner for pricing rules, even if the same person initially handles both. Wholesale sites become risky when many staff members can change roles, prices, tax status, and payment terms without an audit trail or documented process.
Review inactive B2B accounts periodically. A company relationship, tax status, or credit agreement can change. Also review the plugin stack before major WooCommerce updates and test a representative buyer from each pricing group after updating the B2B suite.
How to confirm the first version works
Start as a new buyer. Submit a wholesale registration and confirm the account does not receive protected benefits before approval. Approve it, log in again, and verify that the expected price list, catalog, payment methods, shipping methods, and quantity rules appear.
Place one valid wholesale order and one deliberately invalid order below the minimum. Then switch to a retail or guest session and confirm that wholesale prices, private products, and trade-only payment methods are not exposed. If you run several B2B groups, repeat the same test with one buyer from each group before launch.
Conclusion
A good wholesale WordPress store is built around buyer rules, not around stacking discount plugins. Use WooCommerce for the commerce foundation, choose one complete B2B suite to own customer groups, pricing, approval, visibility, tax, and checkout restrictions, and add specialist tools only where the suite leaves a real gap.
For a complex hybrid B2B+B2C store, a dedicated wholesale solution or a dedicated wholesale solution are strong places to evaluate because they cover many of the same core workflows in one system. a dedicated wholesale solution is another broad option, while a dedicated role-based pricing solution is worth considering when pricing and role rules matter more than an all-in-one suite. The right choice is the one that matches your actual approval, pricing, ordering, and fulfilment process without duplicating rules across plugins.
FAQs
Can WooCommerce run both retail and wholesale prices in the same store?
Yes. A B2B or wholesale extension can show different pricing, catalogs, payment methods, tax behavior, and order rules based on customer role or group while the same WooCommerce store continues serving retail buyers.
What is the difference between role-based pricing and quantity-based pricing?
Role-based pricing changes the price because of who the buyer is, such as Wholesale or Distributor. Quantity-based pricing changes the price because of how much the buyer purchases. Many B2B suites can combine both, but you should define which rule takes priority when they overlap.
Should a wholesale store hide prices from guests?
Only if that matches the business model. Some stores show a public catalog but require login for trade pricing. Others hide both prices and ordering until a business account is approved. Decide whether product discovery should remain public before making the entire catalog private.
Do wholesale buyers need manual account approval?
Not always, but manual approval is useful when buyers receive negotiated pricing, tax exemptions, private products, invoice payment, or other privileges that should not be granted automatically to anyone who registers.
Do I need a separate quick-order plugin for a B2B store?
Not necessarily. Some full B2B suites already include bulk-order forms or shopping lists. Add a separate quick-order extension only when you need features your main suite does not provide, such as a particular CSV ordering or requisition-list workflow.
