Skip to content
Inventory & accounting

Inventory & accounting

Batch and Expiry Tracking: How to Control Batch-Wise Stock

Last checked 20 October 2026 · 8 min read · Billing Software by Betterwork

Batch and expiry tracking records every lot of stock with its batch number, manufacturing date, expiry date and cost, so you can sell the earliest-expiring stock first (FEFO), get alerts before goods expire, trace a recalled batch to the exact invoices, and value or write off expired stock correctly. It is essential for pharmacies, food, cosmetics and other perishable goods.

Batch and expiry tracking means recording each lot of stock separately, with its batch number and expiry date, instead of treating all units of an item as identical. For a pharmacy, a dairy distributor or a cosmetics shop, this is the difference between selling safely and quietly losing money on goods that expire on the shelf. This guide explains how batch-wise stock works, how to pick by FEFO, and how to handle expired goods in your books and under GST.

What is batch and expiry tracking?

A batch (or lot) is a quantity of goods produced together under the same conditions. The manufacturer prints a batch number, manufacturing date and expiry or best-before date on the pack. Batch tracking carries these details through your whole stock cycle:

  • At purchase: you record which batch you received, how many units, the expiry and the cost.
  • In stock: your register shows quantity per batch, not just per item.
  • At sale: the invoice records which batch left, so stock reduces from the right lot.
  • At return or recall: you can find every unit of a batch, in stock or already sold.

Without batch tracking, your register might show "Paracetamol 500 mg strip: 240" while 60 of those strips actually expire next month. With it, you see each lot separately and act before the date passes.

Which businesses need batch-wise stock?

Business Why batches matter
Pharmacy / medical distributor Expiry, recalls, returns to stockist
Food and beverages, dairy Short shelf life, food-safety traceability
Cosmetics and personal care Expiry and complaint tracing
Agro inputs (seeds, pesticides) Season-bound validity, batch-specific quality
Paints, adhesives, chemicals Shelf life, colour/lot matching
Electronics with warranty Lot-level defects (often serial numbers instead)

If your products have no expiry and no lot-level quality difference, plain item-level stock is enough. Do not add batch tracking just because the software offers it; every extra field is another chance of a data-entry error.

How do you set up batch-wise stock records?

  1. Flag the items in your item master that need batch tracking.
  2. Capture batch details at goods receipt: batch number, manufacturing date, expiry date, quantity, purchase rate and MRP if printed.
  3. Check the supplier invoice against the physical packs. A typo in the batch number now becomes a recall problem later.
  4. Store physically by batch, with earliest expiry at the front of the shelf.
  5. Select the batch at billing. Scanning or software should suggest the earliest-expiring batch by default.
  6. Run an expiry report weekly: batches expiring in the next 30, 60 and 90 days.
  7. Act on near-expiry stock: discount, transfer to a faster-selling branch, or return to the supplier within their return window.
  8. Record write-offs for expired or damaged units with a reason and approval.

The GST accounts and records rules require registered persons (other than composition taxpayers) to keep a stock account showing goods lost, stolen, destroyed, written off or disposed of. Expired stock that you destroy belongs in that account, not silently deleted. The general record rules are covered in GST record keeping rules.

FIFO vs FEFO: which picking rule should you use?

FIFO issues the stock that arrived first. FEFO issues the stock that expires first. Usually they give the same result, but not always.

Example: a Nashik medical store receives Batch A on 1 June expiring March 2027, and Batch B on 15 June expiring December 2026 (the distributor cleared older stock). FIFO would sell Batch A first; FEFO correctly sells Batch B first because it expires three months earlier.

For anything perishable, pick by FEFO. Keep in mind this is a physical picking rule. How you value your inventory for the accounts (FIFO or weighted average under AS 2) is a separate decision, explained in stock valuation methods.

Worked example: near-expiry loss and how alerts change it

A Nagpur pharmacy stocks a cough syrup bought at ₹72 per bottle (excluding GST, which it claims as credit), selling at ₹95.

Current stock:

Batch Qty Expiry Cost value
CS-2411 40 30 Nov 2026 ₹2,880
CS-2502 120 31 Aug 2027 ₹8,640
Total 160 ₹11,520

The pharmacy sells about 2 bottles a day. Without batch-level alerts, staff pick from the front, which happens to be the newer batch. By 30 November all 40 bottles of CS-2411 are still there and expire: a loss of ₹2,880 at cost, plus the margin it could have earned.

With a 60-day alert on 1 October, the owner sees 40 bottles expiring in 60 days with sales of 2 a day — just enough if every sale comes from CS-2411. He moves that batch to the front and sells it first. If sales slow, he can still return the remainder under the distributor's policy before expiry.

Even recovering half the batch saves ₹1,440 at cost on one product. Across a few hundred SKUs, expiry alerts often decide whether a pharmacy's year is profitable.

How do you value near-expiry and expired stock?

Under AS 2, inventories are measured at the lower of cost and net realisable value (NRV). NRV is the estimated selling price in the ordinary course of business less the estimated costs of completion and of making the sale. AS 2 notes that cost may not be recoverable when goods are damaged, obsolete, or their selling prices have fallen.

For batch-tracked goods this means:

  • Fresh stock: value at cost.
  • Near-expiry stock you will sell at a discount: if the discounted price minus selling costs falls below cost, write down to that lower amount.
  • Expired stock with no return option: NRV is usually nil, so write it off.
  • Expired stock returnable to the supplier for credit: NRV is roughly the expected credit.

