All segments

What Is Shopify B2B? An Operator's Definition

Shopify B2B lets a store sell to business buyers with company accounts, price lists and net terms — no longer Plus-only, though Plus lifts the catalogue cap.

  • Published
  • Reading time 14 min read
  • Author Nafiul Hasan
What Is Shopify B2B? An Operator's Definition. Diagram: the step that changes the price. RUN What Is Shopify B2B? An Operator'sDefinition pointerflow.com

Short answer

Shopify B2B lets a store sell to business buyers alongside consumers, using company accounts, tiered price lists, quantity rules and net payment terms instead of card-only checkout. It now ships on every paid Shopify plan, not only Plus, though standard plans cap active price lists at three and it still moves invoicing and collections onto the merchant.

Shopify B2B is the name for a set of features built into Shopify that let a merchant sell to business buyers — retailers, distributors, other brands — from the same store, catalogue and inventory they already use for direct-to-consumer sales. It replaces the older, separate wholesale storefront with company accounts, negotiated price lists, quantity rules and net payment terms attached directly to the main Shopify admin. It shipped as a Shopify Plus exclusive for years; today it ships on every paid Shopify plan, with Plus keeping a materially higher ceiling on catalogue count and payment flexibility rather than gating the feature outright.

That definition is the dictionary version, and per Shopify’s own B2B on Shopify documentation, it is accurate as far as it goes. It is also not the part an operator actually needs to know before turning it on.

What does Shopify B2B actually do?

Shopify B2B adds a company object above the customer object. A company can have several locations, each location can have several buyers, and each location gets its own price list, payment terms and minimum order rules — configured once by the merchant in Shopify admin, then applied automatically at checkout for anyone buying under that account.

A buyer logs into a company account and sees their negotiated pricing, their order history and their available payment methods, none of which are visible to a retail customer browsing the same storefront. The product catalogue, the theme and the inventory are shared with the consumer store; only the pricing, the payment options and the checkout rules change based on who is buying.

What changes on a Tuesday once B2B is live?

The ordering side gets easier and the collections side gets harder, and the second half is the part that catches operators out.

Before Shopify B2B, a $3M–$30M brand running wholesale typically takes orders by email or a spreadsheet, keys them into Shopify as draft orders, and invoices separately through QuickBooks or a standalone accounting tool. After Shopify B2B, the buyer places the order themselves against a price list you set once, and Shopify generates the order directly — the manual re-keying disappears.

What does not disappear is the exposure that net terms create. Set a company to Net 30 and Shopify marks the order as unpaid with a due date; it does not chase the buyer, does not flag an account going past due in a way that surfaces anywhere outside the order list, and does not reconcile that unpaid invoice against what actually lands in your bank account. A brand that turns on net terms without building a reconciliation step is trading a manual invoicing job for an unmonitored accounts-receivable balance — orders keep shipping, and nobody notices a buyer sliding to 45 days past terms until someone runs an ageing report by hand.

Where do operators get Shopify B2B wrong?

The most common mistake now runs the other way. Companies, price lists, net terms and ACH payments all ship on Basic, Grow and Advanced today, per Shopify’s own B2B documentation — Shopify B2B stopped being a Plus-only capability. The mistake is assuming a standard-plan build has the same ceiling as a Plus one: a store on Advanced can turn B2B on this afternoon, but it is capped at three active price lists store-wide, cannot assign a catalogue straight to a single company location, and deposits and partial payments do not exist below Plus. A brand evaluating B2B needs to price the plan’s actual ceiling into the decision, not whether the feature exists at all — the standard-plan catalogue cap is three, and a fourth distinct pricing structure is usually what forces the Plus decision.

A second mistake in Shopify B2B rollouts is treating self-serve ordering as removing the sales relationship entirely. Quantity rules, minimum order values and price lists still have to be set per company by someone on your side, and new company accounts still require manual approval in Shopify admin before a buyer can order anything — there is no automatic signup-to-active-account path.

A third mistake in Shopify B2B rollouts is enabling net payment terms without deciding, in advance, who checks unpaid invoices against payment received, and on what schedule. That is an operations decision, not a Shopify setting, and it does not get made by default.

What is Shopify B2B confused with?

Two things, most often. The first is the legacy Wholesale channel, a separate password-protected storefront that Shopify B2B replaced — the old channel ran its own limited catalogue and checkout outside the main store, while B2B runs inside it. If a listing or an old support thread still references the Wholesale channel, it predates the current feature.

