Perishable inventory management for Shopify, without a separate system

Selling anything with a shelf life on Shopify usually means bolting on a spreadsheet, a whiteboard, or a second app just to know what's expiring. Smart Restock builds perishable inventory management into the same tool you already use to import supplier invoices: every batch you receive can carry an expiry date, deplete first-expired-first-out, and mark itself down automatically as it ages — all from one dashboard.

Start Free Trial — 14-day free trial on Starter plan, no credit card required.

Three pieces, one dashboard

Perishable inventory management in Smart Restock is three connected pieces. Expiry tracking assigns a best-before date to every batch you receive, pulled from the supplier invoice or entered by hand. FEFO depletion makes sure the soonest-expiring batch is the one that depletes first as you sell, rather than whatever Shopify happens to decrement. Automatic markdown discounts a variant in tiers as its oldest stock nears its date, then restores the price once that stock clears.

All three run off the same batch ledger, on the same expiry dashboard, in the same app you use to post supplier invoices and update weighted-average cost — nothing to reconcile between systems.

Built on the invoice import you already use

You don't set up perishable tracking as a separate onboarding step. When you import a supplier invoice that includes a best-before date, Smart Restock creates the batch and captures the date in the same posting action that updates inventory and cost. If a supplier's paperwork doesn't include a date, add it on the dashboard after the fact — the batch still exists, it's just unassigned until you do.

That also means perishable stock gets the same weighted-average cost accuracy as the rest of your catalog. There's no separate 'perishables module' with its own cost logic to keep in sync.

Who this is for

Food and beverage brands with distributor deliveries on a use-by date. Cosmetics, skincare, and supplement sellers tracking expiry or period-after-opening dates. Florists and anyone else selling stock that loses value fast. Any Shopify store where 'oldest stock sells first' actually matters to the bottom line, not just compliance.

It scales the same way the rest of Smart Restock does: one Shopify location or a dozen, one supplier or fifty.

Related pages

Go deeper on each piece: expiry date tracking, batch and lot tracking (FEFO), and automatic markdown of expiring stock. Perishables sit alongside low stock alerts and multi-location inventory and cost tracking in the same app.

Frequently asked questions

What does 'perishable inventory management' mean in Smart Restock?

Three connected pieces: expiry-date tracking per batch, FEFO depletion so the soonest-expiring stock sells first, and optional tiered markdown rules that discount a variant automatically as it nears its date.

Do I need a separate app or plan for perishables?

No. Expiry tracking, FEFO, and automatic markdown are part of Smart Restock — the same app you use for invoice import and inventory, not an add-on install.

Does it work across multiple Shopify locations?

Yes. Batches, expiry dates, and FEFO depletion are all tracked per Shopify location, so a warehouse and a retail store keep separate, accurate pictures for the same SKU.

Can I use expiry tracking without turning on automatic markdown?

Yes. Markdown rules are opt-in per variant — you can track expiry and batches without setting any markdown tiers, and pricing never changes until you configure a rule.

Does perishable tracking change how weighted-average cost is calculated?

No. Perishable batches use the same weighted-average cost engine as the rest of your inventory. Tracking expiry doesn't change how cost is calculated, just what you know about when stock needs to move.