Inventory how-to
How to manage inventory for products with expiration dates
You manage expiring inventory by tracking lot numbers and expiry dates separately from your sales forecasting, and by using first-expired-first-out picking rules.
Short answer: You manage expiring inventory by tracking lot numbers and expiry dates separately from your sales forecasting, and by using first-expired-first-out picking rules. Forecasting tells you how much to buy and when; expiry tracking tells you which units to ship first and when to write off or discount old stock. You need both, run side by side.
Separate the two problems
Inventory planning answers "how much should I order and when." Expiry management answers "which specific units do I need to sell first." These are different jobs. A forecasting tool can tell you to reorder 200 units of a supplement, but it will not tell you that 80 of your current units expire in six weeks and need to move first.
Keep a simple lot or batch log outside your sales system: SKU, lot number, quantity received, receive date, expiry date. A spreadsheet is fine for small catalogs. This log is what your staff checks before picking an order, not your forecasting tool.
Build FEFO into your picking process
First-expired-first-out means staff always pick the oldest expiry date first, regardless of which shipment arrived most recently. Label shelves or bins by lot and expiry date, not just by SKU. If you receive a new shipment of a SKU you already stock, physically place it behind the existing stock so older units get picked first without staff having to check dates every time.
For products with short shelf lives, review your lot log weekly and flag anything expiring within your typical sell-through window so you can discount or push it before it expires.
Order smaller and more often for short shelf-life items
For products that expire quickly, the safest lever is order frequency, not order size. Shorter, more frequent orders reduce the amount of stock sitting on a shelf aging out. This means accepting a shorter cover period in your reorder math even if it means slightly more frequent supplier orders.
Set tighter safety days for these SKUs too. A long safety buffer protects you from stockouts but increases the risk of unsold stock expiring, so balance the two deliberately rather than using the same safety days across your whole catalog.
Reconcile expired stock manually
When stock expires unsold, write it off in your inventory counts and store admin manually. No automated forecasting system will do this for you because it has no way to know a unit expired versus sold. Do this on a fixed schedule, weekly or monthly, so your on-hand numbers stay accurate and your reorder math is not inflated by dead stock sitting in the count.
Step by step
- Keep a separate lot log with SKU, quantity, receive date, and expiry date for every batch.
- Label shelves and bins by expiry date so staff can pick first-expired-first-out without guessing.
- Place new shipments behind existing stock physically, even if it is the same SKU.
- Review the lot log weekly and flag anything expiring inside your normal sell-through window.
- Order shorter and more often for short shelf-life SKUs instead of stocking up.
- Set tighter safety days for perishable SKUs to avoid over-buffering stock that then expires.
- Write off expired units manually in your counts on a fixed weekly or monthly schedule.
Worked example
A store sells a probiotic with a 9-month shelf life, selling 5 units a day. Supplier lead time is 10 days and they use 4 safety days, giving a reorder point of 5 x (10 + 4) = 70 units. Instead of ordering 60 days of cover at once, they order 21 days of cover more frequently: order qty = 5 x (10 + 21) - (on hand + on order). If on hand is 70 and nothing is on order, that is 5 x 31 - 70 = 85 units, a smaller batch than a 60-day order would be, which lowers the odds of unsold stock expiring on the shelf.
How SteadyShelf helps
SteadyShelf does not track lot numbers or expiry dates, and it has no concept of FEFO picking. It will calculate order-by dates and quantities from your sales velocity and lead times, which helps you avoid over-ordering perishable SKUs, but you still need a manual log or separate system to track which units expire when.
$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
- How to manage inventory when you sell on Shopify and in person
- How to manage inventory with a 3PL
- How to manage multiple suppliers for the same product
- How to manage inventory for perishable products
All inventory how-to guides ยท Inventory glossary
FAQ
Can SteadyShelf alert me before a batch expires?
No. SteadyShelf has no field for expiry or lot dates, so it cannot generate expiry alerts. You need a separate log, even a simple spreadsheet, checked on a fixed schedule.
Should I lower my safety days for perishable products?
Generally yes. Longer safety days reduce stockout risk but increase the amount of stock sitting around long enough to expire. For short shelf-life SKUs, favor smaller, more frequent orders over a large safety buffer.
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