Batch-wise billing at a busy medical counter
Batch-wise billing records the exact batch handed over. Why to pick it at the counter, how first-expiry-first-out works, and what a wrong batch costs.
Batch-wise billing means every line on a medical store bill carries the exact batch, with its expiry and MRP, that went into the customer's hand. The batch has to be chosen at the counter, during billing, because that is the only moment the strip and the record are in the same place. Good batch-wise billing software for a medical store suggests the earliest-expiry batch by default, so the person at the counter only has to confirm it, and the queue keeps moving.
Why must the batch be picked at the counter?
A medicine is not a single stock item. The same brand and strength can sit on your shelf in three batches, each with its own expiry, its own MRP and sometimes its own purchase rate. If the bill only says the product name, your software has to guess which batch was sold, and so does anyone who checks later.
Picking the batch at billing does three things:
- Stock stays true per batch. When you count the shelf, each batch's quantity matches the record, so near-expiry reports and returns to the supplier are based on real numbers.
- The customer pays the right MRP. When the MRP changes between batches, billing the wrong batch can mean charging the old or new price on a strip that carries a different one.
- The sale is traceable. If a batch is ever recalled or questioned, you can see who bought it and when, instead of searching through paper.
Leaving it for later does not work. At closing time, nobody remembers which of forty sales of a common tablet came from which batch.
What is first-expiry-first-out picking?
First-expiry-first-out (FEFO) means you sell the batch that expires soonest before the ones that expire later. It is not the same as first-in-first-out, because a delivery that arrived last week can carry a batch with a shorter date than one already on the shelf. For medicines, the expiry date is what matters, not the date the stock came in. Our explainer on FIFO, LIFO and FEFO covers the difference in more detail.
Two practical limits apply:
- Enough life left for the course. If the earliest batch would expire before a customer finishes a long course, skip it for that sale and use it for a shorter one.
- The shelf should match the system. FEFO in the software only works if the earliest-expiry strips are at the front of the shelf. Arrange stock when you receive it, not when a customer is waiting.
For how to set up batches and expiry tracking from the purchase entry onwards, see pharmacy inventory: batch and expiry done right.
What happens when the wrong batch is billed?
The bill looks fine and the customer leaves happy, so the error stays hidden until something else goes wrong. Here is an illustrative example, with made-up numbers.
A shop has a tablet in two batches:
| Batch | Expiry | On shelf | In system |
|---|---|---|---|
| A (earlier expiry) | Sooner | 10 strips | 10 strips |
| B (later expiry) | Later | 20 strips | 20 strips |
The counter hands over 4 strips from batch A but bills batch B. Now:
| Batch | On shelf | In system |
|---|---|---|
| A | 6 strips | 10 strips |
| B | 20 strips | 16 strips |
Total stock still matches, so a quick count by product shows no problem. But the near-expiry report says 10 strips of batch A need clearing when only 6 exist, and batch B looks lower than it is, which can trigger an unnecessary reorder. When batch A expires, the system expects 10 strips to return or write off, and you can only find 6. Repeat this across a busy month and the batch records stop being useful at all.
The other costs are less visible:
- Expiry loss. If staff keep picking the newer strip because it is easier to reach, the earlier batch ages on the shelf and expires unsold.
- MRP mismatch. If the two batches carry different MRPs, the bill can show a price that does not match the strip, which customers notice.
- Weak recall response. If a batch is withdrawn, your sales records point to the wrong customers.
A counter-flow checklist for batch-wise billing
Keep this short enough to follow during a rush:
- Search or scan the product. Let the software list its batches with expiry and MRP.
- Accept the suggested batch only after checking the strip. Match the batch number printed on the pack to the one on screen.
- Check the expiry against the course. If the dose runs long, choose a batch with enough life left.
- Check the MRP on the strip. It should match the line on the bill.
- Split the line if you split batches. If 3 strips come from one batch and 2 from another, bill them as two lines.
- Print or share the bill with batch and expiry shown. It helps the customer and any later return.
- Return unsold strips to the right place. Earliest-expiry stock goes to the front.
If step 2 regularly fails, the problem is usually at receiving: batches entered wrongly at purchase, or shelves not arranged by expiry.
What should batch-wise billing software do at the counter?
Without going into any particular product, the basics to look for are:
- A batch list on the billing screen showing expiry, MRP and quantity on hand for each batch.
- A default suggestion of the earliest-expiry batch with stock left.
- Barcode scanning that picks the batch directly where the pack's barcode supports it.
- Blocking or warning on sale of expired stock.
- Easy splitting of one item across two batches on the same bill.
- Batch shown on the printed bill and on sales returns.
If you are still deciding between spreadsheets and a dedicated system, our comparison of Excel and inventory software and the guide to choosing inventory software in India cover what to test before you buy.
Common mistakes at the counter
- Billing by product name only. Fast in the moment, but it breaks every batch report later.
- Trusting the default without looking at the strip. The suggestion is only as good as the shelf arrangement.
- Picking the batch at the front of the drawer. The newest delivery often ends up at the front, which works against FEFO.
- Fixing errors with stock adjustments. Adjusting quantities to make totals match hides the cause. Correct the bill or note the batch swap instead.
- Skipping batch on returns. A returned strip billed back into the wrong batch creates the same mismatch in reverse.
When this does not apply
Batch-wise billing matters for medicines and other dated, batch-coded items. For general goods in a medical store that carry no batch or expiry, such as some accessories, a single stock line is enough, and forcing batch selection only slows the counter. Set batch tracking per item, not across the whole shop.
FAQ
Why can't the batch be corrected at the end of the day? By evening, nobody remembers which strip went to which customer. The bill is already printed with a batch on it, and stock for two batches is now wrong in opposite directions. Fixing it later means guessing. Picking the batch while the strip is in your hand is the only time the record and the shelf can be made to match.
Should the oldest batch always be billed first? Not the oldest by purchase date, the one with the earliest expiry. Usually they are the same, but not always, because a later delivery can carry a shorter-dated batch. First-expiry-first-out sells the stock closest to expiry first, provided it still has enough life left for the customer to finish the course.
What if two batches have the same MRP and the same expiry? Then the choice matters less for loss, but it still matters for the record. Bill the batch you actually hand over, so stock for each stays correct and any recall or supplier query can be traced. A sensible default is to finish the batch with fewer units left so the shelf has fewer open batches.
Does batch-wise billing slow down the queue? It does when staff have to search for the batch number. It does not when the system suggests the earliest-expiry batch by default and the person at the counter only confirms it against the strip, or scans it. The slow part is checking by hand; the confirmation itself takes a moment.
Related reading: pharmacy inventory: batch and expiry done right and FIFO, LIFO and FEFO: which one your business needs.