§
§ · shopify b2b

Shopify B2B, on one store.

Company accounts, catalog pricing, NET-30 terms, quote-to-order flows, retail and wholesale sharing the same catalog. Native Shopify Plus B2B engineering for brands selling to businesses.

§ 01 · the buyer topology

A B2B buyer is not one account. It is a tree.

Retail commerce models a buyer as one account. B2B models a buyer as a Company with Locations, each with multiple Company Contacts, each with defined permissions, each seeing a Catalog with a Price List applied. Every design decision in a B2B build traces back to that tree. Below is the topology that every Shopify Plus B2B implementation must express.

§ B2B buyer topology · seven concepts native to Shopify Plus B2B
Concept What it is Example
CompanyThe root buyer business.Northwood Apparel Supply LLC
LocationA physical or logical unit under the Company.Northwood - Seattle Warehouse
Company ContactA human buyer with permissions.Sarah Chen (Order + Pay)
CatalogThe product list assigned to the Company.Wholesale Apparel Catalog
Price ListPricing rule applied to the Catalog.45% off retail, tiered above 100 units
Payment TermNET-X assigned per Company.NET-30, invoice emailed on checkout
Draft OrderQuote-style order a rep builds for the buyer.Custom-priced pre-order for Q4

Every B2B feature buyers ask for (approval chains, credit limits, MOQs, tiered discounts, custom pricing, NET terms) maps to a combination of these seven concepts. A well-designed B2B implementation keeps the mapping tight; a messy one forces fragile apps to paper over gaps.

§ 02 · company accounts

Many humans. One company. Defined permissions.

A Company is the buyer entity; a Company Contact is a human inside that Company with specific permissions. The four permissions Shopify ships natively match how B2B buyers actually work. Most implementations use three of the four; a careful mapping on Day 1 prevents a rewrite at month three.

Permission 01

Place orders

Browse catalog, add to cart, submit order for fulfillment. Requires Pay permission to complete card payment.

Permission 02

Pay (on terms)

Complete checkout on NET terms (no card). Also applies to card-paid orders where Pay is required.

Permission 03

Manage users

Invite or remove other Company Contacts. Typical for a senior buyer or procurement manager.

Permission 04

Approve orders

Review and approve orders submitted by other Contacts before fulfillment. Used for multi-stage procurement approval.

§ 03 · the company account tree

One Company. Three Contacts. Distinct catalog.

Fig. 01 · company account tree · the topology every B2B build expresses
§ 04 · catalog pricing architecture

Three pricing strategies. Layered cleanly.

Strategy 01

Fixed SKU price

Every SKU gets a B2B price independent of retail. Most flexible, most data to maintain. Used when B2B pricing is fundamentally different from retail.

Example: Retail $120 / B2B $48 per unit.

Strategy 02

Percent off retail

A flat or tiered discount against the retail price. Easiest to maintain, updates automatically when retail changes.

Example: 45% off retail across the whole catalog.

Strategy 03

Volume tiers

Quantity breaks within a single SKU. Shopify Functions extend this with cart-level rules for multi-SKU thresholds.

Example: 1-9 @ $12 / 10-49 @ $9 / 50+ @ $7.

§ 05 · payment terms

NET-30. NET-60. NET-90.

Terms sit on the Company. A buyer with terms assigned checks out without a card; an invoice generates with a due date. On the due date your team or your ERP reconciles. The mechanics below are what we configure on every B2B build.

Step What happens
01Buyer on a NET-30 Company checks out. No card entered.
02Shopify creates an unpaid order. Invoice email fires to the buyer.
03Order-created webhook pushes the invoice to your accounting system (Xero, NetSuite, QuickBooks).
04Fulfillment proceeds immediately or on a Hold rule per Company.
05Due date approaches. Reminder email fires at day 25 if unpaid.
06Payment received via ACH, wire, or check. Reconciled in accounting, marked paid in Shopify via webhook.
07Credit limit decrements on order creation, increments on payment. New orders over limit route for manual approval.
§ 06 · quote-to-order flow

Sales rep builds. Buyer approves. Order ships.

Most large B2B orders are built collaboratively. A rep negotiates custom pricing, adds a volume concession, tweaks freight. The engine for this in Shopify is the Draft Order. We extend it with a named quote lifecycle and webhook automation.

01 · Build

Rep creates Draft Order

Rep adds SKUs, applies custom pricing lines, negotiates freight, adds notes. Draft saved against the Company.

02 · Send

Quote link to buyer

Draft Order converted to a quote link with expiry, sent via email. Buyer opens in authenticated session.

03 · Approve

Buyer reviews and accepts

Buyer sees the quote, accepts, and converts it to an order. Payment method applied per Company terms.

04 · Fulfill

Order to warehouse

Order flows into standard fulfillment pipeline. ERP sync fires, inventory decrements, shipment triggers per your fulfillment rules.

