Batch tracking and FEFO

Why dated goods need first-expired-first-out, not first-in-first-out.

Last checked 20 September 2026

Batch tracking means holding stock as separate lots, each with its own quantity, cost and expiry date, rather than one number per product. FEFO — first expired, first out — means always selling the lot that expires soonest, which is what keeps dated stock from ageing out on the shelf.

Why one number per product is not enough

Your system says 200 units. The shelf holds 120 from a lot expiring next month and 80 from a lot expiring in a year. Those are not the same goods, and treating them as one number means:

  • You cannot tell what is about to expire until you walk the aisle.
  • You cannot answer a recall — "which customers got lot B-2208?" — at all.
  • You cannot price correctly, because the two lots cost you different amounts.
  • You cannot prove what you shipped, if a customer disputes a batch.

FEFO vs FIFO

FIFOFEFO
PicksOldest receivedEarliest expiring
Right forGoods with no expiryAnything dated
Fails whenA newer delivery expires sooner than an older oneRarely — it is the safer default for dated goods

They usually agree, and the case where they diverge is exactly the case that costs you money: a supplier sends short-dated stock in a later delivery. FIFO happily sells the older, longer-dated lot first and leaves the short-dated one to expire. FEFO does not.

Check dates at goods-in, not at picking

The cheapest moment to catch short-dated stock is when it arrives and can still be refused. Record the expiry on every line of the purchase bill as you enter it — see record a purchase bill.

What a batch should carry

FieldWhy
Batch or lot numberAs printed on the pack. The identifier in a recall
Expiry dateDrives FEFO and near-expiry reporting
QuantityStock of this lot specifically
CostTwo lots of the same product can have different costs
MRPCan change between batches, and the invoice must show the right one
Supplier and date receivedTraceability back up the chain

Managing near-expiry stock

  1. 1

    Review what expires in the next 90 days, monthly.

    Ninety days is usually the last point at which you have options.

  2. 2

    Push it first — to customers who will move it quickly, discounted if that is what it takes.

  3. 3

    Check your supplier’s return or expiry-claim terms while the window is still open.

    Most have a deadline measured in months before expiry, not after.

  4. 4

    Segregate anything expired so it cannot be picked by accident.

  5. 5

    Write it off, and record why.

    A write-off that gets analysed changes buying. One that just disappears does not.

Beyond pharma

Batches matter wherever goods are dated or traceable: food and beverages, cosmetics, chemicals, paint, agricultural inputs, seeds and lubricants. Anything with a date printed on the pack is a candidate.

Do I need batch tracking if nothing I sell expires?

Probably not for expiry, but it still helps with traceability and with costing when prices move a lot between deliveries.

What if the same batch number arrives twice?

From the same supplier and product, it is usually the same batch and should be topped up rather than duplicated. A genuinely different batch needs a different number — if a supplier reuses numbers, raise it with them.

How do I handle a batch with no printed number?

Record what is on the pack and keep the receipt date. If nothing distinguishes the goods, batch tracking cannot help you and the expiry date is the thing to hold.

How TracEasy handles this

Related reading