Skip to content

Reference

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.

Last verified
Shopify API
2026-10
Audience
Shopify agencies, developers and solution architects scoping a B2B build
Scope
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.

How to read it. Every statement is one of three kinds, and the page says which. Shopify fact - the default for every row above the final section: read from the Shopify page linked at the top of its section, on the date shown, quoted where the wording matters. Recommendation - an engineering judgement, tagged inline and stated with the mechanics that make it reasonable. QuotWay - how this product behaves, confined to the final section and tagged there. Nothing on the page is a measurement of merchants; where a number is QuotWay's own data it will be labelled QuotWay observation with its sample, and there are none yet.

Every row cites the Shopify page it was read from and the date it was checked, because Shopify's B2B capabilities changed substantially in 2026 (every plan since 2 April, a quarterly API cadence, Editions through the year) and agency guides have gone stale within weeks: 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 and re-read 7 October 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

Read: do you need Shopify Plus for B2B? for the plan decision in merchant terms, and Shopify B2B features explained for what each row means.

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. Recommendation: 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 and re-read 7 October 2026; adding customers to companies, read 7 October 2026 - "you can add a customer only to one company".

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
Shopify B2B object model A company contains one or more company locations and company contacts. The company location is the entity sold to: catalogs (a publication plus a price list, reached through a B2B market on any plan or assigned directly on Plus), payment terms, tax ID and exemptions, checkout settings and up to ten sales staff all attach to it. A contact is connected to a Shopify customer record and can act for several locations. A draft order or order is associated with the company, location and contact through purchasingEntity, carries payment terms, PO number, a deposit on Plus, locked prices and reserved inventory, and becomes an order when paid. A dashed band marks the B2B market that groups locations and sets their currency. B2B market - groups locations, sets currency, attaches catalogs on every plan Company the business entity; company-wide terms Company location the entity sold to addresses, tax ID Company contact acts for one or more locations Customer customer account, one-time code sign-in Catalogs - publication + price list (direct assignment: Plus) Payment terms - net / fulfilment / fixed date; deposits: Plus Tax ID and tax exemptions Checkout settings - submit as draft, editable address Sales staff - up to 10 per location contains has is a Draft order / order purchasingEntity: company, location, contact payment terms, PO number, deposit (Plus) locked prices, reserved inventory Order financial status: pending → partially paid → paid purchasingEntity paid, or completed Catalogs attach to locations, never to contacts; every price the storefront shows is a location's price.
The five objects and what hangs off each; the location is where pricing, terms and tax meet, and the draft order is where they leave.

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; customizing B2B pricing using catalogs, B2B catalogs with Markets and manage B2B catalogs (apps), read 21 September 2026; all re-read 7 October 2026 at API 2026-10, with ProductVariantContextualPricing.

  • A location can have several catalogs (up to 25; 10,000 per store). Two rules decide the price when the same product appears in more than one, in this order: a catalog assigned directly to the location (Plus) is "the most specific" and beats a catalog that reaches the location through a B2B market; among catalogs at the same level, "the lowest price displays to the customer" (compared "not including quantity rules or volume pricing breaks"), and quantity rules and volume pricing follow the catalog with the lowest price per variant - on an equal lowest price, "the first catalog that was created". There is no precedence setting beyond that. (Corrected 21 Sep 2026 - the first publication stated only the lowest-price rule.)
  • A catalog is a publication (which products) plus a price list (what they cost). With no price list the location gets the base variant prices converted to the market currency; with no publication, B2B customers logged in for that location see no products. Fixed prices override the catalog's percentage adjustment.
  • 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. A catalog assigned directly to a company or location can't be added to a rollout.
  • 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.
  • From API 2026-10, ProductVariant.contextualPricing also returns auditTrail: the ordered price adjustments (type, value, resulting price, display label) behind the contextual price. It is empty when Shopify cannot return a complete trail, does not cover order or draft-order lines, and names no catalog or price list.
  • 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. How the resolved price should become a quote's starting point is in what price a Shopify B2B quote should start from.

Read: why B2B buyers can't see their prices for the symptom-by-symptom diagnosis when a buyer sees the retail price, no price or a price that changes at checkout.

Customer accounts and sign-in

