Inventory Strategy

Omnichannel Replenishment: Syncing Online and Retail Store Inventory

Running online and physical retail simultaneously means demand signals come from multiple directions. Here's how mid-market brands can sync replenishment without the chaos.

8 min read

Abstract illustration of multiple sales channels converging into unified inventory management

Adding a second sales channel is often positioned as a growth story — reach more customers, diversify revenue. That's true. What's less discussed is the inventory operations complexity it creates. When inventory is shared across channels and demand signals arrive from different platforms at different latencies, replenishment decisions that were straightforward at single-channel become genuinely hard.

The challenge compounds for mid-market brands that add physical retail to an existing e-commerce operation. Now you have a DTC Shopify channel, an Amazon Seller Central or Vendor Central relationship, and one or more retail stores — each with its own demand pattern, its own inventory location, and in many cases its own fulfillment operation. Deciding how to replenish a shared SKU across all three is a multi-variable problem that no static spreadsheet handles well.

Why omnichannel replenishment is structurally different

In a single-channel operation, the replenishment question is: "How much of this SKU do I need to reorder, and when?" The answer depends on demand velocity, lead time, and safety stock — all from one data source.

In an omnichannel operation, the question becomes: "How much of this SKU do I need to reorder, and how do I allocate it across channels?" Now you're optimizing three things simultaneously: aggregate demand across all channels, channel-specific demand patterns that may not be synchronized, and an inventory allocation that positions stock where it's most likely to sell without creating artificial stockouts in one channel due to pooling decisions.

The allocation decision is the one that trips up most brands making the transition to omnichannel. It's tempting to manage each channel's replenishment independently — let your Shopify store trigger reorders based on Shopify demand, let your Amazon FBA replenishment run on its own logic, keep your retail stores on a separate manual review cycle. That works until you have a demand event in one channel that depletes shared inventory and creates an out-of-stock in another channel that didn't trigger a reorder because its own demand signal looked fine.

The inventory visibility problem

Before you can plan replenishment across channels, you need accurate combined inventory visibility. This sounds obvious, but it's genuinely difficult when inventory lives in multiple places: at a 3PL partner (ShipBob, ShipMonk, or Flexe), in Amazon FBA, in a retail store's back room, and possibly in transit between locations.

The latency problem is real. Amazon FBA inventory updates every 24 hours. Shopify updates inventory in near-real-time when orders are fulfilled. A retail store's POS system (particularly if it's not integrated with the e-commerce stack) may update inventory once or twice per day, or manually at end-of-day. If you're trying to maintain a consolidated inventory view to drive replenishment decisions, you're working with data that's slightly different ages from each location — and the total available-to-promise quantity you're making decisions on is a snapshot, not real-time truth.

This matters most when you're inside the safety stock window on a high-velocity SKU and you're trying to decide whether to expedite a reorder or hold. If your true combined inventory position is 180 units across all channels and you can see 150 units in Shopify's inventory report because 30 units are in the retail store's system and haven't synced, you may make a "we're fine" decision that turns into a stockout four days before your inbound order arrives.

Demand signal consolidation: the prerequisite for good allocation

Good omnichannel replenishment starts with combined-channel demand data. Not "Shopify sold X + Amazon sold Y" reported separately, but a unified demand signal per SKU that aggregates sales history across all channels into a single demand stream. That unified stream is what you build your demand forecast on, and it's what drives both your total order quantity and your channel allocation logic.

The allocation question — how much of an inbound order of 400 units goes to Amazon FBA vs. your 3PL vs. your retail store — depends on each channel's projected demand over the next cycle period. A channel that's forecasted to sell 200 units in the next eight weeks gets a different allocation than one forecasted to sell 80.

A Seattle-area outdoor lifestyle brand with a Shopify Plus DTC channel, an Amazon Vendor Central relationship, and three Pacific Northwest retail stores worked through this allocation problem in early 2025. Their key winter outerwear SKU had materially different velocity patterns across channels: Amazon consistently outsold Shopify 2:1 on most colorways, but in-store demand for a specific colorway that photographed well in the region's outdoor aesthetic ran 40% above the online channels during the November–January window. Their allocation formula had been set in late summer before the in-store seasonal pattern was clear — which meant the stores ran short while the 3PL held excess. Refactoring the allocation to use channel-specific seasonal demand forecasts rather than trailing averages resolved the mismatch for the following winter cycle.

Retail store replenishment: the last integration frontier

Physical retail adds complexity that doesn't exist in pure e-commerce. Store replenishment involves an additional layer of demand signals — POS transactions — that typically live in a system separate from your e-commerce OMS. For brands using Shopify POS, this is manageable because sales data flows back into Shopify's inventory system. For brands running a separate retail POS (NCR, Lightspeed, Revel) alongside an e-commerce stack, demand data consolidation requires explicit integration.

Retail stores also have physical constraints that affect replenishment: shelf capacity, visual merchandising requirements (you can't put 200 units of the same hoodie on a single retail floor), and the store manager's judgment about what to surface based on local demand patterns that may not show up in aggregate data. A replenishment system that treats a retail store exactly like a 3PL fulfillment node will over-ship to store and create a back-room stacking problem.

We're not saying retail-channel complexity means omnichannel replenishment isn't worth building. We're saying the retail channel requires specific modeling — a capacity-aware allocation model that sets a floor and ceiling per store location, not just a demand-proportional split — to work well.

What the replenishment workflow looks like when it works

A functional omnichannel replenishment workflow has these components in place:

  • Unified demand ingestion: all channels' sales history flowing into one demand model per SKU, updated on a consistent cadence (daily minimum for high-velocity SKUs)
  • Channel-segmented forecasts: a combined-channel demand forecast, plus per-channel allocation models that reflect each channel's demand velocity and seasonality independently
  • Consolidated inventory position: a real-time or near-real-time view of on-hand inventory across all locations, reconciling 3PL, FBA, retail, and in-transit units
  • Allocation rules that incorporate channel constraints: MOQ requirements, FBA inbound shipment minimums, retail floor capacity limits, and case pack constraints
  • Push to OMS or ERP for PO creation: replenishment recommendations that don't require manual reentry into NetSuite, Brightpearl, or Cin7 to become actual purchase orders

Most mid-market brands have pieces of this — good data in Shopify, decent FBA replenishment logic, some kind of OMS. The gap is usually the consolidation layer: unified demand signals, a combined inventory view, and an allocation model that handles all channels from one place rather than three separate workflows.

Stockorlo is built to reconcile demand signals from DTC, marketplace, and retail channels into a single replenishment queue. View the integrations covering Shopify, Amazon, WooCommerce, and 3PL connections, or see the full product walkthrough for how SKU-level forecasting feeds the replenishment layer.

Unified replenishment across all your channels

Stockorlo reconciles demand signals from DTC, marketplace, and retail store channels into a single replenishment queue.

Request Early Access