Skip to content
NewSelf-serve sign-up and free trial, plus real costs and margins
All guides

How to track batch and expiry dates for a small food business

The managemate team · · 9 min read

To track batch and expiry dates, give every batch its own number, write down its expiry date the day it is made or arrives, keep each batch's stock separate, and always sell or use the batch that expires first. A paper register or a spreadsheet can do this for a handful of products. Software helps once you have many batches, more than one storeroom, or staff who bill without checking the register.

This guide is for small food businesses in India, such as spice, snack, pickle and sweet makers, and anyone who repacks food. It covers what to record, a paper method, a spreadsheet method, FIFO and FEFO, and how managemate does the same work.

Why batch and expiry tracking matters

  • Money. Expired stock is a straight loss after you have paid to make and store it. Spotting it early leaves time to sell or use it.
  • Customers. A shop or distributor may refuse short-dated stock or send it back later.
  • Complaints and recalls. If someone reports a problem with a pack, the batch number tells you which raw materials went into it and who else received that batch.
  • Labels. FSSAI's labelling rules require packaged food to carry a batch, lot or code number, and the date of manufacture or packing together with the expiry or use-by date (regulations 5(9) and 5(10) of the Food Safety and Standards (Labelling and Display) Regulations, 2020). There are exceptions, such as very small packs, and the rules are amended from time to time, so check the current text or ask your food safety consultant. Use the same batch numbers in your records as on your labels.

What to record for each batch

For every batch you make, buy or repack, note:

  1. Product and pack size, such as garam masala 100 g.
  2. Batch number, unique for that product.
  3. Date of manufacture or packing.
  4. Expiry or use-by date.
  5. Quantity made or received.
  6. Location, if you have more than one godown, kitchen or shop.
  7. Source: the supplier and their batch number for raw materials, or the raw-material batches used in what you make.
  8. Dispatches: every sale or dispatch, with the batch it came from.

A batch number can be any mix of letters and numbers. A practical pattern is a product code, the date and a run number, such as GM-261023-1 for the first garam masala run on 23 October 2026. It shows the batch's age at a glance and fits on a small pouch.

Method 1: a paper batch register

A register works when one person handles the stock and there are only a few products.

  1. Give each product its own page, with columns for date, batch number, made or packed on, expiry, quantity in, quantity out, balance, and customer or order.
  2. Write a line for every batch that comes in, and for every dispatch, naming the batch it came from.
  3. Mark the batch number and expiry date in large letters on every sack, crate and carton.
  4. Store each product with the earliest expiry at the front.
  5. Every week, read down the expiry column and mark anything expiring in the next 30 days. Sell or use those batches first.
  6. Every month, count the shelves and correct the register.

The weak spots are searching and discipline. Tracing one batch means reading page after page, and nothing stops a busy helper from picking the wrong carton.

Method 2: a spreadsheet

Excel or Google Sheets adds sorting and colour, and suits a small team sharing one file.

Make two sheets. Batches has one row per batch: product (column A), batch number (B), made or packed on (C), expiry date (D), location (E), quantity in (F), quantity out (G), balance (H) and days left (I). Out has one row per dispatch: product (A), batch number (B), date (C), quantity (D), and customer or order (E).

Add three formulas to row 2 of Batches and copy them down:

  • Quantity out: =SUMIFS(Out!D:D,Out!A:A,A2,Out!B:B,B2)
  • Balance: =F2-G2
  • Days left: =D2-TODAY(), with the cell formatted as a number, not a date

Use conditional formatting to colour days left red below 0 and amber at 30 or less. Filter for a balance above zero and sort by expiry date, earliest first, to see which stock should go out next. To trace a batch, filter the Out sheet by its batch number.

A spreadsheet only knows what someone types in. Every sale is entered twice, on the bill and in the sheet, and copies on different phones soon disagree.

FIFO and FEFO, explained simply

FIFO means first in, first out: the stock that arrived first leaves first. FEFO means first expired, first out: the stock that expires first leaves first, even if it arrived later.

For food, follow FEFO, because stock does not always arrive in expiry order. Say one sack of chilli powder arrived on 1 October and expires in June, and a second sack arrived on 10 October but expires in March because the supplier sent older stock. FIFO sends out the June sack first and leaves the March sack to expire. FEFO sends out the March sack first.

