Data & Customer Migration

Does draft-order and quote data (common in B2B sales-rep-assisted workflows) migrate to Shopify's draft order model cleanly?

Short answer

Only open quotes migrate, as Shopify draft orders; closed quotes don't migrate as quotes. A business-to-business (B2B) import needs the company, location, contact and products in Shopify first, plus the buyer's role at that location, because otherwise "an error is returned" (shopify.dev, October 2026). Sales rep ownership moves to staff assigned to each company location (Shopify Help Center, October 2026).

Before a B2B order imports
Companies, locations, contacts and productsShopify: all must exist first, and the buyer needs a role at the company location, or "an error is returned" (October 2026).Source: Shopify developer docs (Import B2B orders)
Draft order lifetime
Deleted after 1 year of inactivityFor drafts created on or after April 1, 2025; "Any type of edit to the draft order resets the timer" (October 2026).Source: Shopify Help Center (Draft orders and invoices)
Sales staff per company location
Up to 10, on every planReps can be restricted to the company locations they're assigned to; draft orders themselves take no staff field (October 2026).Sources: Shopify Help Center (Orders, data, and admin access for B2B sales staff); Shopify developer docs (DraftOrderInput)
Prices on an imported B2B order
The variant price, unless you set oneShopify fills a missing line price from the variant price, so an accepted quote's negotiated prices have to be set at import (October 2026).Source: Shopify developer docs (Import B2B orders)

Deploi’s call

Sequence business-to-business (B2B) data in this order and do not compress it. First come companies, locations, contacts, role assignments and sales staff assignments. Then catalogs and price lists, then historical orders, and last the open quotes, recreated by the reps who own them. Reps recreating their own open quotes is not a shortcut, it is a control. It surfaces the quotes that should have been closed and gives each one a current owner.

CustomizeRecreate an open quote as a draft order when

  • The quote is younger than your sales cycle, and its rep is assigned to the company location (Shopify Help Center, October 2026).
  • The company, location, contact and buyer role already exist in Shopify, or the import returns an error (shopify.dev, October 2026).
  • Its prices are locked or set as custom line prices, so catalog changes can't move them (Shopify Help Center, October 2026).
  • The draft order stays the quote of record. Deploi's request-for-quote (RFQ) and quoting record treats draft orders as Shopify's quote object and scores the missing request and approval layer BUILD (October 2026).

WaitLeave the quote in the archive while

  • It's expired, declined or older than your sales cycle.
  • Its pricing came from a legacy rules engine you haven't rebuilt.
  • The company hierarchy or the rep's assignment is still unresolved.

Basis: Should You Build or Buy RFQ & Quoting on Shopify?, our Build vs. Buy decision record, scored BUILD.

Which legacy quote data migrates, and as what?

Only open quotes migrate as Shopify draft orders. Accepted quotes migrate as the orders they became, and the rest stays in an archive, because a legacy business-to-business (B2B) system calls everything a quote and Shopify splits them.

Where each kind of legacy quote lands in Shopify
Legacy objectShopify destinationMigrates?
Open quote, not yet acceptedDraft order, recreatedYes, by recreation. Prices and discounts are restated, not copied
Accepted quote that became an orderHistorical order through the B2B import pathYes, as an order. Set each line's negotiated price, or Shopify uses the variant price
Expired or declined quoteNothingNo. Archive it
Quote template or price list logicB2B catalog and price listRebuilt, not migrated
Source: Shopify developer docs (Import B2B orders). Verified October 10, 2026.

The quote workflow itself, the request form and the approvals, doesn't come across either: the quote and approval process is a separate build on draft orders.

What does Shopify require before a B2B order or draft order imports?

Shopify requires every company, company location, company contact and product to exist before a business-to-business (B2B) order imports. Its import tutorial says: "A B2B merchant must import or create all relevant companies, company locations, company contacts, and products in Shopify before they can import B2B orders" (shopify.dev, October 2026). The buyer also needs a role at that location: "If the customer doesn't have a role assignment to that location, then an error is returned" (shopify.dev, October 2026). Matrixify's draft order import applies the same role rule to drafts linked to a company (Matrixify, October 2026).

That error is a data-modeling problem rather than a technical one. Legacy systems often attach a quote to a person and a shipping address. Shopify attaches it to a person, a company and a location, with a role that connects them. So a buyer who ordered for two divisions needs a role at each location, and how a branch hierarchy maps to companies and locations decides where those roles sit.

Where does sales rep ownership go in Shopify?

