WooCommerce Experts 7 min read

WooCommerce B2B & Wholesale: What a Trade Store Really Needs

A complete guide to WooCommerce B2B: the eight things trade buyers expect, how role-based pricing, quotes, net terms and ERP sync actually work, extension vs custom build, a 10-step implementation plan — from the authors of B2B for WooCommerce.

WooCommerce B2B & Wholesale: What a Trade Store Really Needs

WooCommerce was built for retail. It is still the best platform we know for B2B — but only when it is engineered for it. The gap between "we added a wholesale plugin" and "our trade customers actually order online" is where most B2B projects stall, and closing it is a large part of what WooCommerce experts do.

The stakes are not small. Gartner finds that 61% of B2B buyers prefer a rep-free buying experience, other surveys put self-service ordering preference above 80%, and a large majority say they would switch suppliers for a better online ordering capability. Your trade customers are already ordering online from someone.

We wrote B2B for WooCommerce and Role Based Pricing for WooCommerce, two of the established B2B extensions on the official WooCommerce Marketplace, and we have built wholesale stores on top of them for distributors, manufacturers and importers. This is an honest account of what a wholesale store needs, how each piece works under the hood, and where the effort really goes.

A working B2B store is one coherent pricing-and-access layer (roles, price lists, visibility, minimums, quotes, terms), connected to the systems that hold the truth (ERP, accounting), and fast enough that trade buyers use it instead of phoning. Plugin-stacking fails on all three.

What trade customers expect from a wholesale store

B2B buyers are not browsing; they are restocking. The eight expectations below are the ones that come up in every discovery call, and each one touches WooCommerce's pricing, cart, checkout or order internals.

ExpectationWhat it means in WooCommerceWhere it goes wrong
Their pricePrice lists per customer group; quantity breaks; contract prices; hidden until loginSeveral pricing plugins fighting over the same filter
Minimums and multiplesMinimum order value, minimum quantity, case packs (multiples of 12)Enforced in the cart but not at checkout, or twice
QuotesRequest-a-quote on configurable or high-value items; negotiation; one-click quote-to-orderQuotes become orders with the wrong tax or shipping
Accounts, not cardsTrade registration with approval; purchase orders; net-30 terms; credit limits; invoicesTerms offered to everyone, or approvals done by email
SpeedQuick-order form, CSV upload, reorder from history, live stock300 product pages to click through
Their peopleSeveral buyers per company; sales-rep assignment; order approval chainsOne login shared by a whole purchasing team
Tax handledVAT validation; tax-exempt accounts; inclusive/exclusive display by roleExemptions applied manually after the order
Visibility rulesTrade-only products and categories; retail-only promotionsTrade catalogue leaking to Google and retail buyers

How the core pieces actually work

Role-based and tiered pricing

Every price in WooCommerce passes through a chain of filters before it reaches the cart. A B2B layer registers customer roles (retailer, distributor, VIP), attaches a price adjustment or a full price list to each, adds quantity breaks, and resolves the customer's price once per request — then caches it, so a 10,000-product catalogue with hundreds of customer groups stays fast. Hidden prices for guests are a display rule on top, not a separate system. This is the design behind Role Based Pricing for WooCommerce, and it is the reason stacked pricing plugins fail: each one recalculates, and the last filter to run wins.

Request-a-quote and quote-to-order

A quote is a cart that has not been priced yet. The mechanics: the customer builds a quote basket, submits it with a form, sales adjusts prices and terms, the customer accepts, and the quote converts to a normal WooCommerce order with the negotiated prices locked in — so tax, shipping, stock and accounting all behave as usual. Done properly, PDF quotes, quote expiry and per-line negotiation are part of the same flow.

Trade accounts, approval and net terms

Trade registration is a custom form (company, VAT number, trade references) that creates a user in a pending role until someone approves it. Net terms are a payment method — "Invoice / pay on account" — restricted to approved roles, with a credit limit checked at checkout and the invoice raised in the accounting system. Purchase-order numbers are a checkout field that flows onto the order and the invoice.

Minimums, multiples and restrictions

Minimum order values and quantities, case-pack multiples, and shipping or payment methods limited by role are cart and checkout validation rules that must be enforced in both places and in the block checkout as well as the classic one. Advanced Shipping for WooCommerce is the kind of rule engine this needs on the shipping side: rates by role, destination, cart contents and weight.

B2B and B2C on one store

You do not need two stores. Pricing, visibility, payment methods, shipping and checkout fields can all switch on the customer's role, so retail buyers see a normal shop and trade buyers see theirs — one catalogue, one admin, one set of integrations, one set of updates to manage.

Why stacking plugins breaks

Six plugins each hooking the same price filter do not combine — they fight. Prices flicker between values, minimums are enforced twice or not at all, quotes create orders with the wrong tax, and every WooCommerce update breaks one of them. Performance collapses too: each plugin recalculates pricing on every product, on every page, for every request, and the store that was fast with 200 products crawls at 5,000.

