There are two ways inventory makes you look bad to a customer, and they are opposites. Either you did not have the thing they wanted, or you sold them a thing you did not actually have. The first is a stockout. The second is overselling. Most store owners obsess over one and quietly ignore the other, right up until the ignored one blows up in their face during a busy weekend.
I have been bitten by both. The stockout is the slow bleed, the sale that never happens, the customer who drifts to a competitor and does not come back. Overselling is the loud disaster, the oversold order you have to cancel, the apology email, the one-star review that mentions it. They come from different root causes, so you fix them differently. Let me break down both.
Why you run out of your bestsellers
Stockouts almost never happen on the slow movers. They happen on exactly the products you most want to sell, because those are the ones burning through stock fastest and the ones you underestimate. The usual culprits:
- You reorder on vibes. Waiting until a shelf looks empty means you are already weeks from being out, especially with a long supplier lead time.
- You ignore sales velocity. If you are not tracking how many units a day a product moves, you cannot know how many days of cover you have left.
- You forget lead time. The product that takes eight weeks to arrive needs to be reordered eight weeks plus a buffer before you run dry, not when you notice.
- A promo blindsides you. A single influencer post or a feature can triple velocity overnight, and a static reorder habit never sees it coming.
The fix is reorder discipline. For every important product, know its daily velocity, know its real lead time, and set a reorder point: the stock level where you place an order automatically. Reorder point is roughly daily velocity times lead time, plus a safety buffer. Hit the number, place the order, no agonizing. That one rule turns most stockouts from surprises into non-events.
Buffer stock is insurance, not waste
A lot of lean operators hate holding extra stock because it ties up cash. I get it. But a thin buffer on your top sellers is the cheapest insurance you will ever buy. The cost of a little extra carrying is almost always smaller than the cost of being dark on your hero product for two weeks during peak.
The nuance is where to hold it. You do not want fat buffers on everything, because that is how you end up cash-poor with a warehouse full of slow movers. Put the cushion where it earns its keep:
- Thick buffer on bestsellers and anything with a long or unreliable lead time. These are the expensive ones to run out of.
- Thin buffer on steady, fast-restocking items. If you can reorder locally in three days, you barely need a cushion.
- Almost none on the long tail. Slow movers do not deserve your cash locked up just in case.
Buffer stock is a knob you tune per product, not a blanket policy. Size it to the pain of a stockout and the reliability of your supply.
Why overselling is a different beast
Stockouts are a planning problem. Overselling is a data problem. It happens when your inventory count says you have stock you do not, so Shopify keeps happily taking orders for air. The classic triggers:
- Selling on more than one channel. Shopify, a marketplace, a retail POS, maybe a wholesale portal. Sell the last unit on one and the others do not know until they sync, so two customers buy the same item.
- Multi-location stock that is not accounted for properly. Inventory shows as available when it is actually committed, in transit, or sitting at a location that cannot fulfill the order.
- Lag between a sale and the count updating. Even small delays matter during a spike, when units move faster than your systems reconcile.
- Manual adjustments gone wrong. A bad CSV import or a mistyped count and suddenly the number is fiction.
You cannot buffer your way out of overselling. Holding extra stock does not help if the number itself is wrong. The fix is accurate, near real-time inventory that every sales channel reads from the same source of truth.
Keep every channel reading the same number
If you sell in more than one place, this is the whole game. One inventory count, and every channel decrements it the instant a sale lands. When Shopify, your POS, and your marketplaces all draw from the same live number, the last unit can only be sold once. That is the structural fix, and no amount of careful manual updating replaces it.
A few things that keep sync honest:
- Commit stock when an order is placed, not when it ships. The unit a customer just bought is not available anymore, even if it is still on the shelf.
- Account for incoming and reserved stock separately from sellable stock. What is on hand and what you can actually sell are different numbers.
- Reconcile regularly. Sync drift creeps in. A periodic count against the system catches it before it bites.
Multi-location makes both problems worse, or better
Running stock across multiple locations is where these two pains collide. Done badly, it multiplies both: you oversell because availability is unclear, and you stock out at one location while another sits on a pile of the same SKU. Done well, multiple locations are actually a safety net, because you can route an order to wherever the stock lives.
The requirement is visibility. You need to see, per SKU per location, what is on hand, what is committed, and what is sellable, and Shopify's native tooling only takes you so far once you have real complexity. With Stocky being retired, this is exactly the gap stores are scrambling to fill. I use Stockra to keep this straight: it tracks stock by location, keeps the sellable number accurate as orders come in, and surfaces reorder points per product so the stockout side and the overselling side are managed in one place instead of two spreadsheets that disagree with each other.
The short version
Stockouts and overselling feel like one problem, inventory went wrong, but they are two, and you fix them with two different tools.
- To avoid stockouts: track velocity, respect lead times, set reorder points, and hold buffer stock on the products that hurt to lose.
- To avoid overselling: keep one accurate inventory number, sync every channel to it in near real time, commit stock at order time, and get clear visibility across your locations.
Get both habits running and the whole category of oh no, we are out and oh no, we oversold mostly disappears. Which, heading into your busiest season, is exactly where you want to be.