Inventory

Weekly Shopify Inventory Management Decisions

Shopify inventory management is the weekly routine that turns stock records, sales, and supplier timing into three decisions: buy, hold, or investigate. Native Shopify tracks quantities and orders. It does not decide which SKU gets the next dollar of purchase cash.

Most stores stall in the middle. The Inventory page shows units, but nobody has checked whether those units are sellable, nobody owns the next purchase order, and every low SKU looks equally urgent. A useful system fixes that sequence: verify available quantity, build a short queue, spend limited cash in rank order, and name an owner for each task.

What Shopify inventory management covers, and where decisions stall

Shopify inventory management covers four jobs: tracking quantities by location, committing stock to unfulfilled orders, adjusting counts when reality and the record disagree, and deciding what to buy next. The first three are record-keeping. The fourth is an operating decision, and that is where most merchants lose time.

Shopify's Inventory page is the system of record for those quantities. According to Shopify Help on inventory states, each tracked variant has On hand (the total of Committed, Unavailable, and Available), Committed (units set aside, including unfulfilled orders), Unavailable (units set aside and not for sale), and Available (units you can sell). Available equals On hand minus Committed minus Unavailable. Incoming is separate. It is inventory on its way to the location from purchase orders, inventory transfers, or apps, and it is not available to sell until it is received. You can view these states on the Inventory page and on the product variant page.

Decisions stall in three predictable places:

  • Someone reorders from On hand and ignores committed or unavailable units, so the store oversells or buys too late.
  • Every SKU under a round number looks urgent, so purchase cash goes to the loudest low-stock alert instead of the largest revenue risk.
  • Nobody owns the next step, so a flagged SKU sits in a spreadsheet until the next stockout.

A weekly system does not replace Shopify. It adds a decision layer on top of those states: which SKUs to trust, which to buy, which to leave alone, and who does the work before the next review.

Verify counts and available quantities before you rank SKUs

Do not prioritize a reorder from a number you have not checked. A wrong Available quantity sends purchase cash to the wrong SKU and hides a real shortage behind a clean report.

Open the states, not just the headline count

For each candidate SKU, open the variant and read On hand, Committed, Unavailable, Available, and Incoming. A product with 80 on hand and 70 committed has 10 available, not 80. A product with 40 available and 60 incoming may not need a new order this week if that stock arrives in time. Read the source before you assume the date. Incoming can be a purchase order, a transfer from another location, or stock an app is sending. A supplier lead time only dates the purchase order. A transfer already in transit, or an app receipt, can close the gap even when no purchase order is open.

Shopify Help also notes that you can continue selling when out of stock if you enable that setting on the variant. Available can go negative in that case. A negative available count is a real open demand signal, not a data glitch, unless a recent adjustment explains it. See Continue selling when out of stock.

Separate a bad record from a real shortage

Before a SKU enters the buy queue, ask whether the gap is a count problem. Common causes include an unrecorded receipt, a return that was restocked in the wrong location, a manual adjustment with no reason, or a transfer still in transit. Shopify lets you adjust quantities and record a reason, and the adjustment history on the variant is the fastest way to see who last changed the number.

If On hand and the shelf disagree, stop. Do not buy against a broken record. Send that SKU to investigate and reconcile it first. The walkthrough for Shopify's states and a SKU-level gap lives in inventory discrepancy.

Trust recent sales before you trust a velocity guess

Available quantity only becomes a decision once you pair it with how fast the SKU sold. Pull that pace from native sales reports, not from memory. The 30-minute report order for gross sales, net sales, and what changed week over week is owned by the Shopify sales analysis guide. Use that review as the sales input. Do not rebuild it inside the inventory meeting.

A practical check: units sold over the last 28 days, divided by 28, is a working daily pace for a stable SKU. Compare it with the last 7 days. If the last week is roughly double the 28-day pace, the older average will understate risk. Label both numbers as estimates. Promotions, stockouts inside the window, and one-off wholesale orders all distort them.

Build a weekly buy, hold, and investigate queue

Run this queue once a week, on a fixed day, before anyone places a purchase order. Thirty to forty-five minutes is enough for a catalog you already know, if you only review SKUs that changed. Reviewing every variant every week is how the meeting dies.

Step 1. Limit the list