Batch-wise records make this straightforward at year end, because the expiry report tells you exactly which lots to test. See the year-end closing checklist for where this fits.

How are expired goods returns handled under GST?

When a retailer sends time-expired goods back to the wholesaler or manufacturer, CBIC Circular 72/46/2018-GST describes two options:

  1. Return as a fresh supply. The returning retailer issues a tax invoice for the goods, charging GST, and the supplier can take input tax credit on it, subject to the normal conditions.
  2. Credit note by the original supplier. The supplier issues a credit note under section 34 of the CGST Act. Whether that credit note can reduce the supplier's output tax depends on it being declared within the time allowed by section 34(2) — since 1 October 2022, not later than 30 November following the end of the financial year of supply, or the date of filing the annual return, whichever is earlier (the 2018 circular still refers to the older September limit); the circular also discusses the case where it cannot, and the supplier then issues a financial credit note without tax adjustment.

Agree the route with your distributor in writing, and match it in your books. Credit-note mechanics are explained in our guide to the credit note under GST.

If expired goods are destroyed rather than returned, talk to your accountant about input tax credit. Section 17(5) of the CGST Act blocks credit on goods "lost, stolen, destroyed, written off or disposed of by way of gift or free samples", so credit already taken on destroyed stock may have to be reversed. Read more in blocked input tax credit.

How does batch tracking help with recalls?

A recall notice names specific batches. With batch-wise sales records you can:

  • see how many units of the recalled batch are still in stock and quarantine them,
  • list the invoices (and customers, where recorded) that received that batch,
  • return the stock to the supplier with exact quantities.

Without batch data, the only safe option is to pull every unit of the product. That is costly and slow.

How can software automate batch tracking?

Doing this on paper is possible for a handful of products, but a pharmacy with a thousand batches needs software. Billing Software by Betterwork supports inventory with batch and expiry, so the batch is captured on purchase entry, suggested at billing, and reported before it expires. Pair it with barcode billing so counter staff do not have to type batch numbers.

What should a batch-wise expiry report show?

A useful expiry report is short and sortable. At minimum it should list:

Column Purpose
Item and batch Identifies the exact lot
Expiry date Sort key for action
Days to expiry Groups into 30/60/90-day buckets
Quantity in stock How much is at risk
Cost value Rupee exposure
Average daily sales Whether it can sell through in time
Supplier and return terms Whether returning is an option

The most useful derived column is days of cover: quantity divided by average daily sales. If a batch has 60 days of cover but only 40 days to expiry, about a third of it will not sell at the current pace. Those are the lines to act on first, before the batch that simply looks oldest.

Common mistakes

  • Entering batch details only on some purchases, which leaves "unknown batch" stock that never clears.
  • Picking by convenience instead of FEFO, letting older lots expire behind newer ones.
  • Missing the supplier's return window because alerts are set too close to expiry.
  • Deleting expired stock from the register instead of recording it as written off.
  • Ignoring input tax credit implications on destroyed goods.
  • Typing batch numbers by hand at the counter, causing mismatches between book and physical stock.
  • Valuing expired goods at cost at year end, which overstates profit.

Key takeaways

  • Track batch number, expiry and cost for every lot of perishable or regulated stock.
  • Pick by FEFO for perishables; valuation (FIFO or weighted average) is a separate accounting choice.
  • Run 30/60/90-day expiry reports and act early: discount, transfer, or return.
  • Write near-expiry and expired stock down to net realisable value under AS 2.
  • Record write-offs in the GST stock account and check whether credit must be reversed.
  • For returns of expired goods, follow one of the routes in Circular 72/46/2018-GST and document it.

This guide is general information, not tax advice. Rules last checked on 20 October 2026; confirm with your tax professional for your situation.

Official sources

Batch and Expiry Tracking: FAQ

What is the difference between FIFO and FEFO?

FIFO (first in, first out) sells the oldest received stock first. FEFO (first expiry, first out) sells the stock that expires soonest, even if it arrived later. For perishables FEFO is safer, because a later delivery can carry an earlier expiry date. FIFO as a valuation formula under AS 2 is a separate accounting question from how you physically pick stock.

Can I return expired medicines to the distributor under GST?

Yes. CBIC Circular 72/46/2018-GST explains two routes: treating the return as a fresh supply with a tax invoice by the retailer, or the supplier issuing a credit note under section 34. The circular also discusses the time limits within which a credit note can reduce the supplier's tax liability. Agree the route with your distributor before goods leave.

How many days before expiry should I get an alert?

It depends on the product and on your return terms. Many sellers use a first alert at 90 days and a second at 30 days, but the right window is whatever gives you time to discount, transfer or return the batch before the supplier's return deadline. Set alerts category-wise rather than one number for every item.

Do I need batch numbers on my sales invoice?

GST invoice rules do not list batch number as a mandatory field for most goods, but printing the batch and expiry on the bill is good practice for medicines, food and cosmetics. It lets you trace a recall to individual customers and resolve complaints quickly. Check any product-specific regulation that applies to your trade.

How should expired stock be shown in the books?

Write it down to its net realisable value, which is often zero, under AS 2. Record the quantity as written off or destroyed in your stock account, keep the destruction or return documents, and check with your accountant whether input tax credit on those goods must be reversed.

Book DemoClaim ₹9,999 Offer
Chat for offersReply in minutes on WhatsApp