リファレンス
Shopify B2B technical reference for agencies
Shopify B2B by plan, the Company, catalog, customer-account and draft-order mechanics, the API changes that touch B2B, and where a quote layer fits. Dated.
- 最終確認日
- Shopify API
- 2026-07 stable; 2026-10 release candidate
- 対象読者
- Shopify agencies, developers and solution architects scoping a B2B build
- 範囲
- Native Shopify B2B (Companies, locations, catalogs, customer accounts, checkout, draft orders, payment terms, Markets, sales staff, migration, API versions) and the gaps a quote workflow fills
This page is a maintained lookup table, not an article. Every row cites the Shopify page it was read from and the date it was checked, because B2B is the part of Shopify that changes most and agency guides go stale fastest: a widely shared implementation guide dated 25 May 2026 still says native B2B needs Shopify Plus, seven weeks after Shopify extended it to every plan. When a Shopify Edition or a quarterly API release changes a row, the row changes and the change is logged at the foot of the page.
QuotWay is a quote and negotiation app, so the last section states plainly where a quote layer attaches to this model and what it depends on. Nothing above that section is about QuotWay.
Plan capability matrix
Source: B2B features by plan and the 2 April 2026 announcement, both read on 20 September 2026. B2B is included at no extra cost on Basic, Grow, Advanced and Plus; the rows below are the differences.
| Capability | Basic | Grow | Advanced | Plus |
|---|---|---|---|---|
| Companies, company locations, location-level permissions | Yes | Yes | Yes | Yes |
| B2B market catalogs | Up to 3 active across all B2B markets | Up to 3 | Up to 3 | Unlimited |
| Direct catalog assignment to a company or location | No | No | No | Yes |
| Quantity rules and quantity price breaks | Yes | Yes | Yes | Yes |
| Net terms, payment reminders, vaulted credit cards, ACH (US) | Yes | Yes | Yes | Yes |
| Deposit requirements | No | No | No | Yes |
| Partial payments, payment request per fulfilment | No | No | No | Yes |
| Draft order to invoice, checkout to draft, easy reorders, PO numbers | Yes | Yes | Yes | Yes |
| Contextual checkout and storefront customisation by market | No | No | Yes | Yes |
| Sales staff permissions (up to 10 staff per company location) | Yes | Yes | Yes | Yes |
| Trade theme, quick order list | Yes | Yes | Yes | Yes |
| Shopify Flow B2B triggers and actions | Yes | Yes | Yes | Yes |
What none of the four plans models natively: a buyer's price request, a seller's proposal with versions, a counter-offer, an approval chain on a discount, or an audit trail of the negotiation. Those live in a quote layer or a custom build; see the last section, and when you shouldn't use a quote app for the cases the native features already cover.
The object model
Source: Build B2B apps and companies and customers, read 20 September 2026.
| Object | Shopify's definition | What attaches to it |
|---|---|---|
| Company | "The business entity that makes a B2B purchase. A company contains locations and contacts." | Locations, contacts, company-wide payment terms, metafields |
| Company location | "A single location or branch of the company" - the entity actually sold to | Billing and shipping addresses, tax ID and exemptions, catalogs, payment terms, checkout settings (draft-only checkout, editable shipping address), vaulted cards, sales staff, contacts |
| Company contact | "A person that acts on behalf of the company", connected to a Shopify customer record | Roles per location; a customer belongs to one company but can be on several of its locations |
| Catalog | Products and pricing a location can buy: a product selection, a price list, quantity rules and volume pricing | B2B markets (any plan) or directly to companies and locations (Plus) |
| Order or draft order | Associated with a company, a location, or a contact via purchasingEntity |
Payment terms, PO number, deposit (Plus), locked prices, reserved inventory |
Catalogs attach to locations, never to contacts. A buyer signed in with several locations chooses one before they see prices or check out, so every price the storefront shows is a location's price.
Catalogs, quantity rules and volume pricing
Source: B2B catalogs and quantity rules and volume pricing, read 20 September 2026.
- A location can have several catalogs. When the same product appears in more than one, "the lowest price displays to the customer". There is no precedence setting; the lowest wins.
- Off Plus, the limit is three active catalogs across all B2B markets combined, not three per market. Plus lifts the cap and adds direct assignment to a company or location.
- Quantity rules are per variant: minimum, maximum and increment (a whole number, default 1). Quantities do not combine across variants.
- Volume pricing allows up to 10 price breaks per product, applied per variant. A break's quantity must exceed the minimum and be a multiple of the increment. Once volume pricing is applied, the product's price is fixed and the catalog's overall percentage adjustment no longer applies to it.
- Catalog pricing is fixed pricing. A price that depends on the deal - freight, specification, a one-off volume, a negotiation - is outside what a catalog can express.
Customer accounts and sign-in
Source: Sign-in and customer accounts in B2B and customer accounts for apps, read 20 September 2026.
- Legacy customer accounts are deprecated as of 26 February 2026, are not available to new stores, and "all merchants must upgrade". B2B never supported them: "you can't use legacy customer accounts for B2B customers and orders". Any guide that frames a B2B build as a legacy-versus-new decision is describing a choice that no longer exists.
- Buyers sign in with the email on a company location and a one-time PIN sent to that email. No password.
- A buyer on several locations picks the location they are buying for before browsing or checkout.
- In the account a B2B buyer can view order history, account and location information, saved payment methods, pay invoices, track orders, reorder by duplicating a past order, and submit return requests.
- Customer account UI extensions run only on the current customer accounts. That is how an app puts a page (quotes, for instance) inside the account. Third-party OAuth 2.0 and OpenID Connect identity providers are supported, and the Spring '26 Edition added profile and tag sync from Auth0, Ping Identity and Azure ID plus 365-day sessions.
- A buyer who is not associated with a company location is treated as a D2C customer even if they sign in.
Checkout and draft orders
Source: Checkout and accounts, draft orders for B2B apps and B2B features overview, read 20 September 2026.
| Setting or step | Behaviour |
|---|---|
| Location set to "Only allow draft orders at checkout" | The buyer's button reads "Submit for approval"; the order lands on the Drafts page and completes only when the merchant creates the order or the buyer pays an invoice |
| No payment terms on the location | Buyer enters a card and clicks "Pay now" |
| Net terms on the location | Buyer clicks "Submit"; the order shows "Payment pending"; nothing is captured automatically when the terms expire |
| Net terms with a deposit (Plus) | Buyer clicks "Submit now" and pays the deposit; the order shows "Partially paid" or "Payment pending" depending on capture |
| PO number | Optional field at checkout, shown on the order status page; readable inside checkout Functions since Spring '26 |
| Creating a draft order for a company via the API | draftOrderCreate with purchasingEntity: { purchasingCompany: { companyId, companyLocationId, companyContactId } }; draftOrderInvoiceSend emails the invoice; draftOrderComplete turns it into an order |
| Locked prices and reserved inventory | Both are explicit per-draft actions: a draft order neither freezes its prices nor holds stock unless you tell it to |
| Line items | 500 per order or draft order; the API's draftOrderCreate and draftOrderUpdate ceiling is 499 (see draft-order limits) |
| Accelerated checkouts | Shop Pay, Apple Pay, Google Pay and Amazon Pay are incompatible with B2B checkout |
A draft order is the record of an agreed order awaiting payment or approval. It has no request, proposal, version or counter-offer state; those either happen before the draft order exists or in a system that creates the draft order once the price is settled.
Payment terms and deposits
Source: payment terms and the deposit fields changelog, read 20 September 2026.
- Options: no payment terms (due immediately, the default), Net 7, 15, 30, 45, 60 or 90, due on fulfilment, or a fixed date.
- Terms attach to a company location, to a single draft order, company-wide to all locations, or in bulk across companies.
- Payment reminders go out on the due date. Payment is not captured automatically when terms expire; an order on due-on-fulfilment terms without a valid authorisation needs manual capture.
- Vaulted credit cards are saved at the company-location level; Spring '26 added Flow-driven charging of a vaulted card on fulfilment or on the due date.
- Deposits are a percentage requirement on a location or a draft order and are "available only on the Shopify Plus plan". Since API 2026-07 (1 July 2026) apps can set
DraftOrderInput.depositon the Admin API and readDraftOrder.depositon the Customer Account API, again Plus only. - Partial payments and a payment request per fulfilment are Plus only.
B2B markets
Source: B2B and Markets, read 20 September 2026.
A B2B market groups companies to give them their own currency, theme, tax and duty collection, discounts, pricing and product availability. Catalogs attach to B2B markets on every plan; the three-active-catalog limit counts across all B2B markets. Theme-editor customisation by market needs Advanced or Plus, which is also where contextual checkout lives.
Sales staff and admin access
Source: orders, data and admin access for B2B sales staff, read 20 September 2026.
- "You can assign up to 10 sales staff to each company location", and one staff member can be on many locations.
- The permissions involved are "View companies", "Assign staff to company locations" and "Restrict permissions to assigned company locations".
- A restricted staff member sees only the Customers, Orders, Draft orders and Companies pages, filtered to their locations.
- Available on all plans; the number of staff seats still follows the plan.
Migrating existing customers into companies
Source: migrating customers to B2B, read 20 September 2026.
| Rule | Detail |
|---|---|
| Which orders move | D2C orders only; B2B orders stay with the company they were placed for |
| How much history | The customer's full order history or none - "partial order history migration isn't supported" |
| Where history lands | One company location; orders cannot be split across locations |
| What else can come along | Tax exemptions (except those made by switching off tax collection), shipping-address flexibility, draft-order submission preference, payment terms |
| Batch size | Up to 250 customers at once via the customers page's "Add to company" |
| Reversibility | Deleting a new company, or removing a migrated customer, returns them and their originally migrated orders to D2C |
Automation and integrations
Source: B2B features overview and Shopify Editions Spring '26, read 20 September 2026.
- Shopify Flow ships B2B triggers and actions on every plan, which is the native automation surface for B2B.
- Shopify's own integrations named in Spring '26: QuickBooks syncs B2B orders, PO numbers and company details; Mailchimp can target B2B segments. ERP, accounting and PIM connections beyond those go through partner apps or the Admin API.
- Checkout Functions can read the billing address and PO number, so PO-required or address-restricted rules can be enforced in Functions rather than in the theme.
API versions and the changes that touch B2B
Source: API versioning, 2026-07 release notes, 2026-10 release notes, read 20 September 2026.
Shopify releases a version every three months on the first day of the quarter; each stable version is supported for at least 12 months. A request that names an unsupported version "falls forward" to the oldest accessible stable version, silently. Stable on 20 September 2026: 2025-10, 2026-01, 2026-04 and 2026-07 (latest). 2026-10 is the release candidate and becomes stable on 1 October 2026.
| Version | Change | Type |
|---|---|---|
| 2026-07 | DraftOrderInput.deposit on the Admin API; DraftOrder.deposit (read-only) on the Customer Account API - Plus stores |
New, 1 Jul 2026 |
| 2026-07 | DraftOrderLineItem.weight replaces grams, which is removed |
Changed, 13 Apr 2026 |
| 2026-07 | Customer Account API: DraftOrder.discountApplications and DraftOrderLineItem.discountAllocations added; discountedUnitPrice deprecated in favour of approximateDiscountedUnitPrice |
New and deprecated, 1 Jul 2026 |
| 2026-10 (RC) | priceRule removed from DraftOrderDiscountNotAppliedWarning; select discountTitle and discountCode from draftOrderCalculate, draftOrderCreate and draftOrderUpdate instead |
Removed |
| 2026-10 (RC) | Customer Account API: Customer.lastIncompleteCheckout and the Checkout subtree removed, no replacement |
Removed |
Deprecations are announced in the developer changelog, the API health report, API client warnings and the reference itself. An integration that pins a version and reads the health report before each upgrade will not be surprised by any of the rows above.
Known limitations
Source: requirements and considerations for using B2B, read 20 September 2026, plus the plan-features gaps above.
| Area | Limitation |
|---|---|
| Checkout | Accelerated checkouts (Shop Pay, Apple Pay, Google Pay, Amazon Pay) and tipping are incompatible; checkout.liquid customisations are not supported |
| Products | Subscriptions are incompatible with B2B; agentic storefronts are not supported for B2B wholesale |
| Delivery | Local delivery only on B2B draft orders; pickup points incompatible; pickup in store off by default (Support request) |
| Off by default, Support request to enable | Abandoned checkouts, line item scripts, gift cards at checkout, pickup in store |
| Orders | 500 line items per order or draft order; the buyer must be associated with a company location when the order is placed |
| Catalogs off Plus | Three active catalogs across all B2B markets; no direct company assignment |
| Payments off Plus | No deposits, no partial payments, no payment request per fulfilment |
| Customer accounts | Legacy accounts not supported (and deprecated platform-wide since 26 Feb 2026) |
| Fees | B2B and D2C orders can carry different platform fee rates; confirm with Shopify Support |
| Apps | Some third-party apps are incompatible with B2B; check with the developer |
Where a negotiated-quote layer fits
Native B2B is a fixed-price model: a location's catalog price, quantity rules and terms, then checkout or a draft order. It has no object for a buyer asking for a price, a seller proposing one, a counter-offer, a discount that needs sign-off, or the history of that exchange. A quote layer owns exactly those states and hands Shopify a draft order once the price is agreed; anything else it stores would be a second copy of Shopify's data.
How QuotWay attaches to the model on this page, stated as shipped on 20 September 2026:
| Model element | What QuotWay does with it |
|---|---|
| Company, location, contact | A quote attaches to the buyer's Company, Company Location and Contact (company-aware quoting, Enterprise plan); targeting rules can show quoting to a specific company or location |
| Catalog price | A proposal prices from the buyer's company-location catalog and negotiates from there; standing prices stay in Shopify |
| Proposal and counter-offer | Versioned proposals and buyer counters; a sent proposal's lines are locked, so a change is a new version or a counter, never an edit in place |
| Approval | Approval policies route a discount past a threshold to the right approver, enforced server-side |
| Draft order | An accepted quote converts to a native draft order; on Enterprise the buyer's Shopify payment terms are applied on conversion |
| Deposits | A negotiable deposit (1-99 percent) is collected at Shopify checkout on the converted draft order; Shopify Plus stores, from the Professional plan |
| Customer account | Quotes appear inside the customer account through a customer account UI extension, or in a hosted portal for guests and stores without customer accounts; detected automatically |
| Flow | Flow triggers on Professional and up, actions on Enterprise |
| Plans | Draft-order conversion runs on every plan including the free Lite plan; company-aware quoting and payment terms on Enterprise |
Full detail: what lives in Shopify and what belongs in the quote layer (the architecture, object by object), how to evaluate a Shopify B2B app (53 vendor-neutral questions), Shopify B2B quoting, what QuotWay can and cannot do, converting to draft orders.
Changes to this page
| Date | Change |
|---|---|
| 20 Sep 2026 | First publication. All rows verified against the Shopify pages linked in each section on 20 September 2026; API 2026-07 stable, 2026-10 release candidate |
Re-verification is scheduled for every Shopify Edition and every quarterly API release; the next is the 2026-10 release on 1 October 2026.
Sources
Shopify pages, all read on 20 September 2026:
- B2B features by plan
- B2B for all - announcement, 2 April 2026
- Overview of B2B features
- Requirements and considerations for using B2B
- B2B catalogs and quantity rules and volume pricing
- B2B and Markets
- Sign-in and customer accounts in B2B
- Checkout and accounts and payment terms
- Orders, data and admin access for B2B sales staff
- Migrating customers to B2B
- Build B2B apps and draft orders for B2B
- Customer accounts for apps
- API versioning, 2026-07 release notes, 2026-10 release notes, draft-order deposit fields changelog
- Shopify Editions Spring '26