The second thing Shopify B2B gets confused with is a dedicated wholesale app such as Handshake, which is a standalone marketplace and ordering tool rather than a feature of the merchant’s own Shopify store. A brand moving off an app like that onto native Shopify B2B gains one catalogue and one inventory pool, and gives up whatever automated invoicing or collections workflow the app was running — which is exactly the gap a Shopify B2B rollout needs to plan for before go-live, not after the first past-due account shows up.

How do you migrate an existing wholesale app to Shopify B2B without breaking pricing or customer data?

Shopify ships a migration tool for one specific case: a store moving off Shopify’s own legacy Wholesale channel, where the tool copies wholesale price lists into B2B catalogues and links existing customers and their order history to companies, per Shopify’s own migration documentation. It does not ship an equivalent path for a store moving off a third-party wholesale app — Handshake, Wholesale Club, or a similar tool — because that data lives in the app’s own tables, not Shopify’s. Moving off one of those means exporting the app’s customer list, price tiers and order history to CSV, cleaning it, and re-importing it against Shopify’s company and catalogue objects by hand or through a bulk-import tool such as Matrixify.

Three places this breaks in practice, none of them hypothetical:

A buyer who already has a direct-to-consumer account on the store gets a second, duplicate customer record when the wholesale-app export is imported as a new company contact, because the import matches on the app’s internal customer ID, not on email. Two records for one buyer means two order histories, and a support ticket the first time that buyer cannot find a past order.

A price tier that lived as a percentage-off-retail rule inside the wholesale app has to be re-expressed as a Shopify B2B catalogue — either a store-wide percentage adjustment or fixed per-variant prices — and a variant added to the storefront after the export was taken inherits no override, so it sells at full retail to a company that has always paid wholesale, until someone notices on an invoice.

An order-history cutover that is not scripted to preserve the original order date reissues every historical order with today’s date, which breaks any loyalty tier, reorder cadence or cohort report the brand runs off order history.

The sequence that avoids all three: freeze the wholesale app’s data before go-live, match every existing D2C customer record to its wholesale counterpart on email — not on internal ID — before import, build and QA the new B2B catalogues against the live product catalogue rather than a snapshot taken weeks earlier, and run the cutover with net-terms invoicing paused for 24–48 hours so no order is created against a still-migrating price list.

Does running Shopify B2B on the same theme as D2C hurt SEO or cannibalise the buying experience?

Running Shopify B2B on the shared theme does not hurt SEO, provided the store is not doing something unusual: Shopify B2B renders a company’s negotiated pricing and catalogue only after that customer logs in, on the same product and collection URLs a retail shopper sees signed out. Googlebot crawls the store the way a retail visitor does — signed out — so it indexes one price and one catalogue per URL, not a second, company-specific version. There is no duplicate-URL problem for a search engine to trip over, because B2B pricing never gets its own crawlable page.

The real risk is on the UX side, and it is the one operators underestimate. A retail-first theme built around browsing, add-to-cart and a single checkout puts a signed-out B2B buyer through the same journey as a consumer — no bulk reorder, no visible net-terms option, no quick order-by-SKU list — until they find the company-account login, which, in our own implementation work, sits no more prominently on a retail theme than the ordinary account link. Shopify’s answer is Trade, a free theme purpose-built for B2B: it hides pricing from anyone not authorised on a company, and ships a quick order list, quantity-rule display and volume-pricing table that a retail theme does not have.

Running one shared theme across both audiences, rather than adopting Trade, is a defensible choice for a brand where B2B is a minority of revenue and consistent brand presentation matters more than a purpose-built ordering flow — but it means building the B2B-specific interface into the existing theme rather than getting it for free. The mechanism for that is customer.b2b?, a Liquid object Shopify documents for theme developers: a section or block can check it and show the quick-order list, quantity breaks or the net-terms notice only to a logged-in company buyer, leaving the retail experience untouched for everyone else. What actually cannibalises the buying experience is not the shared theme — it is shipping B2B live without touching the theme at all, and expecting quantity rules and price lists alone to make a retail-shaped page feel like a wholesale one.

What does Shopify B2B actually support for net-30 invoicing, ACH and ERP sync?

Net terms on Shopify B2B run Net 7, 15, 30, 45, 60 or 90, set at the company or the individual company-location level, and available on every paid plan today — not held back for Plus, per Shopify’s own B2B documentation. A company on Net 30 gets an order marked unpaid with a due date, and Shopify sends payment reminders against that date. It does not chase a buyer past due, and it does not flag an ageing account anywhere outside the order list, by default.

