You can run a real wholesale operation B2B without Plus — you just build it differently. On standard Shopify you approximate wholesale with customer tags, discounts, quantity breaks, wholesale apps and custom logic, and you enforce the rules server-side with Shopify Functions so pricing can’t be gamed at checkout. What you don’t get is Shopify’s native B2B model — companies with multiple buyers, per-company price lists and catalogs, native payment terms and a dedicated B2B checkout — because that’s a Plus feature. So the real question isn’t “can I do B2B on standard Shopify?” It’s “does my wholesale complexity justify Plus, or can custom logic bridge the gap?”
What B2B actually needs
Before comparing tiers, get clear on what a wholesale channel really requires. Not every store needs all of it:
- Customer-specific pricing — different accounts (or tiers) see different prices, not one public price.
- Access control — wholesale prices and products are gated; the public can’t see or buy them.
- Minimum order quantities (MOQs) and case/pack rules — buy in 6s, minimum 12 units, minimum order value.
- Payment terms — net-30/60 invoicing rather than card-on-checkout.
- A B2B checkout — tax-exempt handling, PO numbers, buyer permissions, quantity-heavy carts.
The more of these you need — and the more accounts you run them across — the more the balance tips toward Plus.
What you CAN do on standard Shopify
More than most merchants assume. Standard (Basic/Shopify/Advanced) can cover a surprising amount of wholesale with the right stack:
- Customer tags + discounts + quantity breaks. Tag accounts (
wholesale,tier-2), then drive pricing off those tags. Volume/quantity breaks give you “cheaper by the case” without a separate price list. See our guide on Shopify wholesale pricing for the mechanics. - Tiered pricing by customer group. Different tiers see different prices via tag-driven logic — covered in tiered pricing by customer group.
- Wholesale apps. Purpose-built apps add a wholesale channel, gated pricing, and order forms on top of a standard plan — often enough for a small dealer network.
- Custom logic + checkout validation with Functions. This is the real unlock. Shopify Functions let you enforce MOQs, hide the discount from non-wholesale carts, apply tag-based pricing, and block checkout when rules aren’t met — all server-side, so nothing is faked in storefront JavaScript.
- A locked wholesale area. Password-gated pages, a customer-tag-gated storefront section, or a separate wholesale-only collection keeps trade pricing away from retail shoppers.
The important part: on standard Shopify, “wholesale pricing” is rules applied to one shared catalog, enforced at checkout. That’s genuinely robust for simpler operations.
What you CAN’T do natively without Plus
Be honest about the ceiling. These are the native B2B features that only Shopify Plus ships, and no tag hack fully reproduces them:
- Companies with multiple buyers. A company profile with several authorized buyers, locations, and per-location permissions.
- Per-company price lists and catalogs. Each company (or group) gets its own assigned catalog and price list — a true many-catalogs model, not one catalog with discount rules layered on.
- Native payment terms. Built-in net-terms and “buy now, pay later on invoice” at checkout, without bolting on an app.
- A dedicated B2B checkout. A separate B2B buyer experience wired to the company, its catalog, and its terms.
You can mimic pieces of this with tags, apps and custom work, but the fully integrated company-and-catalog model is Plus. Approximations get brittle as the number of companies and pricing exceptions grows.
Honest capability matrix
| Requirement | Standard Shopify | Plus B2B (native) |
|---|---|---|
| Wholesale/tier pricing | Yes — tags + discounts + quantity breaks + Functions | Yes — per-company price lists |
| Hide wholesale from retail | Yes — gated area, tag-gated storefront | Yes — separate B2B catalog |
| Minimum order quantities | Yes — enforced with Functions | Yes — native ordering rules |
| Companies + multiple buyers | No native model (approximate with tags/apps) | Yes — native |
| Per-company catalogs & price lists | Partial — via apps/custom, gets brittle at scale | Yes — native, many catalogs |
| Payment terms (net-30/60) | Via app/manual invoicing | Yes — native |
| Dedicated B2B checkout | No — shared checkout | Yes — B2B checkout |
| Best fit | A handful of accounts, simpler pricing | Many companies, complex pricing/terms |
No guarantees here — the right column is “native and integrated,” the left is “achievable with the right build.” Which one you need is a function of scale and complexity, not ambition.
Where custom development bridges the gap
Most of the middle ground between “standard” and “Plus” is exactly where custom work pays off. On a standard plan, custom apps and Functions can:
- Enforce MOQs, case-pack multiples, and minimum order values at checkout — server-side, not gameable.
- Apply tag- or group-based pricing so each tier sees the right price without a native price list.
- Gate a wholesale catalog and hide trade pricing from retail traffic.
- Wire a custom order form or reorder flow for repeat buyers.
What custom development can’t cheaply reproduce is the deep native integration — a true many-company, many-catalog checkout with native terms. You can build toward it, but past a certain complexity you’re rebuilding what Plus already ships, and Plus becomes the cheaper answer.
When Plus is justified
Plus earns its cost for B2B when you have scale and structural complexity, not just a wish list:
- Many company accounts, each with multiple buyers and locations.
- Genuinely different catalogs and price lists per company — not just percentage tiers.
- Net payment terms as a standard expectation of your buyers.
- A B2B channel large enough that checkout friction and manual pricing directly cost you orders.
If that’s you, workarounds become a maintenance tax. If it isn’t, Plus is a large recurring bill for features you won’t use — see our take in is Shopify Plus worth it.
How to decide
Count three things: how many wholesale accounts you have, how different their pricing really is, and whether they demand net terms. A handful of accounts on simple tier pricing → standard Shopify plus custom logic, comfortably. Dozens of companies with bespoke catalogs and invoicing → Plus B2B. The messy middle is where a build decision matters most, and where an honest audit saves you either an overspend or a rebuild.
Common mistakes
- Faking prices in JavaScript. If the discount lives in the theme, a shopper can strip it at checkout. Enforce with Functions.
- Jumping to Plus too early. Paying for native companies and catalogs when you have five accounts on flat 20%-off is spending on capability you won’t touch.
- Bolting on too many apps. Five overlapping wholesale/MOQ/terms apps create conflicts and slowdowns. Consolidate the logic into a single custom Function where you can.
- Ignoring access control. Leaving wholesale pricing visible to retail traffic trains everyone to wait for the “trade” price.
Deciding if you need Plus for B2B? Tell us your wholesale setup — we’ll map what you can build on standard Shopify with custom logic versus where Plus B2B actually earns its cost. See B2B & wholesale or get a free profit audit.