Free AuditEnterprise AIShelfSense
Back to Blog
ShelfSense by ShelfLifeProOct 27, 20267 min read

Selling Below Cost Price: Smart Markdown or Panic?

Selling below cost price can recover more than holding stock — or burn margin. A worked example shows when to mark down, return to supplier, or wait.

SE

ShelfLifePro Editorial Team

Inventory management insights for retail and pharmacy

The markdown nobody wants to approve

You're doing the evening walk and there it is: a full shelf of something that's three weeks from expiry and isn't moving. Somebody suggests a discount. Somebody else says "we can't sell below what we paid for it." And so the stock sits there. A fortnight later it goes into the expiry carton and you get back nothing at all.

The opposite happens too. A batch looks a bit slow, someone gets nervous, and it goes out at half price while it still had weeks of normal selling left. Both are the same mistake. The decision got made by gut feel, not by working out what the stock can actually still earn.

This post is about telling the two apart: when selling below cost price is the right call, when it's panic, and when sending the stock back to the supplier beats both.

Why the cost price feels like a floor

The landing cost is the one number everyone knows. It's on the purchase bill, it's in the stock register, and it's the line between "profit" and "loss" in your head. So it starts acting like a floor on the price, even though nothing about the customer or the calendar cares what you paid.

Here's how it works. Once the money's paid, it's gone, whatever you do next. Selling below cost doesn't create that loss. The loss happened when you over-bought or the demand never turned up. The only question left is how much of that money you can still get back, and from where.

Holding at full price feels safe because no loss shows up today. But every unit that expires on the shelf brings back zero. A below-cost sale books a visible loss on each unit, and a dead unit books a bigger one you don't see coming until the expiry carton fills up.

What the stock is worth tomorrow

So stop asking "what did this cost me?" Ask "what's the most cash this batch can bring in before it dies?" To answer that you need four things for each batch:

  • Units on hand for that batch, not the total across all batches
  • Days left before expiry, or before your own last-sale cutoff
  • Current sell-through: units per day at the current price
  • Your exits: discount, liquidation channel, supplier return, and what each one brings back per unit

Multiply sell-through by days left and you know how many units will clear at the current price. Everything above that number is stock that needs a different plan. If you want the mechanics of staging discounts, the dynamic markdown pricing guide goes deeper.

A worked example with the cost basis shown

Worked example: suppose a grocery store has 60 packs of a premium muesli. Landing cost is ₹180 a pack, the shelf price is ₹260, and there are 21 days to expiry. At full price it sells 1.5 packs a day. The ₹10,800 for the batch (60 × ₹180) is already paid in every option below. What changes is how much cash comes back.

For example, here are four plans, with the discount sales lifts as illustrative assumptions:

  • Hold at ₹260: 1.5/day × 21 days = 31 sold, ₹8,060 back. 29 packs expire.
  • 20% off at ₹208, still above cost: say it lifts sales to 2.2/day. 46 sold, ₹9,568 back. 14 expire.
  • Straight to ₹150, below cost: say 3/day. All 60 clear in 20 days, ₹9,000 back.
  • Staged: ₹208 for 10 days (22 sold, ₹4,576), then ₹150 for the last 11 days at 3.5/day (38 sold, ₹5,700). All 60 clear, ₹10,276 back.

Worked example, continued: going straight to below cost brings back less than the modest markdown that stayed above cost. You'd sell every pack and still lose ₹568 compared with plan two. But a below-cost step at the right time, after the above-cost discount has done what it can, is the best of the four. It beats holding by ₹2,216. The cost price never comes into the comparison at all.

That's the whole method. Below cost is right when it's the only way to clear units that would otherwise expire. It's panic when you're giving away margin on units that would have sold anyway. Before you approve one of these, check the sums: the post on reading a markdown recommendation walks through which numbers to check.

Free Tool

Not sure how much you're losing to expiry?

Run a free inventory waste audit, find your bleeding SKUs in 60 seconds. No sign-up required.

Run free audit

When a supplier return beats both

There's a third option people forget because it has a deadline: send it back. Many distributors accept near-expiry returns or give credit notes, but only inside a window set by your agreement with them. Once that window shuts, the option's gone.

Suppose the same muesli was spotted at 40 days to expiry, not 21. And suppose your distributor gives a credit of 80% of landing cost for stock returned with 30 or more days left. That's ₹144 a pack. For the 29 packs that would have expired at full price, the credit brings back ₹4,176. Selling those same 29 at ₹150 would only beat it if every one of them sold, and that's a guess. The credit is a sure thing.

So a supplier return wins when the credit per unit is close to your below-cost price and the units really aren't going to sell. It loses once the window's closed, which is exactly what happens when nobody looks until three weeks out. The RTV pack gives you a return letter and a deadline tracker so the window doesn't pass quietly. If neither a markdown nor a return works, the liquidation channels guide covers where else stock can go.

Signs a below-cost markdown is panic

Ask yourself these before you approve a price under cost:

  • Sell-through already covers it. If units per day times days left is at least what's on hand, you don't need a discount.
  • You skipped the above-cost step. A smaller discount might clear most of it for more money.
  • You're pricing total stock, not the batch. A fresh batch of the same item behind it shouldn't be dragged down with the old one.
  • The return window is still open. Check the credit before you give margin away.
  • It's a reaction to one slow week. One bad week doesn't mean the product's dead, especially if there was a holiday or a stockout nearby.

And the signs it's the right call: the batch can't clear at any above-cost price before expiry, the supplier return is closed or pays less, and every unit sold below cost brings back something that would otherwise be zero.

Running the check every morning

You can do all of this with a notebook and a calculator. Write each batch's units, days left and last week's sales on a line, and work out the shortfall. The expiry loss calculator helps you put a number on what's at stake.

The catch is how often you do it. The decision only works if you catch a batch while you still have time to stage the discount or return it. Doing the sums by hand for a few slow lines is fine. Doing it for every batch in the store, every day, is where it falls apart. That's how the muesli ends up being noticed at 21 days and not 40.

Where ShelfSense fits

ShelfSense by ShelfLifePro is a daily inventory agent that works alongside the system you already run. Once a day it reads your stock, batch, cost and expiry records. Then it flags at-risk batches days ahead with a recommended markdown, showing the units that won't clear, the projected loss and the discount, ranked by money at risk. It recommends and you approve. It never changes a price by itself. If you're on Tally, export to CSV today; a direct connection is on request.

ShelfSense's free audit reads one CSV export, no account needed. The Watch tier is free forever at 30 SKUs — a daily scan and a health report. You can start free here, or see how it reasons through a call before you trust one.

SE

ShelfLifePro Editorial Team

The ShelfLifePro editorial team covers inventory management, expiry tracking, and waste reduction for pharmacies, supermarkets, and retail businesses worldwide.

See what batch-level tracking actually looks like

ShelfLifePro tracks expiry by batch, automates FEFO rotation, and sends markdown alerts before stock expires. 14-day free trial, no credit card required.

Prefer to talk it through? Book a 30-min call

Newsletter

Get the monthly expiry brief

One short email a month, only when there is something worth reading. FEFO tactics, markdown math, and stories from Indian retailers. No spam.

No spam. Unsubscribe in one click. Email only, no WhatsApp spam.

WhatsApp tips

Get expiry tips on WhatsApp

Leave your number and we say hello on WhatsApp, then share expiry-tracking tips for Indian retail now and then — FEFO, markdowns, monsoon stock. No broadcast lists; reply STOP any time.

Reply STOP anytime. We never share your number.