§ 07 · retail + wholesale unified

One store. Two customer types.

Running retail and wholesale on separate Shopify stores is a maintenance burden: duplicate catalog, split inventory, sync drift. Plus B2B lets both types share one catalog with a single inventory pool, while each sees a customized experience.

Surface Retail sees Wholesale (logged-in) sees
NavigationRetail nav (Shop, About)B2B nav (Wholesale, MOQ, Reorder)
PDPRetail price, retail copyWholesale price, MOQ, case quantity
CartCard checkoutNET-terms checkout, bulk add-to-cart
AccountOrder history, saved addressesReorder from history, approval queue, team
InventoryShared pool, retail decrementsShared pool, wholesale decrements
§ 08 · integration stack

ERP. CRM. Tax. EDI where needed.

ERP

NetSuite / Brightpearl

Order sync bi-directional, inventory pool, customer master records.

CRM

Salesforce / HubSpot

Company + Contact sync, opportunity tracking, rep assignment.

Tax

Avalara AvaTax

Multi-state B2B tax, exemption certificate management, VAT for cross-border.

EDI

SPS Commerce / Orderful

X12, EDIFACT translation for retail partners (Walmart, Target, Costco).

Credit

Resolve / Credit Key

Third-party NET-terms financing so you get paid on day 1 while buyer pays NET-60.

Shipping

ShipStation / ShipHero

LTL freight quoting, pallet configuration, multi-warehouse routing.

§ 09 · reporting

What the sales team sees, every Monday.

  • Top 10 Companies by 30-day revenue with MoM and YoY delta.
  • Open invoices aging report segmented by NET-30, NET-60, NET-90 overdue.
  • Catalog utilization: which SKUs are ordered, which are dormant, per Company.
  • Reorder velocity: days between orders per Company, flagged below historical average.
  • Credit exposure: open orders vs credit limit, Companies approaching limit.
  • Rep leaderboard: Draft Orders created, Draft Orders converted, conversion rate, revenue.

All six reports ship as a Looker Studio dashboard pulling from Shopify's BigQuery export, or as a Mondayphysical email if the org is not on Google Cloud.

§ 10 · migration paths

From Handshake. From TradeGecko. Into native B2B.

