Does Tally track expiry dates? What its batch feature does and doesn't do
Tally lets you enter batch expiry dates, but it won't alert you before stock expires. Here's what it does, what it doesn't, and what shop owners add on.
ShelfLifePro Editorial Team
Inventory management insights for retail and pharmacy
The short answer, and why it needs a longer one
Yes, Tally tracks batch expiry dates. You can enter a batch number and expiry date when you create a stock item, and that information sits in the system. If you pull up a batch report, you'll see it.
But that's where most shop owners hit the wall. Tally recorded the date. Tally did not remind you that three cases of that product expire in eighteen days. Nothing flagged it. Nothing moved it to the front of a picking list. The date just sat there, quietly, until either you remembered to look or you found the stock while doing a physical count with a sinking feeling in your stomach.
This is not a knock on Tally. It's an accounting and GST tool, and it is genuinely excellent at both. The batch expiry field exists because pharma and FMCG businesses need it for statutory purposes, not because Tally was designed to run your store's shelf-life discipline. Understanding that distinction saves a lot of frustration.
What Tally's batch tracking actually does
When you enable batch-wise tracking in Tally, you can assign a batch number and a manufacturing or expiry date to each stock entry. This flows through your purchase vouchers, sales vouchers, and stock transfers. The information is there in the ledger.
Where it shows up:
- Stock summary with batch details, if you've configured it
- The Batch/Lot report, which lists batches with their expiry dates
- Purchase and sales vouchers, where the batch number prints on the document
For GST filing and distributor documentation, this is genuinely useful. Your invoices carry the batch number. Your returns reference the right batch. An auditor or FSSAI inspector asking for batch traceability on a recalled product can get that information out of Tally.
For day-to-day shelf management, it's a different story.
What it doesn't do
Tally will not send you an alert when a batch is thirty days from expiry. It won't surface those items at the top of your picking list so staff sell them first. It has no concept of FEFO, which stands for First Expiry First Out, the discipline of always selling the batch that expires soonest before opening a fresher one.
Say Priya runs a grocery store in Nashik with a decent-sized dairy and packaged foods section. She's on Tally, diligent about entries, GST filed on time every quarter. But her staff pulls stock from whichever carton is easiest to reach, not the one expiring soonest. By the time someone checks the batch report, two cases of flavoured milk are four days from their date. She's either discounting hard or writing them off. The information was in Tally the whole time. It just never surfaced when it could have helped.
This is the gap most shop owners discover not by reading about it but by having a bad month.
Get the free expiry-tracking spreadsheet
Batch-level rows, days-left and status formulas, colour-coded alerts, and a live value-at-risk summary. Works in Excel and Google Sheets. See what's inside.
Instant download. No spam, unsubscribe in one click.
The workarounds people try
Some Tally users build custom reports or hire a Tally customisation partner to add expiry alerts. This can work, but it's a project, not a switch you flip. You're looking at a few thousand rupees minimum, a timeline, and a dependency on whoever built it when something needs changing.
Spreadsheets are the other common approach. Someone maintains a separate sheet with batch numbers and expiry dates, manually updated whenever stock comes in. This works until the person who maintained it goes on leave, or entries get missed during a busy week, or the sheet and Tally quietly drift apart because nobody reconciles them.
Both approaches share the same problem: the work of maintaining them falls on a person, and people have other things to do.
What the disciplines look like when they're actually working
The operations that handle expiry well, whether they're running Tally, some other billing software, or a combination, tend to have a few things in common.
First, receiving is where the discipline starts. When a delivery comes in, batches are checked against the purchase order and expiry dates are noted before anything goes to the shelf. Catching a short-dated batch at the gate is a conversation with the delivery driver. Catching it three weeks later is a fight with the distributor about whether they'll take it back. The documentation your distributor actually needs for an expiry return is a lot easier to assemble when you logged the batch at entry, not after the dispute started.
Second, someone looks at a near-expiry list regularly, not monthly, at least weekly. In a pharma or specialty retail context this might be daily. The list needs to be automatic, not something you generate by pulling a report and sorting a column. If generating the list requires effort, it gets skipped.
Third, FEFO has to be enforced at the shelf, not just known in principle. Staff need to know which batch goes first, and the picking system needs to tell them. This is operationally simple but requires the expiry data to be live and visible at the point of picking, not buried in an accounting system.
For stores selling cosmetics or personal care, the batch discipline also needs to account for Period After Opening, which is a different clock entirely. That's a separate problem worth looking at if those categories are meaningful for you, and there's more on it in the cosmetics expiry and batch discipline post.
Where Tally fits and where something else needs to sit alongside it
Tally is not going away, and for most Indian shop owners it shouldn't. GST filing, accounts payable, receivables, purchase orders, customer ledgers: Tally handles all of this well and your accountant already knows it.
What some store owners do is keep Tally for the accounting layer and add a dedicated expiry-tracking layer that handles the alerting and FEFO discipline. The two systems share the same underlying inventory, but they do different jobs. Tally looks backwards at what happened. The expiry layer looks forward at what's about to go wrong.
The morning briefing model is one version of this. Instead of pulling reports manually, a store gets a daily summary of what's expiring in the next thirty, sixty, and ninety days, what needs to be moved to the front of the shelf, and what's genuinely at risk of becoming a write-off. You can see what that kind of report actually surfaces in the morning briefing walkthrough.
For a 20-store supermarket chain carrying 4,000 SKUs, say average shelf price of Rs 120 per unit and a write-off rate of 1.5 percent of stock, the monthly write-off figure is substantial enough that a dedicated tracking layer pays for itself quickly. That's an illustration, not a real client number, but the arithmetic is straightforward enough to run for your own store.
The question worth asking your own setup
Open Tally right now and pull up your batch report. Find anything expiring in the next forty-five days. Now ask whether your staff knows which shelf those items are on and whether they're being sold first.
If the answer is clear, your current setup is working. If there's a pause before you answer, that's the gap.
Tally recorded the date. The question is what happens between that entry and the moment the stock either sells or doesn't.
Pairing Tally's accounting with batch-level expiry alerting closes the gap: ShelfLifePro runs alongside Tally, tracks every batch's date, and tells you before the window closes. Start free at shelflifepro.in.
The shopkeepers and stores named in this article are illustrative composites of common operator patterns, not real customers.
ShelfLifePro Editorial Team
The ShelfLifePro editorial team covers inventory management, expiry tracking, and waste reduction for pharmacies, supermarkets, and retail businesses worldwide.
See what batch-level tracking actually looks like
ShelfLifePro tracks expiry by batch, automates FEFO rotation, and sends markdown alerts before stock expires. 14-day free trial, no credit card required.
Get the monthly expiry brief
One short email every Tuesday. FEFO tactics, markdown math, and stories from Indian retailers. No spam.
No spam. Unsubscribe in one click. Email only, no WhatsApp spam.
Get expiry tips on WhatsApp
One short voice + text tip every Tuesday morning. Indian retail wins, Tally hacks, monsoon stock plays, straight to your phone.