Retail & Billing

Batch, Expiry and FEFO: How to Manage Stock with Expiry Dates in a Retail Shop

A practical guide for pharmacies, supermarkets, bakeries and FMCG retailers: batch tracking, FIFO vs FEFO, expiry alerts, near-expiry returns and what your billing software should do so expired stock never reaches a customer.

BIGXSTAR Team··7 min read
InventoryExpiry ManagementFEFOPharmacyRetailPOS

Expired stock costs a shop twice: once when you write it off, and again when a customer finds an expired packet on your shelf and stops trusting you. For pharmacies it is also a compliance problem.

Most of it is preventable. Expired stock usually builds up not because nobody cares, but because nobody can see which batch expires when. Here is how to fix that.


Who needs batch and expiry tracking?

If you sell any of these, you do:

  • Medicines and healthcare products
  • Packaged food, dairy, bakery items, beverages
  • Cosmetics and personal care
  • Baby products, nutrition and supplements
  • Fertilisers, pesticides and other dated agricultural inputs

The same product arrives in different batches, each with its own expiry date (and often its own MRP). Tracking only "how many units of Paracetamol 500" is not enough. You need to know how many of each batch.


FIFO vs FEFO

FIFOFEFO
Stands forFirst In, First OutFirst Expiry, First Out
Sell firstThe oldest stock you receivedThe stock that expires soonest
Works whenEvery new batch expires later than the lastBatches arrive with mixed expiry dates
RiskA newer delivery with a shorter expiry sits at the back and expiresVery low, if the software picks the batch

Usually the first batch in also expires first, so FIFO and FEFO give the same answer. But not always: a distributor can send a fresh delivery that has spent months in their own warehouse. FEFO is the safer rule for anything with an expiry date.


A simple process that works

1. Record batch and expiry at purchase

When stock arrives, enter the batch number, expiry date and MRP for each line of the supplier's invoice. This is the step most shops skip, and everything else depends on it.

2. Arrange shelves by expiry

Put the earliest expiry at the front. Do this when you restock, not once a month.

3. Let billing pick the batch

At the counter, the cashier scans or selects the product. The software should automatically pick the batch that expires first (FEFO) and reduce that batch's stock. Cashiers should not have to choose batches by hand during a rush.

4. Check near-expiry stock every week

Run a near-expiry report: everything expiring in the next 30, 60 or 90 days. Then act:

  • Return it to the distributor, if your agreement allows near-expiry returns (many pharma distributors do, within a window)
  • Discount it or bundle it, for food and FMCG
  • Move it to the front, or to the branch that sells it faster

5. Block expired stock at billing

The software should warn or refuse when someone tries to bill an expired batch. This is the last line of defence.

6. Write off what is left, properly

Record expired stock as a write-off with a reason, rather than quietly deleting it. Your stock value, profit and tax records stay correct.


What your billing software should do

FeatureWhy it matters
Batch, expiry and MRP on purchase entryEverything else depends on it
Batch-wise stock for each itemKnow exactly what you have and when it expires
FEFO selection at billingThe right batch goes out without the cashier thinking about it
Expired-batch warning at billingStops expired stock reaching customers
Near-expiry report (30/60/90 days)Time to return, discount or move stock
Stock that updates across countersTwo counters never sell the same last unit of a batch
Write-offs and returns recorded properlyCorrect stock value and records

For the rest of what to look for, see our billing software checklist for small shops.


The payoff

Shops that track batch and expiry consistently usually see:

  • Less write-off, because near-expiry stock is returned or sold in time
  • Fewer customer complaints about expired products
  • Better ordering: you see which items expire before they sell, and order less of them
  • Calmer inspections, because records match what is on the shelf

Starbooks tracks every batch. Starbooks POS records batch and expiry at purchase, allocates stock first-expiry-first-out at billing, and keeps live stock in sync across every counter, with or without internet. It is in early access with a 3-month free trial, and our team sets it up with your items. Start your free trial.