Shelf Life Management: 10 Strategies to Cut Expiry Waste

A shopper in glasses checks a tomato beside a carton of tomatoes and jars of grain, the fresh produce that shelf life management keeps sellable

Shelf life management is the work of selling or using every dated product before it expires. It rests on four habits: record each batch's date, buy only what sells in time, rotate by expiry and mark down early. Expired stock is a total loss, while stock sold at a discount still brings in cash.

This guide sets out ten strategies, each with the number that tells you when to act. A Lagos supermarket's yoghurt shows the arithmetic in naira, and a section near the end shows how to run it in ArmPOS.

What is shelf life management?

Shelf life is how long a product stays safe and as good as promised, stored the way its label says. For medicines, WHO's storage and distribution rules set each batch's expiry date as its date of manufacture plus its shelf life.

Managing it means knowing every batch's date and selling the batch before that date arrives. The date on the pack decides what you may still do with it.

The date marks and what a shop does with each
Date markWhat it meansWhat the shop does
Use by, or expiry dateThe last day the product is safe, or works as statedTakes it off sale once the date passes, then writes it off or returns it
Best beforeThe last day of full quality; after it, food can still be safeMarks it down before the date, and sells it after only where the law allows
Manufacturing date onlyShelf life runs from the day it was madeAdds the shelf life and writes the expiry on the carton at receiving

The difference matters. Date marking is linked to up to 10% of the 88 million tonnes of food the EU wastes a year, says the FAO's food labelling page. Food past its best-before date can be redistributed where food law allows, because eating it has no safety implications.

10 shelf life management strategies to cut waste

Strategies 1 to 3 stop waste before it reaches the shelf. Strategies 4 to 6 keep stock moving, and 7 to 10 recover value and measure the loss.

1. Record the expiry date of every batch when it arrives

You can't rotate or flag a date you never recorded. Write down each delivery's batch number and expiry date when it arrives, because two deliveries of the same product are two batches.

If a carton's date is hard to read, rewrite it in large figures with a marker. Staff then see it at a glance when they stack and count.

2. Refuse deliveries that are too close to their date

Short-dated stock arrives half spent. WHO's storage rules say medicines should not be received when their date is likely to pass before they are used.

Work out the same limit for any product. Days needed = quantity delivered ÷ average daily sales, plus two or three days to mark down what is left.

A delivery of 168 cups of yoghurt that sells 14 a day needs 12 days, plus 2. Refuse any delivery of it with fewer than 14 days left, and put that rule in your supplier terms.

3. Order no more than sells before the date

The most you should hold is your average daily sales times the selling days left when the delivery arrives. Count the stock already on the shelf inside that limit.

Take daily sales from the same weeks last year, adjusted for what has changed; demand forecasting shows how. A bulk discount pays only if the extra cartons sell in time. A 5% discount is gone once more than 5% of the order expires.

4. Rotate by expiry date, not by arrival

Put the batch that expires first at the front, and new stock behind it. When a later delivery expires sooner than the stock you hold, it goes to the front.

That rule is FEFO, first expired, first out, and it applies whatever your books use. Your accounts may cost stock by FIFO, as FIFO vs LIFO explains, while the shelf still goes by date.

5. Store each product the way its label says

Heat and sun shorten shelf life, whatever the date on the pack says. The USAID Logistics Handbook warns that heat and direct sun "dramatically shorten shelf life". Above 40°C, it notes, the latex in condoms starts to break down.

A store room under a tin roof can get hotter than the shade outside, so check it with a thermometer in the hottest month. Keep dated goods out of the sun, ventilate the room, and keep fridges running through power cuts. Inventory storage turns label words such as "store in a cool place" into degrees.

6. Check what expires soon every week

WHO asks for all stock to be checked "at regular intervals" to find what is close to expiry. A weekly list of near-expiry batches is enough for most shops.

For each batch on it, work out the units at risk: quantity on hand − average daily sales × selling days left. A result above zero means part of the batch won't sell in time at today's pace, so act on it this week.

7. Mark down early, and compare the options by revenue

The stock's cost is already spent, so compare what each option brings in, not the margin per unit. A small cut with days to spare usually beats a deep cut at the end.

Before you cut, work out the break-even: the full-price revenue you expect ÷ the marked-down price. The markdown pays only if it sells more units than that. The worked example below runs both numbers, and inventory depreciation covers markdown timing for other kinds of lost value.

8. Move stock to where it sells

One product sells at different speeds in different branches, so a batch that won't sell in time in one may sell in another. Move it while the receiving branch still has time to sell it at its own pace.

Outside your branches, a hotel, school or canteen kitchen may use the whole batch this week. A sale at a small discount beats a write-off.

9. Agree returns and swaps with suppliers before you need them

Ask each supplier, before you order, whether it takes back or swaps stock near its date, and how many days before. Get the answer in writing, with the credit it gives.