Source Typical duration Complexity driver
Handshake (Shopify's old B2B)10-12 wkWell-mapped; official Shopify migration path.
TradeGecko / QuickBooks Commerce12-14 wkData export + catalog remapping + pricing recompute.
Brightpearl (keeping ERP)14-16 wkB2B layer migrates; Brightpearl stays as ERP.
Bespoke portal (custom database)16-20 wkSchema translation + custom script per table.
B2B app on non-Plus Shopify (BSS, Sparklayer)8-10 wkAlready on Shopify; upgrading to Plus and native B2B.
§ 11 · proof

A wholesale brand. 84 buyer companies. One store.

A Big Game Sports-archetype athletic brand with a growing wholesale channel came to us on Shopify Advanced with a BSS Commerce B2B app glued onto the retail storefront. The ask: migrate to Plus B2B, unify retail and wholesale on one store, ship NET-30 terms for 84 buyer companies, and integrate with the existing NetSuite ERP.

84
Company accounts migrated
3
catalogs with distinct pricing
11 wk
audit to full cutover

What shipped: 84 Companies with 217 Contacts, 3 Catalogs (Tier 1, Tier 2, Dropship), NET-30 default plus 8 Companies on NET-60, NetSuite sync via middleware (orders both directions, inventory back), Salesforce CRM for rep pipeline, Avalara for multi-state tax, quote-to-order flow with 12-day average quote-to-close. Zero retail checkout regressions during the wholesale build.

§ 12 · fit check

Who native B2B fits, and who it does not.

✓ right fit
  • Already on Shopify Plus or ready to upgrade for the B2B scope.
  • Between 10 and 500 active buyer companies, mixed NET terms.
  • Multi-buyer-per-company workflow with permission differences.
  • $1M to $50M wholesale revenue per year with growth horizon.
  • Existing ERP (NetSuite, Brightpearl, Dynamics) that must integrate cleanly.
× wrong fit
  • Under 10 wholesale accounts. A B2B app on Advanced is cheaper than Plus.
  • Over 5,000 active accounts with deep EDI. Consider an enterprise B2B platform.
  • Bespoke approval chains with 4+ approval stages. Possible but out of B2B native scope; budget extra.
  • Consignment inventory model as the majority of volume.
§ 13 · engagement shapes

Four shapes.

01

Discovery audit

2 weeks

Buyer journey, catalog segmentation, integration map, migration exposure.

02

B2B-only build

8-12 weeks

Dedicated Plus B2B storefront. Companies, catalogs, terms, quote flow.

03 · common

Retail + wholesale

10-14 weeks

Unified store serving both. Shared catalog, distinct checkouts.

04

Migration

12-16 weeks

Handshake, TradeGecko, Brightpearl, or bespoke portal to native B2B.

§ 14 · tax + compliance

B2B tax is not retail tax.

Resale certificates, exemption by state, VAT reverse-charge for cross-border EU B2B, 1099 reporting for certain buyer types. We configure the native Shopify Tax + Avalara bridge so your accounting team receives clean data, every transaction.

US resale certificates: managed in Avalara CertCapture, per Company, per state. Automatic exemption applied at checkout when valid certificate on file.

EU VAT reverse-charge: B2B cross-border triggers reverse-charge. Buyer's VAT ID validated against VIES, applied to checkout, disclosed on invoice.

UK post-Brexit: distinct VAT treatment for EU imports, customs declarations, commodity codes on invoice line items.

Audit trail: every tax decision logged per order for 7-year retention. Pulled into Xero or NetSuite automatically for annual filing.

§ 15 · frequently asked

Seven questions B2B teams ask.

What does native Shopify B2B actually cover?

Shopify's native B2B (on Plus) covers the full buyer stack: company accounts with multiple contacts per company, per-company catalogs, per-catalog price lists (fixed, percent off, tiered), customer-specific payment terms (NET-30/60/90), draft orders for quote flows, MOQ and volume-tier rules via Functions, and a separate checkout that does not require credit card payment when terms are assigned. What it does not natively cover: EDI, deep ERP integration, multi-party approval chains, and consignment inventory. Those still need app integrations or bespoke engineering.

Can we run retail and wholesale on the same Shopify store?

Yes. One Shopify Plus store serves both. Retail customers browse the standard storefront, add to cart, and check out with a card. B2B buyers log in to a Company Contact account, see their assigned catalog with their price list applied, add to cart, and check out either on terms or via card. Same products, same inventory, same Shopify admin. The configuration work is in the catalog segmentation and theme customization to show different navigation and copy to B2B-logged-in users.

How does catalog pricing work for B2B buyers?

A Catalog defines what products a Company sees. A Price List applied to that Catalog defines the pricing shown. Three pricing strategies exist: fixed prices per SKU (most common), percent off retail (simpler to maintain), and volume tiers (buy 10-49 at $X, buy 50+ at $Y). Multiple catalogs can exist for a single store; a Company can be assigned exactly one catalog. Shopify Functions extend this with rules like 'apply additional 5% off when cart total exceeds $5,000' or 'unlock a bundled SKU when 3+ units in cart.'

How do NET-30 payment terms work at checkout?

A Company with assigned payment terms checks out without entering a card. Shopify creates an unpaid order with a named due date. An invoice is generated automatically and can be emailed or pushed to your accounting system via webhook. On the due date, your team or your ERP marks the invoice paid against the received payment. Shopify supports NET-30, NET-60, NET-90, and custom term lengths. For buyers without terms assigned, a card is still required.

Can we migrate from Handshake (Shopify's old B2B product) to the new native B2B?

Yes. Shopify sunset Handshake and the migration path to native B2B on Plus is well-defined. Buyer companies, contacts, addresses, catalogs, and price lists migrate. Order history imports as historical reference. Subscriptions if any require a secondary migration path (typically ReCharge or Shopify Subscriptions). Credit balances carry forward via metafields until reconciled. Full Handshake-to-Plus-B2B migrations take 12 to 16 weeks in our builds, with a staged cutover so buyers keep placing orders while the new surface comes online.

Does Shopify B2B integrate with our ERP or accounting software?

Out of the box, yes, for the major ERPs: NetSuite, Brightpearl, Dynamics 365, SAP Business One, and Xero. Orders sync to the ERP via webhook or a Shopify Connector app; inventory syncs back; customer and catalog data can live in either system as the source of truth. For bespoke or legacy ERPs we build a middleware integration using the Shopify Admin API and your ERP's REST or SOAP endpoints. EDI (X12, EDIFACT) is handled by third-party bridges such as SPS Commerce or Orderful.

How is this different from installing a B2B app like BSS Commerce or Sparklayer?

Apps like BSS Commerce B2B, Sparklayer, or Wholesale Club pre-date Shopify's native B2B and layer a B2B experience on top of a standard Shopify store. They are useful on non-Plus stores where native B2B is unavailable, or where you need features Shopify has not yet shipped natively. On Plus, native B2B is usually the right answer because it is supported, versioned, PCI-scoped by Shopify, and will keep getting features. Apps remain relevant for specific gaps: multi-party approval chains, EDI bridges, deep consignment inventory. The audit names which path fits your scope.

§ 16 · what happens next

A two-week audit. A scoped B2B plan.

Every B2B build starts with two weeks of inventory: companies, catalogs, payment terms, integrations. The audit produces a written plan plus a scoped quote.

Book my 30-minute B2B audit call