Product discontinuation in eCommerce is an ERP ecommerce integration problem, and most integrations are not built to solve it
Marcus runs procurement for a regional facilities management company. He has bought from NorthRiver Industrial Supply for four years. He opens his account, finds the filter assembly he has ordered eight times before, and clicks reorder.
The product is gone. No explanation. No replacement. No next step.
It was discontinued three weeks earlier. A vendor transition, handled cleanly in Business Central, communicated across sales and procurement. Fully managed on the ERP side. Nobody told the B2B ecommerce platform what that meant for a repeat buyer mid-reorder.
Marcus orders from a competitor that afternoon. He does not come back.
The product was discontinued correctly. The ERP ecommerce integration never translated what that meant for the customer.
The Setup
Product Lifecycle Management in eCommerce: Two Businesses, One Integration Gap
NorthRiver Industrial Supply — B2B
NorthRiver manages over twelve thousand SKUs across maintenance, repair, and operations categories on a Shopify Plus storefront connected to Microsoft Dynamics 365 Business Central. Their customers are facilities managers, contractors, and procurement officers who treat NorthRiver as a primary supplier, not a one-off vendor. Catalog reliability drives repeat orders. Repeat orders drive revenue.
Products launch, retire, and get replaced constantly. Inside Business Central, every transition is managed with operational precision. Whether the Shopify Business Central integration carries that precision to the buyer is a different question.
Lumex Audio — B2C
Lumex Audio sells consumer electronics through a Magento storefront connected to NetSuite. Their product line turns over on a twelve-month model cycle. When a new generation launches, the previous one retires: some units sell through, some stay visible for warranty purposes, some get archived. The Magento NetSuite integration determines what customers see at each of those stages.
How Discontinued Products Stay Live on Your eCommerce Platform
At NorthRiver, two patterns filled the support queue at once: customers finding retired products still listed as fully buyable, and customers hitting dead ends where discontinued items had vanished from the B2B product catalog software with no replacement guidance. The eCommerce inventory sync logs showed no errors. Every product status was passing correctly from Business Central to Shopify.
At Lumex, previous-generation units were accepting orders three weeks after the internal retirement decision. A separately retired model had disappeared from their Magento ecommerce platform entirely, including from accounts of customers who still needed warranty support. The NetSuite Magento integration was working as designed. The design had not accounted for product lifecycle management in eCommerce.
Both integrations were syncing correctly. The lifecycle logic had never crossed from ERP to the storefront.
Translation Failure 1
Product Lifecycle Management Requires More Than a Status Flag
Inside Business Central, discontinuation is a process. Business Central manages discontinuation through four stages, each with a distinct operational purpose:
- Sell-through: Still fulfillable from existing inventory, closed to new purchase orders. Protects margin on remaining stock.
- Restricted: Available only to contracted customers. Honors existing commitments while limiting new exposure.
- Replacement-recommended: Closed to purchase, with a successor SKU flagged. Guides procurement teams toward the correct alternative.
- Archived: Removed from the active eCommerce product catalog. Preserves records without polluting live inventory.
Shopify does not have those stages. Neither does Magento. Neither does BigCommerce. Product availability on every major eCommerce platform is binary: published and buyable, or not.
When the Shopify Business Central integration reads a sell-through product, it makes a binary call. Most integrations default to active. The product stays fully visible and purchasable with no signal to the buyer that it is mid-retirement. That is where the overselling prevention problem starts: not in the warehouse, but in the gap between ERP’s staged logic and the storefront’s on/off switch.
What NorthRiver’s B2B buyers experienced:
Products listed as fully available on the B2B ecommerce platform that sales had already stopped supporting
Orders fulfilled or cancelled based on live stock levels, with no buyer visibility into which outcome to expect
No signal on the product page that a catalog transition was underway
At Lumex, the failure took a different shape. Products stayed fully active through their sell-through window with no indication of limited availability. When stock ran out, orders began failing at checkout. Buyers who had added items to carts days earlier came back to complete purchases that no longer worked.
Translation Failure 2
Sell-Through Inventory Management and the Real-Time Sync Gap
Sell-through inventory management is not a status. It is a countdown. ERP knows how many units remain, which orders are committed against that stock, and when fulfillment closes. Storefront inventory accuracy depends on what it was last told.
For a standard in-stock product, a six-hour sync lag is a manageable inconvenience. For a sell-through product, it is the difference between a buyer completing a legitimate purchase and an order that gets cancelled three days later when the warehouse cannot fulfill it. Real-time inventory management closes this gap for active products. It rarely closes it for products in the process of being retired, because most integrations are not built to treat sell-through as a boundary condition.
NorthRiver hit this across a vendor discontinuation affecting fourteen SKUs at once. Business Central’s sell-through inventory management logic was correct. The Shopify ecommerce inventory sync was six hours behind. In that window, orders arrived against stock already committed to existing accounts. Customer service spent two days on fallout that a real-time inventory sync ERP connection should have stopped before it started.
Sell-through inventory ecommerce is not a status that syncs. It is a boundary condition that has to be translated into rules the storefront enforces.
For Lumex, the timing failure ran the other way. A previous-generation model was retired in NetSuite before warranty-period stock had been fully accounted for. The Magento NetSuite integration removed the product immediately. Customers in the warranty window could no longer find it: no model reference, no accessories, no way to file a claim without calling support.
When B2B eCommerce Catalog Management Becomes a Customer Trust Problem
NorthRiver’s account managers were making pre-emptive calls before customers could hit the B2B ecommerce platform. Not as a service initiative. Because the storefront could no longer be trusted to show what was available. B2B reorder management had moved off the platform and back to phone and email.
At Lumex, a review aggregator flagged discontinued models still appearing in search results with active buy buttons. Returns were arriving on product lines Lumex had closed. The eCommerce product catalog software was describing a different reality than the warehouse.
The product retirement had been handled correctly in ERP. Nobody had designed what product discontinuation in eCommerce meant for the buyer.
How ERP eCommerce Integration Translates Product Retirement Into Customer Experience
The right question here is not how to sync product status more accurately. It is: what should a customer see and be able to do at each stage of a product’s retirement on your eCommerce platform?
Lifecycle-Aware Visibility States and Real-Time Inventory Sync
The Shopify Business Central integration was rebuilt to carry ERP lifecycle stage rather than just active or inactive status. Each Business Central retirement stage maps to a defined storefront behaviour.
Each Business Central retirement stage maps to a defined storefront behavior:
- Sell-through: Remains purchasable, surfaces remaining availability through real-time inventory sync.
- Restricted: Visible only to contracted B2B customers, hidden from all others.
- Replacement-recommended: Marked unavailable, successor SKU displayed prominently.
- Archived: Removed from the active eCommerce product catalog, stays accessible in B2B order history.
For Lumex, the same mapping was applied against NetSuite item status through the Magento NetSuite integration. Previous-generation models in sell-through showed a final-units signal driven by real-time inventory management. Retired models with active warranty periods stayed findable via search as reference records: not buyable listings, but product pages where customers could access documentation, accessories, and warranty information.
Sell-Through Inventory eCommerce: Boundary Conditions as Storefront Rules
Sell-through inventory management logic from ERP — remaining stock thresholds, fulfillment close-out dates, committed inventory — was translated into eCommerce inventory sync controls that enforce the same constraints the warehouse was already managing. When Business Central marked the last committed unit against a sell-through SKU, the storefront updated in the same transaction cycle. No lag, no overselling, no six-hour gap in storefront inventory accuracy.
This is the difference between syncing a status and translating a boundary condition. SKU management ecommerce platforms show what they are told. The integration’s job is to tell them the right thing at the right moment, including the moment a sell-through product crosses its fulfillment threshold.
B2B Reorder Management and Successor SKU eCommerce
For NorthRiver’s repeat buyers, the B2B reorder management experience was rebuilt around B2B customer account history ecommerce rather than live catalog status. Discontinued products stay visible in B2B order history with three things attached: current retirement status, reason for discontinuation, and the recommended successor SKU with a direct purchase path. Marcus opens his account, sees the filter assembly flagged as discontinued with the approved successor part number alongside it, and completes his reorder in one session. No call. No search. No dead end.
Successor SKU ecommerce mappings from ERP were made a required output of the retirement workflow, not optional catalog metadata. When a product transitions to replacement-recommended status in Business Central, the ERP ecommerce integration writes the successor relationship to the storefront at the same time: as a product recommendation and as a redirect for any saved URLs pointing to the discontinued page. At Lumex, previous-generation model pages automatically surfaced the current-generation equivalent through the Magento NetSuite integration. Buyers arriving from review sites or saved bookmarks landed on the active replacement, not a dead link.
The ERP eCommerce Integration Gap — By Failure Type
| ERP (Business Central / NetSuite / SAP Business One) | eCommerce Platform (Shopify / Magento / BigCommerce) | The Integration Gap | The i95Dev Fix |
|---|---|---|---|
| Discontinuation is a staged lifecycle: active, sell-through, restricted, archived. Products can exist in multiple operational states at once. | Product visibility is binary: published and buyable, or not. The eCommerce platform has no concept of a middle state. | Products move through retirement in ERP while the storefront shows them as fully active, creating overselling risk and broken buyer expectations. | Lifecycle-aware visibility states map each ERP retirement stage to a defined storefront behaviour: visible but not buyable, visible with replacement notice, or archived. |
| Sell-through inventory management logic is governed by stock levels, committed orders, and fulfillment timelines held inside ERP. ERP knows when stock is exhausted. | Storefront inventory accuracy depends on what the product record says, not on ERP’s live inventory logic. Updates are bounded by sync frequency. | Products appear active after sell-through ends, or vanish before remaining stock is gone. Real-time inventory sync is the only way to close this gap, and most integrations do not provide it at the boundary level. | Sell-through boundary conditions — final stock thresholds, retirement dates, fulfillment close-out rules — are translated into eCommerce inventory sync rules, not just passed as status flags. |
| Successor and substitute SKU relationships are maintained in ERP as operational cross-references used by procurement, sales teams, and fulfillment. | eCommerce product catalog software has no native concept of a successor relationship. When a product disappears, the customer sees a gap with no context or guidance. | B2B customers relying on the catalog for procurement ecommerce integration hit a dead end. They do not find the replacement. They find a competitor. | Successor SKU ecommerce mappings from ERP are surfaced as storefront replacement recommendations, a required output of the retirement workflow rather than optional configuration. |
| Account purchase history is a permanent ERP record. Discontinued products remain in B2B order history, invoices, and contract records indefinitely. | Storefront reorder workflows reference live catalog records. When a product is removed from the eCommerce platform, B2B reorder management breaks silently. | A repeat B2B buyer accesses their order history ecommerce account and tries to reorder. The product is gone with no explanation, no replacement path, no next action. | B2B customer account history ecommerce visibility is preserved: discontinued products show retirement status, successor SKU, and a direct purchase path for the replacement. |
ERP to eCommerce
Product Retirement Is Not a Status. It Is a Lifecycle.
Every business running an ERP ecommerce integration retires products. The question is whether that retirement is designed as a customer experience or only as an operational event.
ERP carries the full logic of product lifecycle management: which orders are committed, which customers have contracts, which units remain, which parts have successors. The eCommerce platform sees a status. When those two systems interpret retirement differently, buyers are caught between what the business intended and what the storefront shows.
A product that keeps selling after you have stopped supporting it creates fulfillment problems and erodes storefront inventory accuracy. A product that disappears before you have finished retiring it breaks B2B reorder management and sends procurement buyers to whoever shows up next in search. Neither failure shows up in the ecommerce ERP sync logs.
ERP manages the operational retirement. eCommerce manages the customer experience. The integration is responsible for making them say the same thing at the same time.
Before You Retire Your Next Product, Ask These Questions
Five questions your ERP ecommerce integration should be able to answer:
1. When a product enters sell-through in your ERP, does your ecommerce inventory sync reflect that, or does it show full availability until stock runs out unexpectedly?
2. When a product is discontinued, can a repeat B2B buyer find it in their order history ecommerce account, understand why it was retired, and reach the replacement in one step?
3. Does your ERP’s successor SKU relationship exist anywhere on your eCommerce platform, or only in your sales team’s institutional memory?
4. When you retire a product, how long before storefront inventory accuracy catches up? Minutes, hours, or days?
5. Do your customers know when a product is in sell-through, or do they find out when their order fails fulfillment?
This Was the Thirteenth Translation Failure
When your ERP retires a product in stages and your ERP ecommerce integration passes only the final status, your customers experience the gap between those two things. Not as a data error. As a broken purchasing experience.
Product discontinuation in eCommerce begins the moment a product enters its first lifecycle stage in ERP. It ends when the last customer who ever needed it has a clear path forward. That is what the integration is responsible for translating.
And product discontinuation is another place where the real story unfolds — Beyond the Sync.