Start with SKUs that did one of these things since the last review:

  • Available plus on-time incoming is below demand through supplier lead time, plus the safety buffer, plus expected sales until the next review.
  • Sales pace jumped or collapsed versus the prior 28 days.
  • Incoming stock is late, or a purchase order, transfer, or app receipt has no expected arrival.
  • A count adjustment, return, or location transfer changed Available without a matching sale.
  • The SKU is a top revenue product, even if nothing looks wrong yet.

ABC class can shrink this list further. If you already grade SKUs, review A items every week and B or C items on a slower cycle. The classification method itself is in ABC analysis for Shopify.

Step 2. Sort each SKU into one queue

Every reviewed SKU gets exactly one label. Mixed labels are how the same product gets ordered twice and investigated never.

QueuePut the SKU here whenDo not do this
BuyTrusted available, plus incoming from a purchase order, transfer, or app that arrives in time, cannot cover expected sales through supplier lead time, the safety buffer, and the days until the next review.Do not calculate the reorder quantity in this meeting. Hand the SKU to the formula owner.
HoldCover still includes lead time, the safety buffer, and the days until the next review, incoming is on time, or the SKU is slow and already overbought.Do not "top up" because the supplier has a minimum. That is a separate cash decision.
InvestigateOn hand disagrees with the shelf, Available is negative without an oversell setting you intended, or sales pace is unbelievable.Do not place a purchase order until the record is reconciled.

The reorder trigger itself, demand during lead time plus a safety buffer, belongs to the Shopify reorder point formula. The buffer math, including what to do when lead time varies, belongs to safety stock calculation. This weekly meeting only asks a yes or no: after you add the safety buffer and the days until the next review, is cover still inside that window?

Cover, in this meeting, is available units divided by recent daily pace. If a SKU has 40 available and has sold about 4 a day, cover is about 10 days. If the supplier takes 14 days, the safety buffer is 7 days, and the next review is 7 days away, the protection window is 28 days, not 14. That SKU is a buy, assuming incoming stock from a purchase order, transfer, or app does not close the gap. Treat 10, 14, 7, and 28 as an example, not a target for your catalog. That 10-day figure is not Shopify's days of inventory remaining metric, which divides ending quantity by average quantity sold per day over the last 28 days. The report does not apply lead time, a safety buffer, or the next review date. Waiting until available stock only covers lead time means the buffer is already gone before the order is placed, and a weekly review can miss another week of sales on top of that.

Step 3. Rank the buy queue by revenue at risk, not by units

Two SKUs can both be short. They are not equal. Rank buys by the sales you would miss if the SKU stayed unavailable until the next possible receipt. A simple sort key is expected days short, times recent daily units, times contribution per unit. Use contribution, not retail price, so a high-priced low-margin item does not jump a cheaper product that actually funds the store.

That sort key is a queue order, not a forecast and not a promise of lost revenue. It ignores substitutes, ad spend you could pause, and whether you can even afford the order quantity. The four SKU decisions ranked by revenue risk, reorder, hold, promote or markdown, and investigate, are taught in inventory optimization. Use that post when a hold SKU is actually excess and needs a markdown, not another purchase.

Where alerts enter the queue

An alert is evidence, not a decision. A low-stock notification should land in the same weekly queue as a manual find, with the SKU, the state that fired (usually Available), the threshold, and the person who must answer it. Setup, testing, and escalation belong to Shopify inventory alerts. Do not rebuild Flow workflows in the inventory meeting. If an alert fired and nobody changed the queue, the alert is noise.

Allocate limited purchase cash and assign an owner

Most stores cannot fund every buy in the queue. Decide the cash ceiling before you open the list. A ceiling you invent mid-meeting always expands to match the longest supplier email.

Spend in rank order, then stop

  1. Write the cash available for inventory this week at the top of the queue. Include only money you can send before the supplier's payment terms, not a hoped-for payout.
  2. Walk the buy list from highest revenue-at-risk to lowest. For each SKU, note the supplier, lead time, incoming already recorded from a purchase order, transfer, or app, and a quantity range, not a single heroic number.
  3. Commit cash until the ceiling is gone. SKUs below the line stay on the buy list with a "deferred" note and a review date. They are not deleted.
  4. If two SKUs share a supplier and combining them hits a minimum order, fund the pair only if the second SKU was already in the top half of the queue. A minimum is not a reason to buy a hold SKU.
  5. When cash cannot cover the full recommended quantity, protect the buffer first. Buy enough to cover lead time plus the safety buffer on the top SKU, even if that means fewer SKUs get an order. Cutting the buffer to stretch cash across more SKUs leaves every one of them exposed to a late shipment or a pace spike, and next week's review cannot refill stock that is already in transit. If you still have to cut the buffer, write the uncovered days on the row and treat that SKU as still at risk, not as fully ordered.

