Picture a pharmacist counting strips of a calcium supplement on the last shelf — all expired by three months. The batch had arrived six months earlier, sat behind a newer purchase of the same product, and never moved. The distributor refused the return. The strips went into the bin.
That is not a storage problem. That is a reporting problem. A monthly expiry audit — specifically a batch-wise expiry report run at the end of every month — would have flagged that batch when it still had 90 days left. The pharmacist never ran one because pulling batch data from his billing software took the better part of a morning.
If you found this post by searching for a faster way to do a monthly expiry audit or batch report, keep reading. What follows is what that missing report is actually costing you — and what 15 minutes at EOM can recover.
---
The Expired-Stock Write-Off You're Treating as a Cost of Business
Walk to the back of any neighborhood pharmacy in Chennai, Nagpur, or Ludhiana and you will find a cardboard box. It holds expired strips, vials, and sachets. It is easy to call it "normal shrinkage". But every strip in that box was bought at full purchase rate, and the loss repeats every month the box keeps filling.
A batch-wise expiry report fixes exactly this. It surfaces every batch in your inventory, sorted by expiry date. One thing worth settling before you start the count: a pack printed 08/2026 or AUG26 is sellable to the last day of that month, not the first — the free expiry date decoder takes the expiry exactly as printed and returns that date.
---
The Compliance Exposure That a Missing Batch Report Creates
Selling expired medicine in India is not a civil matter — it is an offence under the Drugs and Cosmetics Act. Every Schedule H and H1 supply must also be recorded under Rule 65 of the D&C Rules, with the batch number and expiry, and Schedule H1 supplies go in a separate register kept for three years. A batch report is part of demonstrating that your stock management meets that standard.
Drug inspectors have the power, under Section 22 of the Drugs and Cosmetics Act, to inspect any premises where drugs are sold or stocked. If an inspector pulls a Schedule H1 item from your shelf and you cannot produce batch-level movement records, the burden of proof is on you.
A monthly EOM batch report, printed and filed, is the simplest paper trail you can maintain:
- Batch number and expiry date for every SKU in stock
- Quantity on hand per batch
- Date the report was generated
This takes 15 minutes if your software supports it. It takes half a day if it doesn't.
---
The GST and Return Credit Mess That Bad Batch Tracking Causes
When you return expired stock to a distributor, they issue a credit note. That credit note affects your GST input tax credit. Most medicines sold in India are taxed at 5% under GST (since 22 September 2025, when the 12% slab was withdrawn after the 56th GST Council), and medicines fall under HSN 3004. When a return is processed without a matching batch number and invoice reference, the reconciliation between your purchase register and the credit note becomes difficult. Discrepancies here can trigger notices during GST scrutiny.
The root cause is usually the same: the pharmacy's billing software records sales but does not track which batch a sale consumed. So when a return happens, there is no batch-level audit trail to reconcile against.
A clean monthly batch report gives your accountant the exact batch, quantity, and purchase date for every return. That makes the credit note match. That keeps your GSTR-2A reconciliation clean.
---
What the 15-Minute EOM Audit Actually Looks Like
Here is the difference between a pharmacy that runs a monthly expiry audit and one that doesn't:
| Without Batch Report | With Batch Report |
|---|
| No paper trail for inspector | Printed batch register on file |
| GST credit note reconciliation manual and error-prone | Batch reference on every return, accountant reconciles in minutes |
| Owner spends hours at month-end manually checking shelves | A list sorted by expiry date, generated from software |
The pharmacist who runs this audit on the last working day of each month does three things: generates the report, marks the 30–90 day window items for prioritized sale or return, and files the printout. That is the entire process. The constraint is whether the software can generate that report in one click or whether it requires exporting raw data to a spreadsheet and sorting manually.
---
How Nesayo's Expiry Guard Handles This
The Expiry Guard agent — one of five AI agents in Nesayo — does not wait for the end of the month. It checks stock every six hours, sorts batches nearing expiry into 30, 60 and 90-day groups, and suggests a discount or a return for each, and the Morning Briefing puts the list in front of the pharmacist at the start of the day. Nothing changes until the pharmacist approves it.
Billing in Nesayo uses FEFO (First Expiry, First Out) batch selection automatically. When a sale is entered — typed, spoken in Hindi or English, or read from a prescription photo — the system picks the earliest-expiring batch first, and a batch whose expiry month has passed is refused at billing. A pack printed EXP 08/2026 stays sellable through 31 August 2026. That single behavior, applied to every transaction, is the mechanical reason older batches stop getting stranded behind newer ones on the back shelf.
At month-end, the stock page's expiring view (opened from the dashboard's expiry alert) lists every batch expiring within the next 60 days, with its expiry date and quantity, and the expired view (opened from the dashboard's expired-stock alert) lists anything already past its month. Schedule H1 sales are logged at billing (patient, prescriber, medicine, batch, quantity); the pharmacist adds the prescriber's address. Billing is free forever (as of October 2026; see pricing at nesayo.com/pricing). Paid plans start at ₹249 per month for the Essential plan; Expiry Guard comes with the Full plan, which has all five agents, at ₹549 per month (as of October 2026; current pricing at nesayo.com/pricing).
---
The Choice in Front of You Right Now
If you do nothing, next month looks like this month: a cardboard box at the back, a distributor call that goes badly, and a number on your P&L labeled "expired stock" that you have learned to accept. The write-off compounds. The compliance exposure stays live. The GST reconciliation stays messy. If you run a monthly expiry audit — even manually — you will recover a portion of that loss. If you run it with software that automates the batch tracking and the return flagging, the audit becomes a short review and the Expiry Guard agent keeps watch between audits.
Go to nesayo.com/demo — a sample pharmacy is pre-loaded, no signup required. Open the dashboard and tap the expiring-stock alert — the stock page opens showing the batches expiring within 60 days — and see what your return queue would look like this month. It takes two minutes.
---
FAQ
Won't migrating my data take forever — and will I lose what I have?
The Nesayo team moves your data across from your current pharmacy software for you, free. Your stock is mapped to Nesayo's batch structure, and nothing in your old software is deleted. If you have a CSV or Excel export from your current software, that is usually enough to start, and a photo of a purchase invoice can be read in too. Support is on WhatsApp and email while you move.
What happens during a power cut or internet outage — my billing can't stop?
Nesayo runs as a PWA (Progressive Web App) with an offline billing fallback on any device — phone, tablet, or laptop. Bills saved while the connection is down are queued on the device and sync automatically when connectivity returns; keep the billing page open until the internet is back.
What is the catch with free billing — why would you give that away?
There is no catch in the sense of a hidden fee or a data-selling arrangement. Billing is free because Nesayo's paid revenue comes from the AI agent plans (Essential ₹249/mo, Full ₹549/mo, Chain ₹2,999/month + ₹999/month per additional store — as of October 2026; see nesayo.com/pricing for current rates). A pharmacy that bills for free and never upgrades is still a customer we want — the network effect of more pharmacies on the platform benefits everyone. Expiry Guard, Morning Briefing, and the other AI agents are where the paid value sits, and you can verify exactly what is included before committing.