In pharma the batch is the unit that matters, not the item. Stock is valued by it, picked by it, returned by it and recalled by it — and a system that treats batch as an optional extra field will fail you on the day it matters most.
| Product | Batch | Expiry | Value |
|---|---|---|---|
| Paracetamol 500mg | PCM-2508 | Aug 2026 | 18,600.00 |
| Amoxicillin 250mg | AMX-2507 | Jul 2026 | 42,180.00 |
| Cough syrup 100ml | CSY-2509 | Sep 2026 | 11,240.00 |
One product holds a dozen live batches at different rates and expiries, and the invoice records which one actually went out.
The earliest-expiring saleable batch is suggested at billing, so short-dated stock leaves while it is still worth money.
What expires in thirty, sixty and ninety days, by value, per godown — in time to move it or return it to the supplier.
Given a batch: every customer who received it, on which invoice, on which date. That report cannot be built after the fact if the data was never captured.
Stock past its date is held out of available quantity rather than left where somebody in a hurry can sell it.
Limits and terms per chemist, enforced at the billing screen — because a distributor’s real risk is the debtor, not the drug.
Yes, in one query — the batch is recorded on the invoice line, so the list of customers, invoices and dates comes straight out of the sales register. That is the whole reason for capturing batch at goods inward rather than at dispatch.
Expired batches are held out of available quantity so they cannot be picked by accident. Selling one requires a deliberate override, which is the right way round.
As a credit note against the original invoice, restoring the specific batch to stock with its own expiry intact — not as a generic quantity that loses its identity on the way back in.
Standard discounts, free quantities and party-wise rates, yes. What it does not replicate is the specialised scheme handling built into pharma-specific desktop products, and if your business runs on those you should test that carefully first.
Load one godown’s batch stock free and get the near-expiry list you cannot currently produce.