Source: Sign-in and customer accounts in B2B and customer accounts for apps, read 20 September 2026 and re-read 7 October 2026; identity provider requirements, read 7 October 2026.

  • Legacy customer accounts are deprecated as of 26 February 2026: no longer available to new stores or to existing stores not already using them, no further feature updates or support, and "all merchants must upgrade". Deprecated is not yet sunset - Shopify's changelog says "a final sunset date for legacy customer accounts will be announced later in 2026", so a store still on them keeps working until that date is set. 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. On Shopify Plus a store can connect its own OAuth 2.0 / OpenID Connect identity provider, and the Spring '26 Edition added profile and tag sync from providers such as Auth0, Ping Identity and Azure ID (also Plus only); sessions of up to 365 days apply on every plan.
  • A buyer who is not associated with a company location is treated as a D2C customer even if they sign in.

Read: building a Shopify B2B portal on customer accounts for the four surfaces, the extension limits and where guests go, and a B2B buyer portal on Shopify for what the account can and cannot carry for a quoting buyer.

Checkout and draft orders

Source: Checkout and accounts, draft orders for B2B apps and B2B features overview, read 20 September 2026; creating B2B orders using draft orders, DraftOrderStatus and draftOrderUpdate, read 21 September 2026; all re-read 7 October 2026 at API 2026-10.

Setting or step Behaviour
Location set to "Submit all orders as drafts for review" (the checkout overview still names the same setting "Only allow draft orders at checkout") The buyer's button reads "Submit for approval"; the order lands on the Drafts page with prices locked, 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 For a draft created in the admin, both are explicit per-draft actions: it neither freezes its prices nor holds stock unless you tell it to. A draft the buyer submitted for review arrives with its prices locked (lock stops automatic rises and automatic falls alike)
Draft order status DraftOrderStatus has three values at 2026-07 and 2026-10: OPEN (not paid, no invoice sent), INVOICE_SENT, COMPLETED (paid). draftOrderUpdate changes the draft in place (a draft has no versions) and is not restricted on an invoice-sent draft; an update after a checkout has started unlinks that checkout
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. A Shopify draft order is not a quote sets the three draft-order states against the quote states a negotiation needs, and shows where the hand-off sits. draftOrderCreate takes no idempotency key at 2026-07 or 2026-10 (mutations that support one, such as inventoryAdjustQuantities, document @idempotent on their reference page); how one accepted quote becomes exactly one draft order covers building that guarantee in the app.

Read: why a quote converts at the wrong price when a draft order's price differs from the accepted quote, and when the quote and the Shopify order disagree for what drifts after conversion.

Payment terms and deposits

