Features Ad Monitoring Reports Trends & Insights Google Ads Audit Creative Intelligence Industries SaaS E-commerce B2B Agencies Agency Resources Blog Case Studies Help Center Content Libraries CRO Guides Analytics Hub WooCommerce Shopify Pricing Log In Get Started Free

Shopify B2B setup: the operator guide

By Dror Aharon · CEO, COREPPC · Updated April 17, 2026 · 11 min read
Shopify B2B setup: the operator guide: editorial illustration
TL;DR

Shopify B2B setup is one of those projects where the platform does 70% of the job well, and the other 30% is where most stores quietly lose 6 to 9 months of wholesale revenue because nobody told them the order to build it in. B2B on Shopify Plus is native, integrated into the same admin as your DTC store, and it works. But the company account model, the catalog-to-price-list relationship, and the tax and resale certificate flow are different enough from a normal Shopify setup that every team we audit is solving the same puzzle from scratch. So they ship it wrong, rebuild, and ship it again four months later. Best to build it once, in the right sequence. Companies first, then catalogs, then price lists, then payment terms, then checkout rules, then tax and resale, then sales rep assignment. Skip the order and you redo every step.

  • Company accounts are the container for everything. Get the structure right first.
  • One catalog per customer segment. Price lists attach to catalogs, not to companies directly.
  • Payment terms (Net 30, Net 60) are a separate layer from catalog pricing.
  • B2B checkout is distinct from DTC. Do not try to unify them with apps.

What Shopify's native B2B actually does in 2026