Check every delivery's dates against those terms when it arrives. A short date written on the delivery note before you sign is hard for the supplier to dispute later.

10. Measure expiry losses and fix the worst lines

Three numbers, tracked monthly, show whether shelf life management is working. Each one points to a fix.

Three shelf life measures to track each month
MeasureHow to work it outWhat it tells you
Expiry loss rateCost of stock expired in the month ÷ cost of goods sold in the month × 100Whether expiry waste is rising or falling
Batches sold before expiryBatches finished before their date ÷ batches finished × 100How well ordering and rotation work together
Expiry date accuracyBatches counted whose date matched the record ÷ batches counted × 100Whether the dates you rely on are true

For example, ₦450,000 of stock expired in a month when the cost of goods sold was ₦15,000,000: an expiry loss rate of 3%. List the ten lines that lost the most, then cut their order size or move them sooner.

For example: a batch of yoghurt in a Lagos supermarket

For example, a supermarket in Lagos has 120 cups of yoghurt with six selling days left. It sells 14 a day at ₦900, and each cup cost ₦600. The figures are an illustration, not a real shop's.

Units at risk = 120 − 14 × 6 = 120 − 84 = 36 cups. At today's pace, 36 cups will expire on the shelf.

For example: three ways to sell 120 cups with six days left (NGN)
OptionCups soldPriceRevenueCups expired
Keep the price84₦900₦75,60036
20% off today; suppose sales rise to 20 a day120₦720₦86,4000
Full price for 3 days, then 40% off; suppose 22 a day42, then 66₦900, then ₦540₦37,800 + ₦35,640 = ₦73,44012

The 120 cups cost ₦72,000 whatever the shop does, so only the revenue differs. The early 20% cut brings in ₦10,800 more than holding the price, and ₦12,960 more than the late deep cut.

The uplift is a guess, so check the break-even first. Matching the full-price plan needs ₦75,600 ÷ ₦720 = 105 cups, or 17.5 a day. If a 20% cut can't lift sales from 14 to about 18 a day, holding the price loses less.

The next order follows from strategy 3. If yoghurt arrives with 12 selling days, the shop should hold at most 14 × 12 = 168 cups, counting what is left on the shelf.

How to manage shelf life in ArmPOS

ArmPOS tracks each batch with its expiry date, puts the earliest at the top at the till, and lists what expires soon. It doesn't stop a sale past the date: that check stays with you.

  • Track the product by batch. On the product's Edit page, under Pharmacy Settings, switch on Track batches & expiry. Give stock you already hold its batches with Assign Batches, or the till can't sell it (Batches and expiry dates).
  • Record dates as goods arrive. A batch-tracked line on a purchase opens a Batches table for the Batch No and Expiry Date. A line without a batch number is dropped when you save (Record a purchase).
  • Sell the earliest first. At the POS, Choose batch lists each batch with its expiry date and quantity, the one expiring first at the top.
  • Check the week's list. Reports › Expiry Report counts the batches expired, near expiry and valid, with their value. The warning window is 90 days unless you change it in Settings › System Settings, and it is one setting for the whole shop. A notification arrives when a batch enters it (Stock reports).
  • Take expired stock out yourself. On Products › Batches, set a batch to Quarantined to keep it out of every sale, or Write Off what is left with a reason. ArmPOS posts nothing in Accounting, so book the value as an inventory write-off.
  • Mark it down. A product has one price for all its batches. Lower it under Pricing And Tax for the clearance, then put it back (Find and edit products). On plans with promotions, a promotion can apply when specific products are in the cart (Promotions and promo codes).
  • Send it back. If the supplier agrees, a Purchase Return takes the goods out of stock and records what it owes you (Return goods to a supplier).

See what the ArmPOS inventory management system includes for shops in Nigeria.

Frequently asked questions

What is shelf life management?

It is recording every batch's expiry date and selling or using each batch before that date. Its tools are receiving rules, order limits, rotation by expiry, early markdowns and a monthly measure of what expired.

What is the difference between best before and use by?

Best before is about quality: after it, food may still be safe. Use by, or the expiry date, is about safety: nothing should be sold or used after it.

How do you work out how much stock will expire?

Units at risk = quantity on hand − average daily sales × selling days left. With 120 units, sales of 14 a day and six days left, 36 units will expire at today's pace.

Can a shop sell food past its best-before date?

Only where national food law allows it. Check your standards body or food regulator first, such as UNBS in Uganda, KEBS in Kenya or NAFDAC in Nigeria.

Does ArmPOS stop the sale of expired stock?

No. ArmPOS lists the batch expiring first at the top, but doesn't block a sale past the date or mark a batch expired. Check the Expiry Report and quarantine or write off expired batches.

This week, work out the units at risk for your ten shortest-dated lines. Mark down the first one that comes out above zero. To record every batch's date and see what expires next, create a free ArmPOS account.