ACH bank-transfer payment for B2B orders, US merchants only, shipped through Shopify Payments in Shopify’s Winter ‘26 Edition release. Shopify’s own description of it is specific: automatic payment matching and reconciliation against the invoice, rather than a manual bank-statement match (vendor-reported, Shopify). That closes a real gap — before ACH shipped, a Net 30 invoice paid by bank transfer had to be matched to the right order by hand, because the payment arrived with no Shopify order number attached to it.

What Shopify does not do, on any plan, is post that invoice into an ERP or accounting system as a distinct accounts-receivable entry with the correct terms attached. That is a sync-tool job, and the failure mode is specific and well documented among Shopify–QuickBooks integrations: a connector not built for B2B posts a Net 30 order to QuickBooks as a paid sales receipt on the order date, rather than as an invoice carrying a Net 30 due date, because that connector was written for card-paid D2C orders where payment and order happen in the same moment. The books then show revenue and a payment that has not actually landed, and accounts receivable — the balance actually still owed — does not exist anywhere in the accounting system.

The fix is not a feature Shopify ships; it is a connector configuration decision made before the first B2B order goes through: confirm, with whichever sync tool is in use — Shopify’s own QuickBooks connector, or a third party such as Webgility or A2X — that orders carrying net terms map to invoices with the matching due date, not to sales receipts. That single mapping setting is the difference between an accounts-receivable ledger that reflects reality and one that silently does not, and it is a one-time check rather than a recurring task, which is exactly why it gets missed: nobody revisits a sync mapping once it is set, so the first order placed under a payment-terms change nobody flagged is the one that posts wrong.

Is the non-Plus catalogue cap on Shopify B2B a real constraint, and when does it force an upgrade?

Yes, and it binds sooner than the plan comparison usually suggests. Basic, Grow and Advanced stores can assign up to three active B2B catalogues across all B2B markets combined, per Shopify’s own documentation; Shopify Plus creates unlimited catalogues and can assign one directly to a single company location rather than routing it through a market. A per-company-location assignment cap is often quoted at 25 catalogues; Shopify’s own catalogue documentation does not state one, so treat that figure as — metric to confirm rather than a published limit.

Three active catalogues sounds like enough until the pricing structure is written out. In our work with $3M–$30M B2B operations, pricing has rarely sat on a single wholesale tier. A distributor tier, a retail-reseller tier, a house-account tier for a handful of named large buyers, and a seasonal catalogue for one campaign are four structures from one ordinary pricing conversation, and the standard-plan cap covers three of them, total, across the whole store — not per company, per store. A brand that reaches a fourth pricing structure on Basic, Grow or Advanced has to either collapse two tiers into one catalogue with manual per-company price overrides sitting on top of it, which is exactly the kind of manual reconciliation work B2B was supposed to remove, or upgrade to Plus.

The decision framework, in the order these questions actually get asked:

Count the distinct pricing structures the business runs today, not the number of companies — ten companies on the same price list is one catalogue; one company alone on negotiated pricing is a second. If that count is three or fewer, and unlikely to grow past three within the plan’s contract term, the standard-plan cap does not bind, and Plus buys nothing on the catalogue side.

If the count is four or more, or a single large account needs pricing assigned directly to its company location rather than through a shared market catalogue, the standard-plan ceiling is the constraint — and the real comparison is not “three catalogues versus unlimited,” it is the cost of Plus against the operational cost of running price overrides by hand on top of an already-maxed catalogue count. What that manual-override labour costs a $3M–$30M operator in a typical month is — metric to confirm: neither Shopify nor an independent source publishes it, so that half of the comparison has to be measured inside the business, not looked up.

Deposits, partial payments and per-fulfilment payment requests are Plus-only regardless of catalogue count, so a business that needs staged payment on large orders reaches the Plus decision through a different door entirely, independent of how many price lists it runs.

That gap is an ops-automation problem, not a Shopify configuration problem: someone has to reconcile net-terms invoices against actual receipts on a schedule, flag accounts going past due, and decide when a stalled B2B order gets held rather than shipped again. Shopify tells you what was ordered and on what terms; it does not tell you who has not paid, and it does not tell your accounting system either unless the sync mapping is set correctly. Building that reconciliation is the kind of unglamorous, recurring workflow ops automation exists to run, and it is the difference between B2B being a genuine new revenue line for a scaling brand and it quietly becoming an unmonitored receivables balance.

Sources