Shopify B2B setup in 2026 means building on the native B2B feature set that ships with Shopify Plus, not the old Wholesale Channel (that one's been deprecated since 2024) and not a third-party app stack bolted onto the standard DTC storefront. Native B2B lives inside the same admin as your DTC store. Same orders view, same products, same inventory. The difference is that B2B buyers log in as a "company location" rather than a plain customer, and that login triggers a different set of catalogs, price lists, payment terms, and checkout rules. Everything else looks and works like Shopify.

What actually ships in the box: company accounts with multiple locations and multiple buyers per company, catalogs that scope which products each customer sees, price lists that apply percentage or fixed-price discounts per catalog, Net 30 and Net 60 payment terms, draft order workflows for sales reps, tax-exempt status per company, bulk order forms, and quantity rules (minimums, increments, maximums). The B2B checkout itself is a modified version of the DTC checkout, with PO number fields, payment-terms display, and no forced collection of payment method when terms are net terms.

What doesn't ship in the box, and what most teams discover three weeks in: multi-level approval workflows (buyer submits, manager approves, admin approves), customer-specific shipping negotiated rates, complex tiered pricing beyond what price lists express, and a real sales rep CRM. Those gaps get filled with apps (Sparklayer, BSS, Pandectes for tiered pricing) or with custom Shopify Functions. Plan for that from day one. The Shopify Plus B2B overview is the honest starting point, and the official B2B help center is where you'll live once you start building.

One pattern worth flagging: teams coming from a legacy B2B platform (Handshake, TradeGecko, Joor) usually over-spec the build because they're porting workflows that existed on those platforms but aren't needed on Shopify. The honest cut is to build the minimum viable B2B setup first, ship it to five real customers, then add complexity based on what actually breaks. Most of the "we need tiered pricing with 6 levels" requirements die quietly after the first real orders come in.

B2B on Plus vs third-party B2B apps: the decision

B2B on Shopify Plus is the right answer for most growth-stage wholesale operations, but it's not automatically the right answer for every store. The decision hinges on where your B2B complexity actually lives. If complexity is in pricing (catalogs, volume discounts, customer-specific prices), native B2B handles it. If complexity is in order workflow (multi-step approvals, quote-to-cart flows, rep-mediated ordering), you probably need an app layer on top. If complexity is in the buyer experience (bulk order forms, reorder from history, saved lists), the third-party apps (Sparklayer especially) still do a better job than native.

The quick test we run with clients before committing to pure-native:

  1. How many distinct pricing groups do you need? Under 20, native handles it cleanly. Over 50, you're fighting the catalog UI and an app becomes worth the monthly cost.
  2. Do buyers need a "reorder" interface that pulls from their last 90 days of orders? Native has basic reorder. Sparklayer and BSS do it better with a dedicated UI.
  3. Do you need multi-step approval workflows inside the buying company (buyer proposes, manager approves)? Native does not support this in 2026. Apps do.
  4. Do your sales reps write orders on behalf of customers? Native draft orders handle it but the UX is clunky. A rep-facing portal from Sparklayer or a custom Shopify app is faster.
  5. Are your B2B customers technical enough to use a clean but standard checkout, or do they expect a "punchout" flow connected to their ERP? Punchout is still app-territory.

Three or more answers that lean app-side, and a hybrid build (native B2B for the spine, one app for the missing piece) is the honest answer. Pure native is cheaper and cleaner, but it leaves real gaps at the top end of B2B complexity. Pure app-based setups were the standard pre-2024 and are now an anti-pattern: you pay twice, once for Plus and once for the app to work around Plus, and the app often fights the native B2B model. The middle path is almost always right.

A second consideration: sales rep cost per month. Apps like Sparklayer run $299 to $899 a month depending on tier. At $5M wholesale GMV that cost is noise. At $500k wholesale GMV it's 2% of revenue before you pay for anything else. Run the math before you commit.

Company account structure: the foundation

Shopify wholesale setup starts with the company account model, and if you get this wrong you redo everything else three times. A company in Shopify B2B is a container. Inside the container sit locations (a company can have multiple shipping addresses, each one its own "location"), and inside each location sit one or more customers (the humans who log in and place orders on behalf of that location). The price list, payment terms, catalog assignment, and tax status all attach to the company or the location, not to the individual customer.

The hierarchy in plain English:

The common mistake is modeling each location as a separate company. Teams do this because it feels simpler. Then three months later they discover they can't run a unified report on "all Acme orders" because the data is split across three companies that Shopify thinks are unrelated. Fix: always use the Company > Location > Customer hierarchy, even if you only have one location today. You'll thank yourself when you add a second warehouse.

Permissions layer: each customer inside a location gets a role. "Location admin" can manage other customers at that location. "Ordering only" can place orders but not manage users. In 2026 the role granularity is still limited (no per-product permissions, no spend caps per buyer). If you need those, that's app territory. For most wholesale operations, "location admin" + "ordering only" is enough.

One operational tip: build a company account for your own internal test team first, populate it end-to-end (catalog, price list, payment terms, test buyer account), place three test orders, and only then start onboarding real companies. The teams that skip the internal test company spend the first two weeks of B2B launch fielding support tickets they could have caught in 20 minutes of internal testing.

Catalogs, price lists, and payment terms

Catalogs and price lists are where B2B on Shopify Plus gets genuinely different from DTC, and where the biggest "wait, what?" moments happen. A catalog is a set of products scoped to specific customer segments. A price list attaches to a catalog and defines the prices buyers on that catalog pay. Payment terms (Net 30, Net 60, Due on Receipt) are a third layer that attaches to companies or locations independently. You can have the same catalog with different payment terms for different companies, which is the flexibility you want, but it's also the thing that trips up teams used to a one-to-one pricing model.

The order to build these in, always:

  1. Create your catalogs first. Start with 2 or 3: "Standard Wholesale", "Distributor", "Strategic Partners". Resist the urge to start with 12 catalogs. You can always add more later.
  2. Populate each catalog with products. A product can live in multiple catalogs. Price is set at the catalog level (via price list) or inherits DTC price if no price list is attached.
  3. Create a price list per catalog. Price lists can be percentage-off the DTC price or fixed prices per product. Percentage-off is easier to maintain as DTC prices change. Fixed prices give you more control but require updates every time DTC pricing shifts.
  4. Set up payment terms as a separate entity in admin. Net 30 is the default wholesale standard, Net 60 for strategic accounts, Due on Receipt for smaller or newer buyers.
  5. Assign catalog + payment terms to each company or location. This is the final step and the one that's easy to forget for the first batch of company imports. Bulk import via CSV works but always spot-check the first 5 assignments before running the full list.

Volume discounts sit inside price lists. You can define quantity breaks per product, so "order 50 units, get 10% more off the listed price." The UI is clean but limited to 3 quantity tiers per product in native. Need 5 tiers? Either use a Shopify Function or an app.

A common trap: editing a price list while buyers are placing orders can cause cart-level price updates mid-session. If you're doing a big price update, either push it overnight or communicate to buyers that prices are refreshing. Unexpected price changes in an active cart is one of the most common B2B support tickets we see in the first month post-launch.

Checkout flow for B2B buyers (distinct from DTC)

B2B on Shopify Plus uses a separate checkout flow from DTC, and trying to unify them through apps or theme hacks is the wrong move. The B2B checkout strips out what DTC buyers need (guest checkout, forced payment capture, marketing checkboxes) and adds what B2B buyers expect (PO number field, payment terms display, ship-to location selector, approval-before-send workflow if you build it).

What the B2B checkout does natively:

What it doesn't do natively: multi-step approval workflows ("buyer submits, manager reviews, then order processes"), custom checkout validation beyond Shopify Functions, and integration with buyer-side ERP for punchout. For those, you're either building with checkout UI extensions (Shopify Plus feature, covered in our Shopify Plus vs Advanced breakdown) or using an app.

One operational pattern that saves pain: enable "draft orders" for your sales reps early. A sales rep can start a draft order on behalf of a customer, populate it with products and quantities from a phone call or a spec sheet, and email the customer a link to complete checkout. The customer logs in, sees the draft, and submits with their approval. This single workflow covers about 60% of what teams ask for when they say "we need quote-to-cart." It's not a full quote system, but for most B2B operations under $10M wholesale revenue, it's plenty.

Tax, resale certificates, and documentation

Tax on B2B orders is where teams hit the wall if they didn't plan for it upfront. Most wholesale buyers are tax-exempt because they're reselling the goods, and the resale certificate is the documentation that proves it. Shopify's native B2B handles tax exemption per company, but the certificate collection, storage, and expiration tracking are on you.

The native tax setup for B2B:

The operational side, which the help docs gloss over:

  1. Before you set a company to tax-exempt, you need the resale certificate on file. State rules vary but most require you to hold a valid certificate for every exempt sale. Missing certificates show up during audits, and "I lost track" is not a defense.
  2. Certificates expire. Most states reissue every 1 to 3 years. Build a quarterly audit into your ops calendar: pull a list of tax-exempt companies, check certificate expiration dates, email buyers whose certificates are within 60 days of expiring.
  3. Multi-state sellers have an additional layer of complexity because each state where you have nexus has its own resale certificate format. Some accept a multijurisdictional certificate (MTC), others require state-specific. If you're shipping to more than 5 states and running wholesale, talking to a sales tax accountant before launch saves real money later.

Apps that help: TaxJar and Avalara both integrate with Shopify B2B and handle the exemption-tracking plus certificate management. They're overkill under $1M wholesale revenue, worth the cost above $3M. Native + a Google Drive folder is fine in between, as long as someone owns the quarterly audit.

Sales rep assignment and order management

Sales rep workflow on Shopify B2B is where native feels thinnest, and where the decision to add an app often lives. Native supports draft orders (rep creates an order on behalf of a customer, customer finalizes or rep submits with authorization). It does not natively support rep assignment to companies, rep-only dashboards, commission tracking, or rep-specific reports. Those gaps are real, and at scale they matter.

What you can do natively in 2026:

What you can't do natively:

When teams hit real rep-management needs (5+ reps, commission structures, territory management), the options are:

  1. Sparklayer or BSS Commerce B2B apps. Add rep dashboards, customer assignment, basic commission tracking. $299 to $899 a month. Covered under our Shopify B2B apps comparison if you want the feature-by-feature breakdown.
  2. A Shopify + CRM integration (HubSpot, Salesforce). The CRM owns the rep and territory model, Shopify owns the order and pricing. Works well once wired up, but the wiring is 80 to 120 hours of integration work.
  3. Custom build on Shopify Functions and Admin UI extensions. Most expensive upfront, most flexible long-term. Only worth it above $10M wholesale revenue.

The honest pattern we see: teams ship native-only for the first 3 to 6 months of B2B launch, learn what actually breaks, then add the app layer that addresses their specific pain. The teams that try to spec the full rep-management stack upfront overshoot on almost every decision because they haven't run real orders yet.

Frequently asked questions

Do I need Shopify Plus to run B2B, or can I use Advanced?
Yes, B2B is Plus-only. The native B2B feature set (company accounts, catalogs, price lists, payment terms, B2B checkout) lives behind the Plus paywall and is not available on Advanced. You can approximate a basic wholesale setup on Advanced with apps like Sparklayer or BSS, which layer a B2B experience on top of the standard DTC storefront, but it's a workaround, not the real product. If wholesale is more than a side channel, Plus is the honest answer. Our Shopify Plus vs Advanced breakdown walks through when the upgrade actually pays for itself. Most stores hit that break-even around $5M combined GMV, and B2B revenue is often the specific lever that tips it.
How long does a Shopify B2B setup actually take?
Plan for 6 to 10 weeks from contract to first real orders, assuming you already have Plus. The phases: week 1 to 2 is catalog architecture and customer-segmentation decisions (the most important phase, and the one teams rush). Weeks 3 to 5 are building catalogs, price lists, payment terms, and importing companies. Weeks 6 to 7 are checkout configuration, tax-exempt setup, and sales rep onboarding. Weeks 8 to 10 are soft-launch with 5 to 10 real companies, fixing what breaks, then opening to the full customer list. Teams that skip the soft-launch phase almost always have to rebuild catalog assignments within 60 days because the first wave of real orders surfaces problems testing never caught.
Can I run B2B and DTC from the same Shopify store?
Yes, that's the standard setup on B2B on Shopify Plus in 2026. Same store, same products, same inventory. DTC buyers see the public storefront and DTC pricing. B2B buyers log in, the system recognizes their company, and they see their assigned catalog and price list. Same theme serves both, with Liquid conditional rendering for B2B-only elements (minimum order quantity displays, payment terms reminders). Inventory is shared by default, so a B2B order and a DTC order pull from the same stock. Most stores stay on one store. A minority split into a separate Plus expansion store for B2B when the catalogs, team, and ops are operationally distinct enough that unified admin slows them down.
What's the minimum size where Shopify B2B setup makes sense?
Honestly, under $500k annual wholesale revenue the Plus upgrade is hard to justify on wholesale alone. You'd be paying $2,500 a month for Plus to serve a channel that's generating maybe $40k a month gross. The math works when wholesale is at least $1M annualized, ideally $2M+, or when it's part of a combined $5M+ total GMV where the upgrade pays for itself on the DTC side too. Below those thresholds, a scrappy setup on Advanced + Sparklayer or BSS gets you the 70% version of the experience at 20% of the cost. Move to Plus when wholesale stops being a side channel and starts being a real revenue line worth investing in.
Can customers have different prices on the same product based on who they are?
Yes, that's exactly what price lists are for. Each company (or location) gets assigned a catalog, each catalog has its own price list, and the same product shows a different price to different buyers based on which catalog they're on. "Strategic Partners" catalog might show widget-A at $15. "Standard Wholesale" shows the same widget-A at $18. "Distributor" at $12. DTC buyers see $25 on the public storefront. One product, four prices, all managed through catalog + price list assignment. If you need more granular (customer-specific prices that don't fit into a tier structure), that's where native starts to break and apps or Shopify Functions fill the gap.
Does the B2B checkout support Net 30 and Net 60 terms?
Yes, natively. Payment terms are a first-class concept in Shopify B2B setup. You define terms (Net 30, Net 60, Net 90, Due on Receipt) as separate entities in admin, then assign them to companies or locations. At checkout, a buyer on Net 30 sees "Payment due in 30 days" and submits the order without capturing a payment method. The order ships, Shopify tracks the due date, and you invoice and collect on your existing AR workflow (usually QuickBooks, NetSuite, or your ERP). Shopify does not handle collections or automatic invoicing for net terms in 2026. That part is on you, which is why most wholesale operations integrate Shopify with their accounting system from day one.

Shopify B2B setup rewards teams who build it in the right order and punishes teams who freestyle it. Companies first, then catalogs, then price lists, then payment terms, then checkout rules, then tax and resale, then sales rep assignment. Every step depends on the one before it, and skipping or scrambling the order is how teams end up rebuilding catalog assignments in month three and losing a week of wholesale revenue to support tickets that should never have existed. Best to treat the first 2 weeks as pure architecture work: make the catalog and customer-segmentation decisions with the people who actually know the buyers, then build. The stores that get B2B right in our audit sample all share two traits: they ran an internal test company end-to-end before onboarding a real buyer, and they soft-launched with 5 to 10 accounts before opening the floodgates. The ones that skipped either step were still fixing the first-month mess in month four.

Get a full X-ray of your ad account

Paste your Meta and Google Ads. See exactly where signal is leaking. Free. 60 seconds.

Start my audit
Dror Aharon
Dror Aharon
CEO, COREPPC

Ran paid media for 70+ Shopify brands. COREPPC manages $12M+ a year across Meta and Google for ecommerce and SaaS operators.