Source: payment terms and the deposit fields changelog, read 20 September 2026; creating draft orders and the PaymentTermsType enum, read 30 September 2026; all re-read 7 October 2026 at API 2026-10, with B2B considerations and the 2026-10 release notes.

  • Options on a company location: no payment terms (due immediately, the default), Net 7, 15, 30, 45, 60 or 90, due on fulfilment, or a fixed date.
  • The Admin API enumerates four term types - RECEIPT ("due on receipt"), FULFILLMENT, NET and FIXED - and the draft-order help lists due on receipt among the terms a draft order can carry; the B2B payment-terms page lists all but due on receipt.
  • Terms attach to a company location, to a single draft order, company-wide to all locations, or in bulk across companies.
  • Payment terms are not B2B-only: Shopify's general draft-order help (outside the B2B section) has you "select Payment due later" and pick a term from the Payment terms menu, for any customer, with no company or location required. Apps set them through DraftOrderInput.paymentTerms with the write_payment_terms scope.
  • Payment reminders can go out on the due date through Shopify Flow. Payment is not captured automatically when terms expire, and B2B orders and draft orders "must be manually captured when they don't have a valid authorization and due on fulfillment payment terms" (Shopify's wording).
  • Vaulted credit cards are saved at the company-location level; Spring '26 added Flow-driven charging of a vaulted card on fulfilment, on the due date or on invoicing. Since API 2026-10 (1 October 2026), paymentInstrumentSendAddEmail emails a buyer a link to add a payment method to a specific draft order or order.
  • 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.deposit on the Admin API and read DraftOrder.deposit on the Customer Account API, again Plus only.
  • Partial payments and a payment request per fulfilment are Plus only.

Read: Shopify B2B payment terms for how terms behave on a quote and an order, and taking deposits on negotiated quotes for the deposit mechanics.

B2B markets

Source: B2B and Markets and managing B2B with Markets, read 20 September 2026 and re-read 7 October 2026; catalogs with Markets and the 2026-10 Market object, read 7 October 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. A company location can match several B2B markets at once; Shopify's B2B pages give no tie-break beyond "the customizations of the markets that they match". Markets can be nested: from API 2026-10 apps with read_markets can read the hierarchy through marketRelationships and Market.parentMarkets / childMarkets (eventually consistent after a change), and the general Markets catalog rule is the more specific market's price, else the lower price.

Sales staff and admin access

Source: orders, data and admin access for B2B sales staff, read 20 September 2026 and re-read 7 October 2026, with the B2B features overview.

  • "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, and Shopify's features overview adds that "some permission levels might be limited on non-Plus plans" without naming them.

Read: sales-rep quoting on Shopify for what these permissions do and do not cover once reps quote, and the B2B security review checklist for the rest of the store's access review - two-step authentication, collaborators, draft-order and discount permissions, buyer contact roles.

Migrating existing customers into companies

Sources: migrating customers to B2B, read 20 September 2026 and re-read 23 September 2026 and 7 October 2026; Shopify Staff on the developer forum, 2 December 2025, read 23 September 2026 and re-read 7 October 2026 (no later reply).

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
Orders that never move Cancelled and deleted orders - "you can't migrate canceled or deleted orders"; exclude them before counting, or reconciliation will not match the source
Batch size Up to 250 customers at once via the customers page's "Add to company"
Automation None for this step. CompanyLocationMigrateOrdersMutation and CompanyLocationRevertMigratedOrders are "internal-only and not exposed in the public API". Orders that live outside Shopify are a different job and do have an API: orderCreate with companyLocationId and customer.toAssociate
Reversibility Deleting a new company returns its customers to D2C; removing a customer from an existing company offers "the option to remove the original orders that you migrated"

Read: migrating wholesale customers to Shopify Companies for the two paths, the dependency chain that fixes the order of work, the throughput arithmetic and how to pilot.

Automation and integrations

Source: B2B features overview and Shopify Editions Spring '26, read 20 September 2026 and re-read 7 October 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.

Read: ERP, CRM and PIM integration patterns for who writes which field, the three doors a quote leaves through and what a converted order carries; building a Shopify Flow integration for the trigger and action pattern; and Shopify Sidekick intent types for the assistant surface.

API versions and the changes that touch B2B

Source: API versioning, 2026-07 release notes, 2026-10 release notes, read 20 September 2026 and re-read 7 October 2026; the changelog entries on the priceRule removal, orderUpdate tax recalculation and Events, and the 2026-10 DraftOrderLineItem reference, read 7 October 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 7 October 2026: 2026-01, 2026-04, 2026-07 and 2026-10 (latest, released 1 October 2026); 2027-01 is the release candidate. 2025-10 is listed as unsupported and stays accessible until 16 October 2026 at 15:00 UTC, after which a request that names it falls forward to 2026-01.

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. Shopify's changelog says grams is removed from 2026-07, but the 2026-07 and 2026-10 references still list it as deprecated - stop reading it either way Deprecated, 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 priceRule removed from DraftOrderDiscountNotAppliedWarning, and with it the legacy PriceRule object and its related types; select discountTitle and discountCode from draftOrderCalculate, draftOrderCreate and draftOrderUpdate instead Removed, 1 Oct 2026
2026-10 Customer Account API: Customer.lastIncompleteCheckout and the Checkout subtree removed, no replacement Removed, 1 Oct 2026
2026-10 Changing the shipping address of an unfulfilled order with orderUpdate now recalculates its taxes for the new destination; partly or fully fulfilled orders, and orders that can't be edited, are not recalculated Changed, 1 Oct 2026
2026-10 OrderDisplayFulfillmentStatus can return FULFILLMENT_NOT_REQUIRED for an order with zero remaining fulfillable quantity New, 1 Oct 2026
2026-10 Events, Shopify's successor to classic webhooks, generally available for topics including Order, Company and Customer: the app chooses the triggers and a GraphQL query for the payload; classic webhooks keep working New, 1 Oct 2026

ProductVariantContextualPricing.auditTrail (2026-10) is recorded under catalogs, and the market hierarchy (marketRelationships, 2026-10) under B2B markets.

Deprecations are announced in the developer changelog, in the app's alerts in the Dev Dashboard, in API client warnings and in the reference itself. Recommendation: an integration that pins a version and clears its Dev Dashboard alerts before each upgrade will not be surprised by any of the rows above.

Read: Shopify B2B technical debt for the retired surfaces around these versions - checkout.liquid, Shopify Scripts, legacy customer accounts - in one dated calendar, and the structural decisions that are hard to reverse.

Known limitations

Source: requirements and considerations for using B2B, read 20 September 2026 and re-read 7 October 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

Read: tax exemption on Shopify B2B for the exemption rows in practice, and the draft-order limits for the order rows.

Read: is Shopify good for B2B? for the limits and native gaps that make another platform the better fit, and how six other B2B platforms document the same capabilities.

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. Recommendation: 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.

QuotWay - how the product attaches to the model on this page, stated as shipped on 20 September 2026 and updated on 30 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 carrying the Shopify payment terms picked on the proposal - any quote (wholesale, DTC or company-aware), every plan, no Shopify B2B needed
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, API and webhooks Flow triggers on Professional and up, actions on Enterprise; a REST API that reads quotes and creates quote requests, and signed outbound webhooks for quote events, on Enterprise. The API never sets a price or converts a quote; the draft order still comes from the conversion above
Plans Draft-order conversion and payment terms run on every plan including the free Lite plan; company-aware quoting 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), native B2B, a quote app, a custom build or CPQ (the decision guide), the 50-test launch plan, Shopify B2B quoting, what QuotWay can and cannot do, converting to draft orders.

