Data & Customer Migration

How do we handle inventory data for products that are discontinued on the old platform but still have open backorders that need fulfilling post-migration?

Short answer

Discontinued stock keeping units (SKUs) with open backorders must migrate as real variants, not be left behind. A line with no variant is a custom item to Shopify, so it isn't tracked as inventory and can't go to automated fulfillment or shipping apps (Shopify Help Center, October 2026). Keep each SKU active but unpublished until the backlog ships.

Backorder line with no variant
A custom item, not tracked as inventoryShopify says custom items aren't tracked as inventory, don't affect stock levels and can't be used with automated fulfillment or shipping apps (October 2026).Source: Shopify Help Center (Creating draft orders)
Order import's inventory default
BYPASS: claims no inventoryShopify's order import defaults to BYPASS; DECREMENT_IGNORING_POLICY claims inventory whatever the product's policy. Matrixify's order import also defaults to bypass (October 2026).Sources: Shopify developer docs (OrderCreateOptionsInput, OrderCreateInputsInventoryBehavior); Matrixify (Import and Export Orders from Shopify in bulk with Matrixify)
Committed inventory
Units in an unfulfilled orderShopify counts on hand as committed plus unavailable plus available, so units claimed by open orders come out of available (October 2026).Source: Shopify Help Center (Understanding inventory states)
Continue selling when out of stock
Needs tracking on; Shopify POS ignores itWith it on, customers can buy the item at zero or below wherever it's published; point of sale staff can sell below zero whatever the setting (October 2026).Source: Shopify Help Center (Selling out of stock products)

Deploi’s call

Run the backorder list as a pre-cutover cleanup, not a migration input. Every open backorder is triaged into ship, substitute or cancel before the cutover date, and only the ship cohort earns a migrated stock keeping unit (SKU). That triage shrinks the list before anything moves. Each remaining SKU gets a named owner and a review date, and stays Active, unpublished and inventory-tracked until its last backorder ships.

CustomizeMigrate the discontinued SKU as a real variant when

  • An open backorder will ship against replacement stock the supplier has confirmed.
  • An automated fulfillment or shipping app will ship it, because those apps can't take custom items, lines whose product doesn't exist in the Shopify admin (Shopify Help Center, October 2026).
  • The written source-to-target mapping spec lists the stock keeping unit (SKU) with a named owner and a review date. Deploi's catalog migration record scores migrations built on a written mapping spec CUSTOMIZE (October 2026).

WaitLeave the SKU on the old platform when

  • The backorder will be cancelled and refunded: do both there, before cutover.
  • A substitute ships instead: migrate the substitute and tell the customer.
  • The supplier is gone and the promise can't be kept.

Basis: Build or Buy Catalog Import & Migration Tooling on Shopify?, our Build vs. Buy decision record, scored CUSTOMIZE.

Why must a discontinued SKU with an open backorder migrate?

A discontinued stock keeping unit (SKU) with an open backorder must migrate because Shopify ties stock counts and app-based fulfillment to the variant on each order line. The usual advice, don't migrate products you no longer sell, is sound and incomplete: a product with an open backorder is an outstanding obligation shaped like a product.

Shopify's order import accepts a line with only a title and a price (Shopify developer docs, October 2026). Shopify treats such a line as a custom item, one that "doesn't exist in your Shopify admin as a regular product". Custom items "aren't tracked as inventory and don't affect your stock levels", and "You can't use custom items with automated fulfillment or shipping apps" (Shopify Help Center, October 2026). So without the variant, replacement stock can't be counted against the order, and a warehouse app can't pick it. Shopify also builds fulfillment orders itself when an order is created (Shopify developer docs, October 2026); what that means for imported shipment history has its own answer.

Which product status and inventory settings carry the backlog?

Four stages carry a discontinued stock keeping unit (SKU) from import to archive, and it stays off sale throughout because it's never published.

Four stages take a discontinued SKU from import to archive without putting it on sale
StageProduct statusInventoryWhen
ImportActive, unpublished from every sales channel, Point of Sale tooTracked; on hand set to the physical count; Continue selling offBefore the open orders import
Backlog openActive, still unpublishedOpen orders imported so they claim inventory; replacement stock received against the variantUntil the last backorder ships
Backlog clearedDraftUnchangedRight after the last backorder ships
Long termArchivedUnchangedOnce no return or claim can reach the order
Sources: Shopify Help Center (Understanding inventory states, Selling out of stock products); Shopify developer docs (ProductStatus). Verified October 10, 2026.

Products with an Active status "aren't automatically published to sales channels" (Shopify developer docs, October 2026), so keeping the SKU off every channel is what keeps it off sale. Don't use Unlisted instead: "Customers can add unlisted products to their cart from a product's direct URL" (Shopify Help Center, October 2026). Draft and Archived also keep a product from customers, but Shopify's status descriptions say nothing about open orders, so we keep the variant Active until the backlog clears.

