# 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?

Reviewed by Martin Dejnicki, Director of SEO & AI Search · facts verified October 11, 2026 · canonical: https://deploi.ca/shopify/faq/discontinued-products-open-backorders-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](https://help.shopify.com/en/manual/fulfillment/managing-orders/create-orders/create-draft), October 2026). Keep each SKU active but unpublished until the backlog ships.

- **Backorder line with no variant:** A custom item, not tracked as inventory. Shopify 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) ([Shopify Help Center, Creating draft orders](https://help.shopify.com/en/manual/fulfillment/managing-orders/create-orders/create-draft))
- **Order import's inventory default:** BYPASS: claims no inventory. Shopify'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) ([Shopify developer docs, OrderCreateOptionsInput](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/OrderCreateOptionsInput); [Shopify developer docs, OrderCreateInputsInventoryBehavior](https://shopify.dev/docs/api/admin-graphql/latest/enums/OrderCreateInputsInventoryBehavior); [Matrixify, Import and Export Orders from Shopify in bulk with Matrixify](https://matrixify.app/documentation/orders/))
- **Committed inventory:** Units in an unfulfilled order. Shopify counts on hand as committed plus unavailable plus available, so units claimed by open orders come out of available (October 2026) ([Shopify Help Center, Understanding inventory states](https://help.shopify.com/en/manual/inventory-and-locations/fundamentals/inventory-states))
- **Continue selling when out of stock:** Needs tracking on; Shopify POS ignores it. With 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) ([Shopify Help Center, Selling out of stock products](https://help.shopify.com/en/manual/inventory-and-locations/setup/selling-when-out-of-stock))

## 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.

**CUSTOMIZE: Migrate 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](https://help.shopify.com/en/manual/fulfillment/managing-orders/create-orders/create-draft), 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](https://deploi.ca/shopify/build-vs-buy/catalog-import-migration-tooling) scores migrations built on a written mapping spec CUSTOMIZE (October 2026).

**WAIT: Leave 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.

## 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](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/OrderCreateLineItemInput), 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](https://help.shopify.com/en/manual/fulfillment/managing-orders/create-orders/create-draft), 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](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentOrder), October 2026); [what that means for imported shipment history](https://deploi.ca/shopify/faq/split-shipments-partial-fulfillments-migration) 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**

| Stage | Product status | Inventory | When |
| --- | --- | --- | --- |
| Import | Active, unpublished from every sales channel, Point of Sale too | Tracked; on hand set to the physical count; Continue selling off | Before the open orders import |
| Backlog open | Active, still unpublished | Open orders imported so they claim inventory; replacement stock received against the variant | Until the last backorder ships |
| Backlog cleared | Draft | Unchanged | Right after the last backorder ships |
| Long term | Archived | Unchanged | Once no return or claim can reach the order |

Sources: [Shopify Help Center, Understanding inventory states](https://help.shopify.com/en/manual/inventory-and-locations/fundamentals/inventory-states); [Shopify Help Center, Selling out of stock products](https://help.shopify.com/en/manual/inventory-and-locations/setup/selling-when-out-of-stock); [Shopify developer docs, ProductStatus](https://shopify.dev/docs/api/admin-graphql/latest/enums/ProductStatus). Verified October 10, 2026.

Products with an Active status "aren't automatically published to sales channels" ([Shopify developer docs](https://shopify.dev/docs/api/admin-graphql/latest/enums/ProductStatus), 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](https://help.shopify.com/en/manual/products/details/product-details-page), 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](https://help.shopify.com/en/manual/inventory-and-locations/setup/selling-when-out-of-stock), 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](https://shopify.dev/docs/api/admin-graphql/latest/enums/OrderCreateInputsInventoryBehavior), 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](https://help.shopify.com/en/manual/inventory-and-locations/setup/selling-when-out-of-stock), 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](https://help.shopify.com/en/manual/inventory-and-locations/setup/selling-when-out-of-stock), 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](https://help.shopify.com/en/manual/inventory-and-locations/fundamentals/inventory-states), October 2026).

The import's setting decides whether that happens. Shopify's order import defaults to bypass, "Do not claim inventory" ([Shopify developer docs](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/OrderCreateOptionsInput), October 2026), and Matrixify, a bulk import app, also defaults to bypass ([Matrixify](https://matrixify.app/documentation/orders/), 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](https://shopify.dev/docs/api/admin-graphql/latest/enums/OrderCreateInputsInventoryBehavior), 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](https://help.shopify.com/en/manual/inventory-and-locations/fundamentals/inventory-states), October 2026), and [where the old platform's purchase orders go](https://deploi.ca/shopify/faq/supplier-records-purchase-order-history-migration) 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.

> **When not to do this**
> - **When the backorder will be cancelled and refunded.** Cancel and refund on the old platform before cutover. That's one operation on a live system instead of two on a system that can't issue the refund.
> - **When the item will be substituted.** Migrate the substitute, contact the customer, and let the original stay behind.
> - **When the supplier is gone and the promise can't be kept.** Migrating the SKU postpones a customer conversation that gets harder every week.

## Deploi's point of view

**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.

## Sources

1. [Shopify Help Center, Creating draft orders](https://help.shopify.com/en/manual/fulfillment/managing-orders/create-orders/create-draft), checked October 11, 2026
2. [Shopify developer docs, OrderCreateOptionsInput](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/OrderCreateOptionsInput), checked October 10, 2026
3. [Shopify developer docs, OrderCreateInputsInventoryBehavior](https://shopify.dev/docs/api/admin-graphql/latest/enums/OrderCreateInputsInventoryBehavior), checked October 11, 2026
4. [Shopify Help Center, Understanding inventory states](https://help.shopify.com/en/manual/inventory-and-locations/fundamentals/inventory-states), checked October 10, 2026
5. [Shopify Help Center, Selling out of stock products](https://help.shopify.com/en/manual/inventory-and-locations/setup/selling-when-out-of-stock), checked October 10, 2026
6. [Shopify developer docs, ProductStatus](https://shopify.dev/docs/api/admin-graphql/latest/enums/ProductStatus), checked October 10, 2026
7. [Shopify Help Center, Product details page](https://help.shopify.com/en/manual/products/details/product-details-page), checked October 10, 2026
8. [Shopify developer docs, FulfillmentOrder](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentOrder), checked October 10, 2026
9. [Matrixify, Import and Export Orders from Shopify in bulk with Matrixify](https://matrixify.app/documentation/orders/), checked October 10, 2026
10. [Shopify developer docs, OrderCreateLineItemInput](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/OrderCreateLineItemInput), checked October 10, 2026
11. [Deploi Build vs. Buy, Build or Buy Catalog Import & Migration Tooling on Shopify?](https://deploi.ca/shopify/build-vs-buy/catalog-import-migration-tooling), checked October 11, 2026, Deploi research
