Pharma · 25 July 2026
How to Track Medicine Batches and Expiry Dates
Why quantity alone is not enough for medicine wholesale — batch-wise stock, expiry dates, near-expiry visibility, and supplier-to-customer traceability.
A medicine distributor who only tracks “Panadol: 500 units” cannot answer basic questions: which lot is oldest, what expires next month, and which supplier batch went to which pharmacy. Quantity is necessary — it is not enough.
Why product quantity alone is insufficient
Two batches of the same SKU can have different expiry dates and different purchase costs. If stock is a single number, staff pick whatever is easiest to reach. Earliest expiry stays on the shelf until it is worthless. Regulators and customers also expect batch identity when something goes wrong.
Batch-wise stock
Batch-wise inventory means each receipt creates (or increases) a lot with its own batch number and quantity. Sales deduct from specific lots. Reports can show on-hand by batch, not only by product. That is the foundation for FEFO and for answering recall questions.
Expiry dates and near-expiry stock
Every batch should carry an expiry date entered at purchase. Near-expiry lists help you push sales, negotiate returns, or stop replenishing a slow SKU. Expired lots should not remain in the saleable pool — they inflate “stock” that you cannot safely sell.
See it in ProDistro
ProDistro’s pharma distribution software for Pakistan supports batch-wise inventory and expiry when a shop is set up as a medicine distributor.
Supplier-to-customer traceability
When a purchase records batch and expiry, and a sale allocates from that batch, you can reconstruct the path from supplier receipt to customer invoice. That trail matters for complaints, recalls, and internal audits — even for a regional wholesaler.
Returns
Expiry and damage returns are easier when stock was never mixed into a single anonymous pile. You know which batch came back and whether it was already near expiry when it left your warehouse. Pair inventory discipline with clear expiry-loss practices and FEFO sales.

How do you record a batch so a later sale can find it?
Quantity on its own is enough for a product that does not expire. It is not enough for medicine. Two receipts of the same tablet can be different stock: different batch, different expiry, sometimes a different price. If you add them into one number and throw away the batch, you cannot prefer the earlier expiry, you cannot file a return against the lot the principal shipped, and you cannot tell a chemist which lot they received when they complain.
Capture the batch on the purchase, at the moment the cartons are in front of you. Read the batch and the expiry off the pack. Type the quantity in the unit you sell. If the receipt has three batches, enter three lines. A single line that says the total quantity and leaves the batch blank is not a batch record. It is the mixed pile you were trying to leave. Refuse a blank expiry if your rule is that every medicine receipt has a date. A batch with no date cannot be sorted honestly later.
The stock list then shows those lines separately, or it shows the product with the batches underneath it. Either way, a sale should be able to take quantity from one batch without silently taking it from another. FEFO can suggest the earliest valid expiry. The suggestion is only possible because the purchase stored the date.
What do you store so a complaint has a trail?
Store the supplier, the batch, the expiry, and the quantity received. When a sale allocates from that batch, the invoice is the other half of the trail: which customer, which quantity, which day. A complaint then has a path from the chemist back to the receipt, instead of a search through cartons that all look the same. You do not need a separate recall product to want this. You need it the first time a customer says the strips they bought last week are not the strips you think you sold.
Returns use the same path. If the goods come back, you should know whether that batch can be sold again or whether it was already short-dated when it left. Putting a return into an anonymous quantity deletes the only fact that made the return decidable. Near-expiry visibility is the same data, read as a list ordered by date, with the quantity still saleable. That list is how you act before the date, which is covered on reducing expiry losses.
What should you check in a demo?
Ask for one product and two batches with two expiries. Receive both. Sell a small quantity and see which batch was suggested. Then ask what the screen shows if one batch is already expired. The expired lot should not be offered as saleable. If the demo can only show a single quantity with no batch field, it is not tracking batches, regardless of what the brochure calls the module.
After that, open the purchase and the sale and walk the batch from one to the other. If you cannot, you will not be able to do it on a real complaint either. The Pakistan product page is pharma distribution software. General wholesale that does not sell medicine can skip this and still track cartons and pieces. Do not skip it for a medicine catalog.
What do you do when the pack has no readable batch?
Do not invent one to finish the receipt. Set the cartons aside and ask the supplier for the batch and the expiry before you put them into saleable stock. A made-up code will be the code you quote in a complaint, and it will not match anything the principal shipped. If you must hold the goods, hold them out of the saleable quantity so a counter person cannot invoice them while the date is unknown. Selling first and “fixing the batch later” is how the trail breaks on the only invoices that will need it.
When two packs share a batch and the expiry is the same, one line with the combined quantity is enough. When the expiry differs, they are different lines even if someone wrote the same batch code on both. Sort by the date you will be held to, not by the code alone. A code with two dates cannot tell FEFO which carton to open. Split the line before anyone sells from it.
At the end of the week, look for products whose on-hand quantity is larger than the sum of the batches. That gap is stock with no lot. It usually comes from an adjustment, an opening balance, or a receipt that skipped the batch field. Fill it in from the cartons if you still can. If you cannot, you do not have batch tracking for that quantity, and a recall on that product will stop at “we had some.” The goal of the field is that this gap stays at zero for medicine.
When you train someone new, have them receive one product with two expiries and then sell one unit. Ask them which expiry the sale used, and where they would look if a chemist called about that unit next week. If they can point at the purchase and the invoice, the batch field is doing its job. If they point at a notebook, the receipt never captured the lot and the screen will not help on the day you need it.