How does Continue selling when out of stock behave for a discontinued SKU?

Continue selling when out of stock lets customers buy an item at zero or below wherever it's published, so a discontinued stock keeping unit (SKU) should leave it off. By default, Shopify says, customers "can't purchase an item" that's out of stock until stock is added, and "You can select the Continue selling when out of stock option only when you turn on the Inventory tracked setting" (Shopify Help Center, October 2026).

  • Imports don't need the setting. An order import set to DECREMENT_IGNORING_POLICY will "Ignore the product's inventory policy and claim inventory" (Shopify developer docs, October 2026), so the backlog lands whatever the setting says.
  • Shopify's point of sale (POS) ignores it. "Continue selling when out of stock doesn't apply to orders placed from Shopify POS", and staff can keep selling at zero and below (Shopify Help Center, October 2026). A store that still lists the SKU can sell it, so keep it off the Point of Sale channel and tell the store teams.

Shopify's out-of-stock display protects a SKU only while the setting is off, because the setting exists to "let customers buy out of stock items" (Shopify Help Center, October 2026).

How do you reconcile the stock count with the backlog?

Reconcile the stock count by importing the physical count as on hand and then the open backorders, set to claim inventory, which makes Shopify show the obligation as Committed. Shopify defines Committed as units "set aside and can't be sold, such as units in an unfulfilled order", and On hand as "the total of your Committed, Unavailable, and Available inventory" (Shopify Help Center, October 2026).

The import's setting decides whether that happens. Shopify's order import defaults to bypass, "Do not claim inventory" (Shopify developer docs, October 2026), and Matrixify, a bulk import app, also defaults to bypass (Matrixify, October 2026). With Continue selling when out of stock turned off, set the import to ignore the product's inventory policy (DECREMENT_IGNORING_POLICY), because the option that obeys the policy claims inventory only "if possible" (Shopify developer docs, October 2026). Left at the default, the backlog is invisible to Shopify's counts, so replacement stock lands as Available as if nobody were waiting for it.

Don't import an available-to-sell number with the backorders already netted out of it. Once the orders claim inventory, that number counts the obligation twice: it looks right on day one and is wrong when the first replacement stock lands. Stock received from a purchase order or transfer turns Available automatically (Shopify Help Center, October 2026), and where the old platform's purchase orders go has its own answer.

When should a discontinued SKU stay off Shopify?

A discontinued stock keeping unit (SKU) should stay off Shopify when its backorder will be cancelled, filled by a substitute or can't be kept, because then no order needs the variant.

Deploi’s point of view

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

Where we disagree
Catalog scope in a migration is usually decided by a rule about sales recency, because that rule is easy to write into a script. Recency is the wrong test for this cohort. The test is whether an unfulfilled promise exists, and a SKU that has not sold in two years can still carry one.
What this page adds
that a backorder line imported without its variant becomes a custom item that isn't tracked as inventory and can't go to automated fulfillment or shipping apps, which makes a small set of discontinued products a mandatory migration item, and that the import's inventory setting decides whether Shopify counts the backlog as committed.

When this answer changes

  • Shopify documents how Draft or Archived status treats open orders on a product.
  • Shopify changes the order import's default inventory behavior from BYPASS.
  • Shopify makes Continue selling when out of stock apply to Shopify POS orders.
  • Shopify lets custom items work with automated fulfillment or shipping apps.
  • Shopify opens a way to import purchase orders, so replacement stock already on order can migrate.

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 Help Center, Creating draft ordershelp.shopify.com · checked October 11, 2026
  2. Shopify developer docs, OrderCreateOptionsInputshopify.dev · checked October 10, 2026
  3. Shopify developer docs, OrderCreateInputsInventoryBehaviorshopify.dev · checked October 11, 2026
  4. Shopify Help Center, Understanding inventory stateshelp.shopify.com · checked October 10, 2026
  5. Shopify Help Center, Selling out of stock productshelp.shopify.com · checked October 10, 2026
  6. Shopify developer docs, ProductStatusshopify.dev · checked October 10, 2026
  7. Shopify Help Center, Product details pagehelp.shopify.com · checked October 10, 2026
  8. Shopify developer docs, FulfillmentOrdershopify.dev · checked October 10, 2026
  9. Matrixify, Import and Export Orders from Shopify in bulk with Matrixifymatrixify.app · checked October 10, 2026
  10. Shopify developer docs, OrderCreateLineItemInputshopify.dev · checked October 10, 2026
  11. Deploi Build vs. Buy, Build or Buy Catalog Import & Migration Tooling on Shopify?deploi.ca · checked October 11, 2026 · Deploi research