The fix is architectural: one coherent B2B layer that resolves pricing once, caches it, and exposes clean rules to the cart, the checkout and the order lifecycle. That is how we built B2B for WooCommerce, and it is how we build custom wholesale stores.

Marketplace extension or custom build?

Usually both. A marketplace extension covers the common 80% — roles, price lists, quantity breaks, hidden prices, minimums, request-a-quote, trade registration, tax exemption — for a fraction of custom cost, and it is maintained through every WooCommerce release. A thin custom layer handles the 20% that is specific to your business: your ERP's price feed, your credit-limit rules, your approval chain, your quick-order form. WooCommerce experts know exactly where that line sits, which is what saves months.

NeedExtensionCustom layer
Role-based and tiered pricing✓—
Hidden prices, trade-only catalogue✓—
Request-a-quote, quote-to-order✓Custom approval routing
Trade registration with approval✓Credit checks, references
Net terms and credit limitsBasicLive limits from accounting
ERP / accounting sync—✓
Quick-order, CSV upload, punch-outPartial✓
Multi-buyer companies, rep assignmentPartial✓

The integrations that make B2B real

A wholesale store that is not connected to the ERP is a data-entry job with a website attached. The essential syncs are: stock and prices in (scheduled, per SKU, with per-customer price lists where the ERP holds them), orders and new customers out (on order creation, with the PO number and terms), and invoices, payments and credit status both ways. Built on the WooCommerce REST API with queues, logging, retries and alerts, they run every day without anyone watching — and tell you when something did not reconcile. Our API integration work is most often exactly this.

A 10-step implementation plan

  1. Map the customer groups and price lists — how many, where the prices live today (ERP, spreadsheets, heads).
  2. Define the rules per group — minimums, multiples, visibility, payment and shipping methods, tax treatment.
  3. Decide the account flow — registration fields, who approves, what a rejected application sees.
  4. Choose the extension layer and configure roles, pricing and quotes on a staging copy.
  5. Build the custom layer — ERP sync, credit limits, approval chains, quick-order — as one plugin, to WordPress standards.
  6. Make checkout B2B-aware — PO number, terms as a payment method, role-restricted methods, block-checkout compatible.
  7. Load-test pricing with the full catalogue and all groups; profile queries; cache.
  8. Test every scenario — each role, each payment method, quotes to orders, tax exemption, minimums at cart and checkout.
  9. Migrate customers with their roles and price lists; invite them with a walkthrough.
  10. Launch with monitoring — sync logs, failed-order alerts, and a warranty window for the inevitable edge cases.

What to ask before you hire

  • Have you built B2B pricing that stays fast with 10,000 products and 500 customer groups?
  • How do quotes become orders, and how is tax handled?
  • How do net terms and credit limits work at checkout?
  • Is your code compatible with HPOS and the block checkout?
  • What happens to pricing when WooCommerce updates?
  • Can you show me the ERP integration running, including a failed sync?

If the answers are vague, keep looking. Our broader WooCommerce hiring checklist covers the rest.

Built by the people who wrote the plugins

WPWooExperts are the WooCommerce experts behind B2B for WooCommerce and Role Based Pricing for WooCommerce, with 10+ years on the platform and 120+ published extensions. We build wholesale stores that trade customers actually use — one coherent B2B layer, connected to your ERP, on a fixed-price scope. See WooCommerce B2B development, meet the WooCommerce experts or get a free estimate.

Can WooCommerce really handle B2B and wholesale?

Yes. With a coherent B2B layer for roles, pricing, quotes and terms, plus ERP integration, WooCommerce runs wholesale stores with thousands of products and hundreds of trade accounts. It fails when those features are bolted on with unrelated plugins.

Do I need a separate store for wholesale customers?

No. Pricing, visibility, payment and shipping methods and checkout fields can all depend on the customer’s role, so retail and trade buyers share one catalogue and one admin.

How do net-30 terms work in WooCommerce?

As a payment method (“pay on account”) available only to approved trade roles, with a credit limit checked at checkout and the invoice raised in your accounting system through an integration.

What is the best WooCommerce B2B plugin?

The one that resolves pricing once and covers roles, price lists, quantity breaks, hidden prices, quotes, registration and tax exemption in a single layer — then a thin custom plugin for what is specific to you. Marketplace-reviewed extensions are the safest starting point.

How long does a B2B WooCommerce build take?

A configured extension layer with custom registration and checkout typically takes four to six weeks; add ERP integration and custom approval workflows and eight to twelve weeks is realistic. A written scope will give you the real number.

Written by

WPWooExperts Team

Senior WordPress and WooCommerce engineers at WPWooExperts — 10+ years of experience and 120+ plugins published on the official marketplaces.

Join the discussion

Your email address will not be published. Required fields are marked *

Keep reading

Related articles

Start a project

Need a senior WordPress or WooCommerce engineer on your side?

Tell us what you are building. You will get a plain-English plan, a fixed estimate and a realistic timeline — usually within one business day.