← Back to Blog
Operations•8 min read

Expiry Date and Batch Tracking: A Practical FEFO Guide

If you sell food, supplements, cosmetics, pet food or anything with a shelf life, the question is not only how many you have, but which ones expire first. Expired stock is a direct loss, and in many categories selling it is not allowed. This guide shows how to track expiry dates and batches with FEFO – first-expired, first-out – without a complex warehouse system.

FIFO vs FEFO

For products with a shelf life, FEFO is the safer rule.

Why batch numbers matter too

A batch (or lot) number tells you which production run a unit came from. If a supplier recalls a batch, you need to find those units quickly – on the shelf, in the back room and in open orders. Without batch information, you end up pulling everything.

What 2D barcodes add

Linear barcodes (UPC/EAN) only carry the product number, so expiry and batch have to be read from the printed text. GS1 2D barcodes can carry them inside the code. In GS1 data, for example, (17) marks the expiry date and (10) the batch number. Medicines are a well-known example: in Turkey, every medicine box carries a GS1 DataMatrix with the product number, serial number, expiry date and batch number for the national tracking system (İTS).

Retail is gradually moving to these codes – see GS1 Sunrise 2027. Until your products carry them, a simple manual structure works just as well.

A simple FEFO count with your phone

You do not need lot-tracking software to start. With WiScanner's counting module:

  1. Create one group per expiry month for the zone you are counting, for example A-01 · EXP 2026-12, A-01 · EXP 2027-03. For recall-sensitive products, use the batch number instead.
  2. Sort as you scan: pick up a unit, read the date, switch to the matching group and scan. Live running totals show each group filling up.
  3. Use Quantity Scan for full cartons from the same batch – one scan, type the quantity.
  4. Fix mistakes on the spot – adjust a quantity or remove a wrong scan before closing the group.
  5. Export to Google Sheets or CSV. You now have SKU, quantity, location and expiry month in one table.
  6. Sort by expiry and decide: move to the front, run a promotion, transfer to a faster channel, or return to the supplier.

Tip: start with the products where expiry costs you most – short shelf life, high value or high volume. A monthly expiry count of those few shelves catches most of the risk.

Rotating shelves the right way

What to do with short-dated stock

Expired items that cannot be sold are a form of dead stock – the same habit of frequent, quick counts prevents both.

Count your stock by expiry month

Create one WiScanner group per expiry month, scan your shelves and export the result to Google Sheets. You will see in minutes what has to move first.

Compare plans →