Clicks & Carts

B2B and wholesale on Shopify: what's native and what isn't

Company accounts and price lists are native on the right plan. Here is where that stops and custom work starts.

8 min read · Store setup ·

Shopify's B2B capability improved substantially with company accounts, catalogues and price lists. For a lot of wholesale operations it's now genuinely sufficient. For others it stops short, and knowing which side you're on before committing is the whole decision.

What's native

Company accounts. A business customer as a company with multiple contacts and multiple locations, each able to place orders. This is the foundation, and it's what distinguishes real B2B from "retail with a discount code".

Catalogues and price lists. Assign specific products and specific prices to specific companies. Percentage adjustments or fixed prices, per catalogue.

Payment terms. Net terms on orders rather than payment at checkout — the single most-requested wholesale feature.

Quantity rules and increments. Minimums, maximums and case quantities per product per catalogue.

Tax exemption handling for registered businesses.

Draft orders. Manually built orders sent as an invoice, which is how a lot of trade selling actually happens regardless of what the store supports.

Availability varies by plan, with the fuller B2B feature set sitting at the top of the range — factor that into the plan decision.

What isn't native

Where wholesale operations typically exceed it:

  • Approval workflows. A buyer places an order, a manager approves it, then it's submitted. Not native.
  • Credit limits enforced at checkout. Terms are supported; a hard limit that blocks an order isn't.
  • Quote request and negotiation flows. Common in trade, and a build.
  • EDI. Larger retail customers may require it. That's an integration project, not a setting.
  • Complex pricing rules — price breaks by volume across a category, contract pricing with rules rather than fixed lists, customer-specific rounding.
  • Deep account hierarchies beyond company and location.
  • Mixed B2B and B2C in one storefront with genuinely different experiences, rather than different prices.

Several of these are addressable with Shopify Functions — quantity validation, custom discount logic, hiding payment methods by customer group. The rule with Functions is that all the data they need must already be readable from the cart or from metafields, because a function cannot call out to your systems.

The pricing question

This is worth its own read: B2B pricing on Shopify.

Nearly every wholesale project comes down to pricing complexity.

Fixed price lists per customer group — native, straightforward.

Volume breaks — partly native through quantity rules and catalogue prices; complex tiers need Functions.

Contract pricing calculated from rules — a customer's price derived from category, volume, contract terms and dates. Not native. The workable pattern is: an integration writes the calculated price to a metafield, and a Function or the theme reads it. The calculation lives in your ERP, where it already does.

That split — calculate in the ERP, read in Shopify — is the architecture of most successful B2B builds.

One store or two

One store with B2B enabled is right when the catalogue is broadly shared and the difference is pricing and terms. Less to maintain, one inventory.

Separate stores are right when the catalogues genuinely differ, the branding differs, or the B2B operation has requirements that would compromise the retail experience. The cost is doubled maintenance on every change.

Most businesses should start with one and split only for a specific reason.

Where wholesale exceeds Shopify entirely

Be honest about this before spending. If you need multi-level approval chains, enforced credit control, EDI with several large retail partners, and pricing that only your ERP can calculate — you're building a B2B platform on top of a retail one.

Sometimes that's still the right call, because the retail side matters and consolidation is worth it. Sometimes a dedicated B2B platform or an ERP-driven ordering portal is more honest. When Shopify is the wrong choice covers how to decide.

The practical build order

  1. Model the companies, locations and contacts as they actually exist.
  2. Define catalogues and price lists — start simpler than you think you need.
  3. Set quantity rules and increments per product.
  4. Configure payment terms per company.
  5. Handle tax exemption.
  6. Connect the ERP for pricing, stock and orders, deciding who owns which field before writing any code.
  7. Only then build the custom parts, once you know what's genuinely missing.

Step six is the project. Everything else is configuration.

B2B on Shopify works well when pricing is a list and badly when pricing is a calculation. Establish which one you have before anything else.

Everything in this guide

1 articles that go deeper on each part.

Is this the problem you’re looking at?

Send me the link to your store and a line about what is going wrong. You get a straight answer within one business day — no pitch, no obligation.

[email protected]

Or see what I do around Shopify: services, work beyond the theme, selected work.

Keep reading

← All articles