Changes to this page

Date Change
20 Sep 2026 Added. 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
21 Sep 2026 Changed. Draft-order rows re-read for the draft order vs quote post: the per-location setting is named "Submit all orders as drafts for review" on the B2B draft-orders and checkout-settings pages and "Only allow draft orders at checkout" on the checkout overview - both recorded; submitted drafts have prices locked by default; DraftOrderStatus confirmed as three values (OPEN, INVOICE_SENT, COMPLETED) at 2026-07
21 Sep 2026 Corrected. Catalog rows corrected for the starting-price post: the first publication stated only "the lowest price wins"; Shopify's Markets page gives two rules in order - a catalog assigned directly to the location is "the most specific" and beats a market catalog, then lowest price among equals, with quantity rules following the lowest-priced catalog per variant. Added: catalog = publication + price list, the no-price-list and no-publication behaviours, 25 catalogs per location, 10,000 per store
22 Sep 2026 Changed. Customer-accounts row re-read against Shopify's 26 Feb 2026 changelog: legacy accounts are deprecated, not yet sunset - the final date is to be announced later in 2026 - and the row now says so. The introduction's "B2B is the part of Shopify that changes most" replaced with what can be shown (every plan since 2 April 2026, quarterly API releases, Editions). Change-table rows labelled Added / Changed / Corrected from here on. An evidence legend (Shopify fact / Recommendation / QuotWay) added at the top and the three recommendation sentences tagged inline
22 Sep 2026 Added. Pointer from the automation section to the integration patterns post, whose research re-read the Order and DraftOrder objects, CompanyInput.externalId, the price-list mutations, the webhook topic list, Flow's Send HTTP request action and the Global ERP Program collection on 22 September 2026; no row of this page changed as a result
22 Sep 2026 Added. Pointer from the customer-accounts section to the portal-on-customer-accounts post, whose research re-read the B2B sign-in, payment-terms, company-account-request and contact-permission pages, the customer account UI extension targets and capabilities (64 KB, 128 KB for a full page), the Customer Account API's draft orders and the headless B2B guide on 22 September 2026; no row of this page changed as a result
23 Sep 2026 Added. Two migration rows for the migration playbook: cancelled and deleted orders cannot be migrated, and the migrate-orders and revert-migration mutations are internal to Shopify, so the admin migration cannot be scripted - Shopify Staff on the developer forum, 2 December 2025, read 23 September 2026. The section's source line now carries both sources and the re-read date
24 Sep 2026 Added. Pointer from the API-versions section to Shopify B2B technical debt, whose research re-read the API versioning page (including the App Store delisting rule for apps still on unsupported resources), the checkout.liquid and checkout-upgrade pages, the Scripts deprecation notice, the Functions plan rule, the cart and checkout validation API and the B2B store-type and expansion-store pages on 24 September 2026; no row of this page changed as a result
25 Sep 2026 Added. Pointer from the sales-staff section to the B2B security review checklist, whose research read the two-step authentication, collaborator, staff-permission and company-contact pages, the access-scope, offline-token, webhook and app-proxy pages, and the custom-app and expiring-token changelog entries on 25 September 2026; no row of this page changed as a result
30 Sep 2026 Changed. QuotWay section: the Flow row now also records the REST API and signed outbound webhooks, live on the Enterprise plan from 30 September 2026 (API docs); no Shopify row changed
30 Sep 2026 Corrected. Payment-terms section: added due on receipt (the Admin API's RECEIPT term type, also listed on the draft-order help page; the B2B page omits it) and that any draft order can carry payment terms without a company. QuotWay section: payment terms now work on any quote on every plan, not only company-aware quotes on Enterprise
30 Sep 2026 Added. The checkout and draft orders section now records that draftOrderCreate documents no @idempotent directive at 2026-07 (read 30 September 2026 against inventoryAdjustQuantities, which does), with a pointer to idempotent draft order creation
7 Oct 2026 Changed. Whole page re-verified at API 2026-10 (stable 1 October 2026) against the Shopify pages in each section. API versions: 2026-10 is the latest stable version and 2027-01 the release candidate; 2025-10 is unsupported and accessible until 16 October 2026 at 15:00 UTC; the two 2026-10 removals (priceRule with the legacy PriceRule types, and Customer.lastIncompleteCheckout) shipped as listed, so their release-candidate labels are gone; deprecation notices now point to Dev Dashboard alerts, not the API health report; the release-notes links moved under /changelog/release-notes/. Unchanged from 2026-07: DraftOrderInput, the draft-order mutations, DraftOrderStatus, PaymentTermsType, the plan matrix, catalog and quantity rules, sales staff, migration, legacy customer accounts (still no sunset date), Flow and checkout Functions, the limitations list; draftOrderCreate still documents no @idempotent
7 Oct 2026 Added. API-versions rows for the orderUpdate tax recalculation on an address change, FULFILLMENT_NOT_REQUIRED, and Events as the successor to classic webhooks; contextualPricing.auditTrail (catalogs); the market hierarchy (marketRelationships, Market.parentMarkets / childMarkets) and the missing tie-break for a location in two B2B markets (markets); paymentInstrumentSendAddEmail (payment terms); the equal-price tie (quantity rules from the first-created catalog) and the rollout restriction on directly assigned catalogs; the "some permission levels might be limited on non-Plus plans" caveat (sales staff); a source for one company per customer (object model)
7 Oct 2026 Corrected. DraftOrderLineItem.grams was listed as removed; Shopify's references still list it as deprecated at 2026-07 and 2026-10, so the row now says both. The manual-capture rule now quotes Shopify's sentence instead of paraphrasing it, and payment reminders are sent through Flow. Connecting your own identity provider, and the profile and tag sync, are Plus only; 365-day sessions are on every plan. Vaulted-card charging by Flow can also trigger on invoicing. Migration reversal: removing a customer from an existing company offers to remove the migrated orders, rather than doing it automatically
9 Oct 2026 Corrected. The draft-order row said draftOrderUpdate "replaces the input wholesale"; Shopify's reference documents only that an update changes the draft in place and unlinks a checkout in progress, so the row now says that.

Each row of this table is labelled Added, Changed or Corrected so a reader can tell a refresh from a mistake. Re-verification is scheduled for every Shopify Edition and every quarterly API release; the next is the 2027-01 release on 1 January 2027.

Sources

Shopify pages, first read on 20 September 2026 and all re-read on 7 October 2026 at API 2026-10:

Shopify pages first read on 7 October 2026:

We’d like to set analytics cookies to understand how the site is used. They’re not required — declining changes nothing about how the site works, and you can change your mind any time on our privacy page.