Quantity math, purchase-order cadence, and how much to commit once a SKU has earned a buy are owned by inventory replenishment. This meeting only decides which SKUs get cash this week and which wait.

Give every open task one owner and one date

A queue without owners is a report. Before you close the meeting, each open row needs a person and a date:

  • Buy: who places the purchase order, by which day, and where the expected arrival gets written back into Shopify or the PO tracker.
  • Hold: who watches it, and the cover level that would move it back to buy.
  • Investigate: who counts the shelf or checks adjustment history, and the day the corrected Available must be back in the queue.
  • Marketing handoff: who pauses or shifts ads if a top SKU will be short even after today's order. That person needs the expected gap in days, not a vague "low stock" note.

Shopify's own inventory tools can support the record side of this handoff. You can track inventory and transfer stock between locations. Shopify also documents how to create and receive purchase orders, including recording expected arrivals so Incoming updates when stock is on the way. Check Shopify Help on purchase orders for the current steps in your admin before you promise the team that receipts will live only inside Shopify. If purchase orders are not available in your admin, keep the expected arrival in the same tracker the owner already opens every week. A second spreadsheet nobody opens is not a system.

Multi-location stores add one rule: rank by the location that can actually fulfill the order, not by a company-wide total. Fifty units in a warehouse that does not ship to the selling region do not cover a location sitting at zero. Transfers are a hold-or-buy input, not a separate hobby. Count a transfer that is already Incoming at the selling location before you buy more for that location.

When native reports need forward-looking stock signals

Shopify already estimates days of inventory remaining. The product inventory analytics bar on the Products page includes that metric, and the Inventory remaining per product report calculates it as ending quantity divided by average quantity sold per day, using each variant's sales over the last 28 days, according to Shopify Help on inventory reports. Use that report as the native cover number. Do not rebuild it and then treat Shopify as if it had no cover metric.

What that report does not do is the buy, hold, or cash decision in this weekly system. It does not compare remaining days with supplier lead time, a safety buffer, or the days until the next review. It does not rank tasks by revenue at risk, and it does not assign limited purchase cash.

Stay on native reports when the catalog is small enough to review by hand, lead times barely move, and one person can finish the queue in one sitting. Add a forward-looking layer when any of these are true:

  • The buy list is longer than the cash you can spend, and ranking by eye keeps favoring the wrong SKUs.
  • Velocity changes weekly because of ads, seasons, or launches, so a static low-stock threshold fires too late or too often.
  • More than one location or channel changes Available, and a single storewide count hides a local shortage.
  • The same investigate SKUs reappear because nobody can see adjustment history next to sales pace.

The decision inputs worth adding on top of days of inventory remaining are a lead-time and buffer comparison, a check of this week's pace against the 28-day average, and a ranked revenue-risk list. The native metric already estimates how long the report's quantity might last. It does not say whether that cover survives lead time plus a buffer, whether last week still matches the 28-day average, or which short SKU to fund first when cash runs out. Those three are decision inputs. They are not a substitute for the Inventory page, and they are not the same thing as a historical sales total.

Shopify Flow can notify you when inventory quantity changes, including when it crosses a threshold you set in a workflow. That notification still depends on the threshold, not on cover or revenue rank. If you want the alert to mean "this SKU cannot survive its lead time plus its safety buffer," someone still has to translate velocity, lead time, and the buffer into that threshold, then feed the alert into the weekly queue. See Shopify Help on Flow and the reorder and alert posts linked above.

Skymetrics sits in that gap for stores that have outgrown a manual sort. It reads SKU stock cover, sales velocity, and ranked revenue risk so the Monday queue can start from revenue risk, not only from days of inventory remaining or the first low number on the Inventory page. It does not replace count verification, supplier lead times, or the cash ceiling. Those still belong to the people in the meeting.

Close the week with four lines

Write these down before you leave the review. Next week's meeting starts from them, not from a fresh export.

  • Cash spent and cash deferred.
  • Buy SKUs ordered, with expected arrival, and any safety-buffer days left uncovered.
  • Investigate SKUs still open, with the owner and the date.
  • Hold SKUs whose cover would flip them to buy if this week's pace continues.

That note is the system. Shopify keeps the quantities. The weekly queue decides what happens to them.

Adjustment reasons and history are documented in Shopify Help on adjusting inventory.