Automatic markdown for expiring stock on Shopify
Stock that's about to expire is worth more marked down than written off. Smart Restock's markdown engine watches every batch you're tracking and discounts the variant automatically as its soonest-expiring stock gets close to its date — in tiers you set, on a daily sweep, with the price restored automatically once that stock is gone.
Start Free Trial — 14-day free trial on Starter plan, no credit card required.
Set tiered markdown rules per variant
On the expiry dashboard, set a rule per product variant: a list of tiers like '3 days before expiry, 30% off' or '1 day before, 50% off.' Add as many tiers as you want. A daily sweep checks every rule against its soonest-expiring active batch and applies whichever tier's window has been entered — the deepest qualifying discount wins, so a batch doesn't jump straight to 50% off a week early just because a shallower tier also matches.
Save a rule and Smart Restock applies it right away rather than waiting for the next sweep, so a batch that already qualifies gets marked down within seconds of you turning the rule on.
Choose what happens at the expiry date itself
Each rule sets what happens once a batch actually reaches its expiry date. Alert only keeps the batch active and selling at its deepest discount tier — you decide when to pull it. Pull from sale zeroes the expired quantity out of Shopify automatically and takes it off the shelf without you touching anything.
Either way, the expiry dashboard keeps flagging the batch by date so nothing quietly falls off your radar.
Price changes that don't fight you
Shopify prices a variant store-wide — there's no per-location or per-unit price — so a markdown applies to the whole variant while any tracked batch of that SKU is within a tier's window. The pre-markdown price is stored so it can be restored exactly, with the compare-at price set to show the original as a strikethrough. Once the expiring batches clear, the next sweep restores the original price automatically.
If you manually change the price on a variant Smart Restock has marked down, automation pauses for that variant instead of overwriting your edit on the next sweep — you're back in control the moment you touch the price yourself.
Related pages
Automatic markdown runs on the batches from batch and lot tracking (FEFO) and the dates from expiry date tracking — see how it all fits together on perishable inventory management. Pair it with low stock alerts and multi-location inventory tracking for the full picture of your stock.
Frequently asked questions
How does automatic markdown work for expiring Shopify stock?
You set tiers per variant, such as '3 days before expiry, 30% off.' A daily sweep checks each rule against its soonest-expiring active batch and applies the deepest tier whose window has been entered, adjusting price and compare-at price on Shopify.
Can I set more than one discount tier?
Yes. Add as many tiers as you want, each with its own days-before-expiry threshold and percent off. The deepest qualifying tier is the one that applies.
Does the markdown apply to every Shopify location, or store-wide?
Store-wide on the variant. Shopify doesn't support a different price per location, so the discount applies everywhere that variant is sold while expiring stock remains tracked in your batches.
What happens to the price after the expiring stock is gone?
The next daily sweep restores the variant's original price and clears the compare-at price automatically — you don't have to remember to undo the discount.
Will this override a price I set manually?
No. If Smart Restock detects the live price no longer matches what it last set, it pauses automation for that variant rather than overwrite your change on the next sweep.
What happens on the expiry date itself?
Depends on the rule: 'alert only' leaves the batch active and selling at its deepest discount until you pull it; 'pull from sale' zeroes the expired quantity out of Shopify automatically.