Sales rep ownership goes on the company location, because Shopify lets you assign up to 10 sales staff to each company location, on every plan (Shopify Help Center, October 2026). With "Restrict permissions to assigned company locations" on, a rep sees only those accounts in Customers, Orders, Draft orders and Companies (Shopify Help Center, October 2026). The Admin API (application programming interface) assigns several staff to a location in each call (shopify.dev, October 2026), so the legacy account-to-rep table can be scripted in.

Two gaps remain:

  • Draft orders take no staff field (shopify.dev, October 2026), so a recreated quote records its rep only through a metafield or tag you add.
  • Historical orders name a rep only if the rep has a Shopify staff account. The order import takes "The ID of the user who processed the order, if applicable" (shopify.dev, October 2026). Each rep needs a staff account: none beyond the owner on Basic, up to 5 on Grow, 15 on Advanced and unlimited on Plus (shopify.com/pricing, October 2026), as staff-account limits by plan explains.

Commission and territory rules still need a destination you choose: an order metafield, a tag convention, or the customer relationship management (CRM) system that stays the system of record. Pick one before the import, because retrofitting rep attribution means reprocessing every order.

What changes when a quote becomes a Shopify draft order?

A quote that becomes a Shopify draft order gains an expiry clock and a new name, and its prices follow the catalog unless you lock them.

  • Drafts expire. Shopify says "draft orders created on or after April 1, 2025, are automatically deleted after 1 year of inactivity" and "Any type of edit to the draft order resets the timer" (Shopify Help Center, October 2026). So a long sales cycle needs a touch policy, and the open drafts in a store consolidation need an owner each.
  • Prices move unless locked. "By default, a draft order's prices are unlocked until you manually lock the prices on the draft order" (Shopify Help Center, October 2026). An invoice or checkout link locks them by default; until then, lock each recreated quote or set a custom line price.
  • The legacy number and date don't carry. Shopify generates every draft order's name, and a migrated draft's creation date is the migration date (Matrixify, October 2026). Keep the old quote number and date in a metafield.
  • Inventory can be held. A draft order can reserve stock until a date you set (shopify.dev, October 2026), so restate legacy allocation logic in those terms.
  • Very long quotes need splitting. Shopify's draft order input, which an import uses, takes at most 499 line items (shopify.dev, October 2026), one fewer than the 500 its business-to-business (B2B) considerations page gives (Shopify Help Center, October 2026).

When shouldn't you migrate a quote?

You shouldn't migrate a quote when it's stale, its price can't be reproduced, or its owner or account isn't settled.

Deploi’s point of view

Our own position, from building on Shopify. Kept apart from the sourced facts above.

Where we disagree
B2B migrations get scoped from the order table because that is what the legacy export produces. The company model is the hard part and it is the part that gates everything else, so it belongs at the front of the plan and at the front of the budget. A scope that prices order import precisely and company modeling vaguely has the risk upside down.
What this page adds
that the B2B import path has a hard precondition on company, location, contact and role assignment, that sales rep ownership now lives in staff assignments on company locations while draft orders take no staff field, and that draft orders self-delete after a year of inactivity.

When this answer changes

  • Shopify ships a native request-for-quote flow, or gives draft orders a staff field or a custom name.
  • Shopify changes the one-year inactivity deletion for draft orders.
  • Shopify changes the limit of 10 sales staff per company location, or the sales staff permissions.
  • Shopify changes the 499 line-item limit on its draft order input or the 500 limit on its B2B considerations page.

Related questions

More in Data & Customer Migration

Sources

Every figure on this page traces to one of these. Official and vendor pages are checked on the date shown; Deploi records are our own published decisions.

  1. Shopify developer docs, Import B2B ordersshopify.dev · checked October 10, 2026
  2. Shopify Help Center, Orders, data, and admin access for B2B sales staffhelp.shopify.com · checked October 10, 2026
  3. Shopify Help Center, Draft orders and invoiceshelp.shopify.com · checked October 10, 2026
  4. Shopify developer docs, DraftOrderInputshopify.dev · checked October 11, 2026
  5. Shopify Help Center, Creating B2B orders using draft ordershelp.shopify.com · checked October 11, 2026
  6. Shopify developer docs, OrderCreateOrderInputshopify.dev · checked October 11, 2026
  7. Shopify Help Center, Requirements and considerations for using B2Bhelp.shopify.com · checked October 11, 2026
  8. Matrixify, Shopify Draft Orders: import/export data structure & descriptionmatrixify.app · checked October 10, 2026
  9. Shopify developer docs, companyLocationAssignStaffMembersshopify.dev · checked October 11, 2026
  10. Shopify, Pricingshopify.com · checked October 11, 2026
  11. Deploi Build vs. Buy, Should You Build or Buy RFQ & Quoting on Shopify?deploi.ca · checked October 10, 2026 · Deploi research