PharmacyInventoryTatva ERP
Batch and expiry billing for medical stores and distributors
Batch-wise stock is what separates pharmacy and FMCG billing from ordinary retail. FEFO picking, expiry blocking, MRP per batch, and the four reports that stop money expiring on your shelf.
- Author
- Kentron Technologies
- Published
- Reading time
- 5 min read
Batch-wise billing means the software tracks stock not by item but by item and batch together, each batch carrying its own expiry date, its own MRP and its own purchase rate. For a medical store, an FMCG distributor or a dairy, that is not a refinement; it is the whole inventory. A strip of the same medicine bought in March and in August are two different things on your shelf, and the bill has to say which one left the counter.
Why the batch matters after the sale
- Expiry claims. A supplier will accept an expired return only against the batch and the purchase bill it came in on. Without the batch on the record, that money is gone.
- Recalls. When a batch is withdrawn, the question is which customers bought it. Only batch-level sale records answer it.
- MRP. Two batches of one product routinely carry different printed prices. Billing at the wrong MRP is a customer dispute at the counter and a legal metrology problem beyond it.
- Margin. Purchase rates move between batches. Gross margin computed on the item average is a guess; on the batch it is a fact.
- Drug records. A chemist's statutory registers are batch-wise, and reconstructing them at inspection time from item-level data is not possible.
FEFO, and why it is not FIFO
FIFO, first in first out, issues the oldest purchase first. FEFO, first expiry first out, issues the batch that will expire first. They are usually the same batch and occasionally they are not: a consignment bought later can carry a shorter shelf life. For anything with an expiry date, FEFO is the correct rule and FIFO is an accounting convention that happens to be used for valuation.
In practice the software should pick the FEFO batch by default when the item is selected, show the operator which batch it picked with its expiry and MRP, and allow a deliberate change when the customer asks for a longer-dated pack. What it should not do is make the operator hunt through a list of batches on every line. At a busy counter, that is the difference between a thirty-second bill and a two-minute one.
Expiry blocking, and the grace nobody talks about
Selling an expired pack is a compliance failure, so billing software should refuse it outright rather than warn. The harder question is the pack that expires this month. Most shops want it flagged and still sellable, because a medicine expiring on the last day of the month is legal to sell today. Decide the rule for your business and make sure the software can express it.
| Situation | What the software should do |
|---|---|
| Batch expired | Refuse the line, no override at the counter |
| Batch expiring this month | Warn, allow, and record who allowed it |
| Batch with no expiry entered | Refuse the purchase entry, not the sale: fix it at the source |
| Expired stock in hand | Keep it out of sellable stock and on an expiry return list |
Getting the batch in at purchase
Everything downstream depends on the purchase entry, which is the slowest screen in a distribution business and the one most worth optimising. A good purchase line captures batch number, expiry, MRP, purchase rate, quantity and free quantity in one pass, with the expiry typed as 05/27 rather than picked from a calendar. Free quantity should become a line at zero rate so that stock is right and the taxable value is not overstated.
Tatva ERP enters purchases this way and can import a supplier's bill from Excel, using a saved column layout per supplier, or read it from a PDF or a photograph when that is what arrives on WhatsApp. Every imported row is reviewed on screen before it is saved, because a wrong expiry imported silently becomes a wrong sale months later. Batch billing is a setting on the company, alongside presets for pharmacy strips and tablets, for FMCG and dairy, and for garments where sizes replace batches and nothing expires.
The four reports to read every week
- Batch-wise stock, with quantity, MRP, rate and expiry, for the shelf count.
- Expiring in the next ninety days, sorted by value, which is your return-to-supplier list.
- Expired stock in hand, which should be zero and rarely is.
- Slow-moving batches: bought more than a quarter ago with more than half the quantity still in hand.
The second report is the one that pays for the software. Most suppliers accept returns within a window before expiry, and most shops discover the window has closed. A dashboard that shows expiring batches without anyone running a report, which is how Tatva ERP presents it, turns that from a monthly scramble into a weekly habit.
Hospitals have the same problem inside their own pharmacy, with the added twist of ward indents and patient billing. That version is covered in hospital pharmacy software, batch, expiry and GST billing.
Frequently asked questions
Does a small chemist shop really need batch-wise stock?
Yes, and for a small shop the reason is money rather than compliance. Without batches you cannot claim expiry returns from your supplier, and that loss is usually larger than the price of the software over a year. It also makes the statutory registers possible to produce.
What is the difference between FEFO and FIFO in billing software?
FEFO issues the batch with the nearest expiry date. FIFO issues the batch purchased first. Use FEFO for picking any stock that expires and FIFO or weighted average for valuation. Good software does both without asking the operator to think about it.
Can two batches of the same item have different MRPs?
They routinely do, and the software must bill each batch at its own MRP. If your system stores one price on the item, every rate revision and every supplier price change turns into a counter dispute. Tatva ERP stores rates at both item and batch level, with four rate levels for different classes of customer.
How do I handle expired stock in the accounts?
Move it out of sellable stock as soon as it expires, keep it on an expiry return list against its purchase bill, and either return it to the supplier for credit or write it off. The write-off has input tax credit consequences, so agree the treatment with your accountant rather than leaving expired packs sitting in stock for another year.
