Skip to content

Batch and Expiry Control: Making First-Expiry-First-Out a Habit

Expiry losses are rarely bad luck. They come from stock that nobody was watching. A weekly routine using batches and the expiry list prevents most of them.

gamitrack team · · 5 min read

On this page
  1. Why batches, not just totals
  2. Step 1: Decide where batches matter
  3. Step 2: Create batches at receipt
  4. Step 3: Physically organise for FEFO
  5. Step 4: Dispatch from the oldest batch
  6. Step 5: Review the expiry list weekly
  7. Step 6: Record write-offs properly
  8. Step 7: Choose your alert window per product
  9. Returns and shelf life
  10. Weekly checklist
  11. Common mistakes
  12. Next steps

Every perishable product has a clock, and the clock runs whether anyone is looking at it or not. In a distribution business, the usual story is simple: the newest stock goes out because it is at the front of the godown, the old stock moves to the back, and three months later someone finds a pile of cartons that nobody can sell. First-expiry-first-out (often written FEFO) reverses that habit: the batch that expires first is the first one to leave. It needs three things: batches, visibility and a routine. This guide covers all three.

Why batches, not just totals

A total of 500 cartons of a SKU tells you how much you have. It does not tell you whether 300 of them expire next month. Batches add the missing dimension. In gamitrack a batch belongs to a SKU, has a batch number, and can carry a manufacturing date and an expiry date. Stock movements can point to a batch, so the system knows, for each branch, how many units of each batch are on hand.

That gives you three powers:

  • find which stock is oldest,
  • trace a problem batch if a complaint or recall arises,
  • compare what you hold at each branch by batch.

Step 1: Decide where batches matter

Make a list of SKUs with a shelf life: spices, oils, snacks, beverages, packaged foods. For those, require a batch on every receipt. Skip batches for items with no practical expiry. A rule that is too heavy gets abandoned.

Step 2: Create batches at receipt

When production or a purchase arrives, the stock keeper creates the batch with:

  • the batch number printed on the carton,
  • the manufacturing date,
  • the expiry date,

and records the production-in or purchase-in movement against that batch and branch. Do this at the gate, while the goods are in front of you. The batch number printed on the pack is the single source of truth; do not invent your own unless the pack has none.

Typing errors at this step are the most common cause of confusion later, so check the first few receipts of each week against the physical cartons.

Step 3: Physically organise for FEFO

Software cannot move cartons. Do the following in the godown:

  1. Store by batch, with the batch number visible on a label at the front.
  2. Place new receipts behind or below older stock of the same SKU.
  3. Mark any batch that expires within your alert window with a coloured tag.
  4. Keep a clear aisle for tagged batches so they are the first to be picked.

Step 4: Dispatch from the oldest batch

When an order is dispatched, the stock keeper picks the batch with the nearest expiry first, unless a customer requirement says otherwise. Make it a rule with two exceptions only: a customer who asks for long-dated goods under a documented agreement, and goods already at risk, which should go to the fastest-moving outlet.

Dealers also benefit from FEFO. If your dealer receives mixed batches, ask them to keep the same discipline when supplying shops, and use the monthly dealer stock counts to spot where goods stagnate.

Step 5: Review the expiry list weekly

Open the expiring batches view in Stock with a window, for example 90 days. It shows batch, SKU, expiry and quantity on hand. Each week the stock manager reviews it and assigns an action to each line. Your options, in order of preference:

Action When it fits
Push to a faster-selling branch (transfer) Other branch sells this SKU quicker
Push via a scheme or officer focus Stock is sellable but slow
Offer to a dealer at a clearance price Close to the window, no better route
Write off with a damage-out movement Expired or unsafe

Transfers are described in moving stock between branches and warehouses. If you choose a scheme, designing dealer schemes that pay for themselves will help you avoid giving away more than the stock is worth.

Step 6: Record write-offs properly

When stock must be destroyed, record a damage-out movement against the batch with a clear note and the date. Do not adjust totals silently. Write-offs are information: a high number for a SKU means you are buying, producing or distributing too much of it. Feed that back into production planning, discussed in using sales data to plan production.

Step 7: Choose your alert window per product

A single window for every product is lazy. A SKU with a six-month shelf life needs a longer lead time than one with two years. A reasonable approach is to set a window equal to the time it normally takes you to sell through a batch, plus a buffer. If a product typically takes sixty days to sell, an alert at ninety days gives you thirty days to act.

Returns and shelf life

When goods come back through a return, check the batch before putting them back into saleable stock. A return approved into a branch puts stock back, so make sure your policy says which returns are re-sellable, which go to quarantine and which are written off. Short-dated returns are often better written off than redistributed.

Weekly checklist

  • Review expiring batches and assign an action per line.
  • Walk the godown and check that tagged batches are at the front.
  • Spot-check five dispatched orders: were they picked from the oldest batch?
  • Review write-offs of the week and note the cause.
  • Check batch numbers on the last receipts against the cartons.

Common mistakes

  • Making batches optional. If it is optional, the busy day will skip it.
  • Typing a wrong expiry date. One wrong date makes the whole list unreliable.
  • Having no owner. Assign one person to the weekly review and give them authority to propose clearance.
  • Waiting too long. The best time to act is when there is still shelf life left for a retailer.

Next steps

Batches and expiry are part of the standard stock module, alongside low-stock levels and transfers. See low-stock alerts and reorder discipline for the other half of stock health. Compare plans on the pricing page, and read the stock articles in the Help centre.

Frequently asked questions

What is a batch in gamitrack?

A batch belongs to one SKU and has a batch number, with optional manufacturing and expiry dates. Stock movements can be recorded against a batch, so you know how much of each batch is where.

How do I see what is about to expire?

The Stock area lists expiring batches within a number of days you choose, with the quantity still on hand.

Do I need batches for every product?

No. Use batches for products where expiry or traceability matters, such as food, spices, oil and cosmetics. Non-perishable goods can be tracked without them.

Does first-expiry-first-out happen automatically?

The system gives you the batch and expiry information and the lists. Choosing the oldest batch at dispatch is a discipline your stock keeper follows, and the guide below shows how to make it routine.

Put this playbook to work

gamitrack gives your salespeople, delivery staff and dealers one app — and you one place to see sales and stock.