In practice, arrange shelves by expiry date rather than arrival date, and ask everyone who picks stock to read the date instead of taking the nearest carton.

Paper, spreadsheet or software

How the three methods compare for a small food business:

ComparePaper registerSpreadsheetSoftware such as managemate
CostA register and a penFree or lowA monthly fee, usually per user
Recording a saleWritten by handTyped again after billingRecorded as you bill or deliver
Finding what expires nextRead through the pagesSort by expiry dateExpiring and Expired tabs, and the dashboard
Earliest expiry firstDepends on whoever picksDepends on whoever picksChosen automatically
Stopping expired salesNoNoBlocked
Tracing a batchSlow, page by pageFilter, if every sale was typed inLot history linked to each order
SuitsOne person, a few productsA small team, one locationMany batches, people or locations

How managemate does it

managemate keeps stock in lots: one batch of one product, with its own number, expiry date, cost and quantity at each location.

  • Recorded as stock comes in. Enter the supplier's batch number and expiry date when you receive a purchase, or leave the lot number blank and managemate creates one. Completing a production run records the finished lot, named after the run unless you change it, and its expiry date. Opening stock can be imported from Excel or CSV with lot numbers, expiry dates and cost.
  • Earliest expiry first. Deliveries, counter sales and production take the lot that expires first, unless you scan or choose another. Stock without an expiry date goes last.
  • Expired stock cannot be sold. Expired lots are blocked from sales and production, and the counter refuses a scanned label from an expired lot.
  • Expiring stock at a glance. Inventory has tabs for lots expiring within 30 days and for expired lots, with their value at cost, and the dashboard lists both in Today's plan.
  • Write-offs on record. Write off one lot or every expired lot at once, with a numbered note you can print. If the supplier takes stock back, return the lot to them for a credit note instead.
  • Tracing a batch. Open a lot to see where it is, where it came from and every movement since, with the document behind each and who recorded it. A completed production run lists the material lots it used, and its production sheet prints as the batch record.
  • QR labels. Print lot labels for received goods or a finished batch on 2 × 1 inch label rolls. Each carries the product name, price, SKU, lot number and location, so a scan at the counter sells from that exact lot.

Two limits to know. The lot label does not print the expiry or manufacturing date, so it does not replace the dated label on your pack. And managemate records the expiry date but not a separate manufacturing date, so keep that date in your batch number.

For more detail, see locations and stock, simple manufacturing and managemate for food and FMCG makers.

A quick checklist

  • Every batch has a unique number, on the pack and in your records.
  • Manufacture or packing and expiry dates are recorded the day stock is made or arrives.
  • Shelves hold the earliest expiry at the front.
  • Someone checks every week what expires in the next 30 days.
  • Expired stock is set apart, never sold, and written off with a note.
  • Every dispatch records the batch it came from.
  • Pack labels carry the batch number and dates the current FSSAI rules require.

Frequently asked questions

What is the difference between best before and expiry?

In FSSAI's definitions, the expiry or use-by date marks the point after which the food may not remain safe, and it must not be sold after that date. A best before date marks the end of the food's best quality: it may still be safe afterwards, but it must not be sold if it has become unsafe. Packaged food must show the expiry or use-by date, with some exceptions; best before is optional extra information.

Can I track batches and expiry dates in Excel?

Yes. Keep one row per batch with its expiry date, a second sheet for dispatches, and the SUMIFS and TODAY formulas above for the balance and days left. It suits a few products at one location. With more people, every sale is typed in twice and nothing stops an expired batch from being sold.

What should I use as a batch number?

Any mix of letters and numbers that is unique for the product, such as GM-261023-1 for a product code, date and run number. Keep it short enough for your smallest pack, and use the same number on the label, the carton and your records.

What should I do with expired stock?

Move it away from saleable stock at once and mark it clearly. Record it as written off with the quantity, batch and reason, or return it to the supplier if they accept it. Ask your accountant how to treat written-off stock in your books and tax returns.

Does managemate print expiry dates on labels?

No. Lot QR labels carry the product name, price, SKU, lot number and location, which is what a scan needs to sell from the right lot. Print the dates your pack needs with your usual pack label or batch coding machine.

Sources

Give your team a clearer working day

Try every feature free for 60 days with up to 5 users. A guided setup brings in your products, contacts and opening stock from Excel.

  • No card needed
  • Then ₹299 per user a month
  • 7-day money-back guarantee