For most WooCommerce B2B wholesale stores, one wholesale plugin is the right place to start, not a custom build. A B2B extension on WooCommerce.com costs about $99 to $179 a year and covers tiered pricing, trade-only prices, hidden catalogues, quote requests and minimum orders. You only need custom code when per-account contract prices live in an ERP, when pricing rules combine several conditions, or when stock and credit have to sync both ways.
Even then, the usual answer is a plugin plus a small custom add-on, not a store built from scratch. Many of the guides you'll find are written by plugin vendors. I don't sell one. I build WooCommerce stores and custom WordPress plugins, so this is how I'd make the call if it were my money.
What does a WooCommerce B2B wholesale store need?
A WooCommerce wholesale store is a normal WooCommerce store with extra rules about who sees what, at what price and on what terms. Here's what wholesale buyers usually ask for:
- Tiered pricing. The unit price drops at set quantities, say 10, 50 or 100 units.
- Customer-specific pricing. Prices by group (retail, trade, distributor) are easy. A separate negotiated price list for every account across thousands of SKUs is a different job.
- Quote requests. A quote basket replaces Add to Cart or sits next to it, so buyers can ask for a price on large or custom orders.
- Gated catalogue. Guests can't see prices or certain products, and trade accounts need approval before they can buy.
- Minimum orders. A minimum quantity per product, a minimum order value, or case-pack multiples.
- Payment terms. Pay on account or by invoice instead of by card at checkout.
- Accounting or ERP sync. Orders, customers and sometimes stock and prices move to Xero, QuickBooks, NetSuite or similar.
- Fast reordering. A quick order form, "order again" and saved lists.
| Feature | A wholesale plugin usually handles it | Custom work is usually needed when |
|---|---|---|
| Tiered pricing | Yes, per product or category | Tiers depend on several things at once, such as customer, region and contract |
| Customer-specific pricing | Yes, by role or group | Each account has its own contract prices held in an ERP |
| Quote requests | Yes, quote basket and email | Quotes need approval steps, versions or PDF generation tied to your systems |
| Gated catalogue | Yes, hide by role, approve registrations | Visibility depends on licences, territories or dealer agreements |
| Minimum orders | Yes, quantity and value rules | Rules mix case packs, mixed-SKU pallets and shipping zones |
| Payment terms | Partly, with an invoice gateway | Credit limits and overdue balances must block checkout in real time |
| Accounting sync | Partly, through existing connectors | Two-way sync of prices, stock and credit with a custom mapping |
How much does a WooCommerce B2B wholesale store cost?
Codeable puts a mid-level WooCommerce build with moderate customisation at $5,000 to $25,000, and complex builds, which is where B2B portals, ERP sync and complicated pricing land, at $25,000 to $100,000 or more. Those are WooCommerce ranges in general rather than B2B-specific, but a wholesale store sits in the same bands. The plugin licence, at about $99 to $179 a year, is the cheap part. The money goes on the build, the integrations and the hours spent getting your real pricing data into the store.
$99–$179
B2B extension licence per year
$5k–$25k
Mid-level WooCommerce build
$25k–$100k+
Complex builds incl. B2B portals
| Cost item | Typical market range | Source |
|---|---|---|
| B2B or wholesale extension licence | $99–$179 a year | WooCommerce.com |
| Store build with moderate customisation | $5,000–$25,000 | Codeable |
| Complex build (B2B portals, ERP, complex pricing) | $25,000–$100,000+ | Codeable |
| Scoped custom plugin, agency estimate | $3,000–$50,000+ | Progressus |
For comparison, WooCommerce's own guide says advanced B2B features on Shopify need Shopify Plus, which starts at $2,300 a month on a three-year term. WooCommerce wrote that comparison, so check it against Shopify's own pricing before you decide.
What really moves the price is the shape of your pricing and your data:
- How many price rules you have, multiplied by how many SKUs they apply to.
- Whether prices are set in WooCommerce or pulled from another system.
- Whether sync runs one way (orders out) or both ways (prices, stock and credit in).
- Whether you need approval workflows for accounts, quotes or orders.
- How much existing customer and order data has to be migrated and cleaned up.
When is a WooCommerce wholesale plugin enough?
A plugin is enough when your pricing fits into a few customer groups and you can explain your rules in a sentence or two. Something like: trade customers get 30% off, distributors get 45%, the minimum order is £250, and guests don't see prices. Every serious B2B plugin covers that.
If that's you, put the budget into the store rather than custom pricing code. The Nortek LED store I built from Figma is a retail catalogue store, not a wholesale one, but the work that mattered was advanced product filters, custom product pages and an optimised checkout. People buying from a big catalogue need to find the right product fast and get through checkout without a fight. After launch, the client's analytics showed a 20 percent uplift in conversion rate and 35 percent faster load times. A wholesale buyer wants the same things. They just also want the price that matches their account.
The other thing to plan for is who keeps the prices up to date. For IPL Biologicals I've handled catalogue and price updates and store operations on a monthly retainer since 2025. Prices change, products get added, and new sections like the Grow Organic sub-brand turn up. Whoever owns your store after launch, someone has to be able to update prices in bulk without breaking anything. A well-known plugin with CSV import usually makes that painless.
When do WooCommerce wholesale plugins stop being enough?
A plugin stops being enough when contract prices live in another system, when pricing rules stack several conditions, or when checkout needs live credit data from your accounts. These are the signs I look for:
- Contract prices live somewhere else. If each account's prices sit in your ERP or accounting system, retyping them into a plugin will cause mistakes. You need a sync.
- Rules combine several conditions. Customer group, plus region, plus quantity break, plus a contract end date. Most plugin settings screens can't express that cleanly.
- You're stacking plugins. One for pricing, one for quotes, one for minimums and one for payment terms, each changing the cart price. You get conflicts and a slow checkout.
- Company accounts with approvals. If several buyers share one account and orders above a limit need sign-off, test this carefully. Some extensions on WooCommerce.com say they support it, so check the product page before you pay for custom work.
- Credit control at checkout. If an account over its credit limit has to be stopped at checkout, you need live data from your accounts system.
- Performance on a big catalogue. Logged-in trade buyers usually skip the full-page cache, and WooCommerce has to work out their price on every product view. Across thousands of SKUs, slow pricing logic shows. My WooCommerce speed fixes post covers what to do about it.
Test with your real price list
Before you buy any WooCommerce B2B plugin, load your real SKUs, three or four real trade accounts and your actual pricing rules into a staging copy. Demo data always works. Yours is what shows the gaps.
Plugin, hybrid or custom build: which should you choose?
Most WooCommerce wholesale stores should go hybrid: one maintained B2B plugin plus a small custom add-on for the one rule the plugin can't handle. A plugin on its own suits simple group pricing. A custom pricing layer only makes sense once you're dealing with approval chains, credit limits and live ERP data across thousands of SKUs.
| Your situation | Best fit | Why |
|---|---|---|
| A few customer groups, simple discounts, card or invoice payment | Plugin | The plugin covers it, and updates and support come with the licence |
| Group pricing plus one awkward rule, such as case packs by category | Plugin + small custom add-on | Keep the maintained plugin and add one focused piece of code for the gap |
| Per-account contract prices held in Xero, NetSuite or similar | Plugin + custom sync | The plugin runs the storefront and the sync keeps prices in line with your system |
| Approval chains, credit limits and live ERP stock across thousands of SKUs | Custom pricing and integration layer on WooCommerce | The rules are your business logic, and they're cheaper to own than to work around |
| Several plugins already conflicting on cart price | Consolidate, then decide | Remove plugins first. One plugin plus custom code is often enough |
The hybrid row is where most real stores land. I've written separately about when to build a custom WordPress plugin, and the rule for B2B is the same: build only the part no maintained plugin can do, and keep it small enough that another developer can pick it up and read it. That focused add-on or sync is the kind of work I do under custom WordPress plugins and internal tools.
What about accounting and ERP sync for WooCommerce B2B?
Sync is the part most likely to push a wholesale project past what a plugin can do. Before you ask anyone for a quote, write down three things for each kind of data (customers, prices, stock, orders, invoices): which system is the source of truth, which way the data moves, and what triggers the transfer.
If orders only need to reach your accounts, an off-the-shelf connector is often fine. If prices, stock and credit also have to come back into WooCommerce, you're probably looking at custom work. I compare both routes for Xero in WooCommerce Xero integration: plugin or custom sync?
How long does a WooCommerce B2B build take?
A WooCommerce B2B build takes longer as integrations and pricing complexity grow. A plugin-based store with a few customer groups is a much shorter job than one with two-way ERP sync, approval workflows or per-account contract prices. The biggest variable usually isn't the code. It's how quickly clean price lists, customer groups and product data turn up. Get your data ready early and you take weeks off the schedule.
What should you ask a WooCommerce developer before hiring?
Ask which B2B plugin they'd use, what they'd build custom, and how they'll test with your real data. These questions show you quickly if you're getting a considered answer or a sales pitch:
- Which B2B plugin would you use, and why that one for my pricing model?
- What will you build custom, and what happens to that code when the plugin updates?
- How will logged-in trade buyers get fast pages on a large catalogue?
- Which system is the source of truth for prices and stock, and how will the sync handle errors?
- How will my team update prices in bulk after launch?
- Will you test with my real data on staging before launch?
If a developer jumps straight to "we'll build it all custom" without asking about your pricing rules, keep looking. Be just as wary of anyone who promises one plugin will handle everything before they've seen your price list. For more checks, see hiring a WooCommerce developer in the UK.
Next step
Send me your pricing rules, a sample of your price list and the systems your store needs to talk to. I'll tell you whether a plugin covers it, where a small custom add-on fits, and what's worth building properly. You can start on my WooCommerce stores page or book a 20-minute call.