This piece is written from Shopify’s own “B2B on Shopify” merchant documentation for the mechanism details, its “Shopify B2B features by plan” and “B2B catalogs with Markets” pages for plan availability and the catalogue-count limits, its “Migrating your customer data to Shopify B2B” documentation for the migration-tool scope, and its Winter ‘26 Edition release notes for the ACH payment-matching description (vendor-reported) — all cross-checked against first-hand implementation and migration work on Shopify Plus and standard-plan stores. No independent third-party statistic is quoted. The one figure this piece could not source — the labour cost of running manual price overrides once the standard-plan catalogue cap is reached — is marked metric to confirm in the body rather than estimated.

Frequently asked

Does Shopify B2B require Shopify Plus?

No, not any more. Company accounts, price lists, net terms and ACH payments now ship on Basic, Grow and Advanced, per Shopify's own B2B documentation. Plus removes the standard-plan cap of three active price lists, adds direct catalogue-to-company-location assignment, and is still required for deposits and partial payments.

Does a Shopify B2B catalogue only set price, or can it also limit which products a company can buy?

Both. A catalogue pairs a price list with a set of included products, so a company assigned to it can only order what the catalogue contains — anything left out does not appear on that company's storefront, per Shopify's own B2B catalogue documentation. A merchant selling only part of the consumer range to a given wholesale tier restricts it at the catalogue level, not with a separate visibility setting.

Can B2B buyers pay by card, or only on net terms?

Both, per company. A merchant sets the accepted payment methods on each company profile — card at checkout, net terms such as Net 30 or Net 60, or a mix across a company's different locations. Net terms are optional, not the default.

Does Shopify B2B use a separate inventory pool from the consumer store?

No. B2B orders draw from the same inventory as direct-to-consumer orders, on the same store and the same product catalogue. A merchant does not maintain two stock counts; a company's price list and quantity rules sit on top of the existing catalogue rather than duplicating it into a second system.

Who approves a new company account on Shopify B2B?

The merchant does, manually, inside Shopify admin. There is no self-serve signup that activates a company automatically — someone on the operations side reviews the application, assigns a price list and payment terms, and only then does the buyer get ordering access.

Can a Shopify B2B company buyer be rung up at a physical store using their company's price list?

Not through Shopify POS directly. Company accounts, price lists and net terms are a Shopify B2B mechanism built around the online store; a retail location taking an in-person order from a company buyer has staff create a draft order in Shopify admin against that company instead, which applies the correct pricing and terms automatically — the same route used for phone and email orders.

Can the same buyer be a contact on two different B2B companies at once?

No. Shopify allows a customer to be added to only one company at a time, though that company can have several locations and the buyer can be assigned to more than one of them. An agency or rep ordering for several separate businesses needs a distinct login per company, not one account switching between them.

Can a B2B buyer pay with Shop Pay or Apple Pay at checkout?

No. Accelerated checkouts — Shop Pay, Apple Pay, Google Pay and Amazon Pay — are on Shopify's own list of features incompatible with B2B, alongside local delivery, pickup points and tipping. A company buyer pays by card entered manually, ACH where available, or on the net terms set for their account; the one-tap wallets consumer checkout offers do not appear.

Does Shopify B2B support subscription or pre-order products for company buyers?

No. Subscriptions sit on the same incompatible-features list as accelerated checkout and local delivery, per Shopify's own B2B documentation. A company account can place a one-off order against its price list, but recurring billing has to run through a separate mechanism — a manually recreated draft order on a schedule, or a workaround outside Shopify entirely — until native support ships.

Can a company location be marked tax-exempt on Shopify B2B?

Yes. On a plan that supports Shopify B2B, a merchant can set each company location to collect tax, not collect tax, or collect tax unless an exemption applies, per Shopify's own tax documentation. Shopify only records that setting — it does not collect, verify or store a resale certificate, so gathering and keeping exemption paperwork stays the merchant's job.

Can staff place a B2B order manually instead of the buyer self-serving at checkout?

Yes, using a draft order. A merchant selects the B2B customer and their company location, and Shopify applies that company's price list, payment terms and checkout options automatically; staff can still override a single line item to a negotiated price the catalogue does not reflect. This runs alongside self-serve ordering, not instead of it, and covers phone or email orders a buyer never places themselves.

Next step

Is this your ops automation problem, or a symptom of another one?

Bring your numbers — the churn split, the decline rate, whatever your flows are earning — and we will tell you which of them is the expensive one.

Book a call →