Inventory how-to

How to manage inventory when you sell on Shopify and in person

Keep one stock count that both your Shopify store and your till pull from, update it fast after every in-person sale, and set reorder points that account for both sales channels combined.

Short answer: Keep one stock count that both your Shopify store and your till pull from, update it fast after every in-person sale, and set reorder points that account for both sales channels combined. The hard part is speed: if in-person sales are not reflected in Shopify quickly, you will oversell online or miscalculate forecasts.

Why mixed channels cause stock problems

When you sell in person, that sale often does not touch your Shopify inventory count right away. If your point-of-sale system is connected to Shopify and deducts stock automatically, you are in good shape. If it is not connected, or if you ring up sales on a separate till or cash box, you have a manual gap to close every day.

That gap matters because forecasting and reorder points only work if the sales data is complete. A SKU that looks slow online because half its sales happen in the shop will get under-ordered. A SKU that looks like it is selling fast online but is actually being sold down in person too will run out faster than expected.

Keep one inventory count, not two

Decide on a single source of truth for stock levels, ideally Shopify itself. If your point-of-sale system syncs to Shopify in real time, use that. If it does not, build a routine: count or reconcile in-person sales at the end of each day or each shift, and adjust Shopify stock levels before the next business day starts.

Avoid keeping a separate spreadsheet or notebook count for the shop and a different number in Shopify. Two numbers invite mistakes, and whichever one you forget to update becomes wrong within a day.

Treat combined sales as your real demand

When you calculate daily sales for reorder planning, use total units sold across both the online store and the physical shop, not just one channel. If a SKU sells 3 units a day online and 2 units a day in person, your real daily sales rate is 5, not 3.

Using only the Shopify number will understate demand and set your reorder point too low. This is especially risky for popular items that move quickly in person, like impulse buys near a till, where the in-store rate can be higher than the online rate.

Set a safety buffer for reporting lag

Even with a good routine, there is usually some delay between an in-person sale and the stock update in Shopify. Build that lag into your safety days. If it typically takes you a few hours to log the day's in-person sales, add a day of safety stock to cover the gap, more if you only reconcile weekly.

This buffer protects you from a stockout caused purely by reporting delay, not real demand, which is a different problem from running low on actual stock.

Step by step

  1. Pick one system (ideally Shopify) as the single source of truth for stock counts.
  2. Connect your point-of-sale to Shopify if possible, so in-person sales deduct automatically.
  3. If not connected, reconcile in-person sales into Shopify stock at least once a day.
  4. Calculate daily sales per SKU using total units from both online and in-person, not just one channel.
  5. Add extra safety days to cover the lag between an in-person sale and the stock update.
  6. Review variants that sell heavily in person separately, since their true demand can be hidden if you only look at online orders.
  7. Audit your counts periodically by physically checking a few SKUs against what Shopify shows.

Worked example

Say a candle shop sells a scented candle both online and in its storefront. Online orders show 2 units a day. In-person sales, logged manually each evening, add another 3 units a day, for a combined 5 units a day. Lead time from the supplier is 10 days and the shop keeps 4 safety days to cover reporting lag, so the reorder point is 5 x (10 + 4) = 70 units. If on hand plus on order ever drops to 70, it is time to reorder, using the combined rate, not just the 2-a-day online figure.

How SteadyShelf helps

SteadyShelf forecasts and reorders from whatever sales data is in Shopify, so if your in-person sales are recorded there (through a connected point-of-sale), they are included automatically. SteadyShelf does not do multichannel sync itself and cannot pull sales from a disconnected till or separate system, so you need to get that data into Shopify first for the forecasts to be accurate.

$29/month flat, unlimited products and suppliers, 30-day free trial. Run the numbers now with the free reorder point calculator.

SteadyShelf is launching on the Shopify App Store. Join early access to get the install link first.

Related guides

All inventory how-to guides ยท Inventory glossary

FAQ

What if my point-of-sale system cannot sync to Shopify in real time?

Set a fixed daily routine, for example closing out the till and updating Shopify stock levels every evening before the store closes. Treat this as a non-negotiable task, since any gap directly affects your forecasts and reorder timing.

Should I track in-person and online sales separately for reporting?

You can track them separately for your own curiosity, like seeing which channel drives more revenue, but for inventory planning always combine them into one daily sales figure per SKU. Reorder points and forecasts need total demand, not a channel split.

Let SteadyShelf do this math for every SKU

Order-by dates per supplier, seasonal forecasts and draft POs for your Shopify store. $29/month after a 30-day free trial.

Get early access