PharmacyInventoryGST
Hospital pharmacy software: batch, expiry and GST billing
What hospital pharmacy software must do: batch-wise stock, expiry alerts, purchase and GRN, prescription-linked sales and GST invoices that match the books.
- Author
- Kentron Technologies
- Published
- Reading time
- 5 min read

Hospital pharmacy software has four jobs it must do without fail: track every pack by batch and expiry, warn before stock expires or runs out, link each sale to a prescription so that the doctor's order and the bill match, and print a GST-correct invoice with the right rate for each item. If a system does those four, the pharmacy stops losing money quietly.
In most small hospitals the pharmacy is the second largest source of revenue after the wards and the largest source of leakage. Stock expires unnoticed, batches are mixed, discounts are given by hand, and the GST return does not match the sales register. Each of these has a software fix.
Why track batches and not just quantities?
A tablet is not one product. The same brand arrives in different batches with different expiry dates and sometimes different MRPs. Software that counts quantities only cannot tell you which batch is about to expire, cannot honour a recall, and cannot bill the correct MRP when two batches sit on the same shelf.
- Every receipt records batch number, expiry, MRP, purchase price and quantity.
- Dispensing picks the earliest expiry first by default. The user can override with a reason, and the override is logged.
- A recall is a batch search, not a shelf search.
- Stock value is computed batch by batch at purchase price, so the balance sheet figure is real.
How should expiry alerts work?
- A near-expiry report by month: what expires in 30, 60 and 90 days, with quantity and value.
- A block on dispensing expired stock, with no override.
- A return-to-supplier workflow for near-expiry items, because many distributors accept returns within a window. The credit note posts against the supplier ledger.
- A reorder level per item, with a suggested purchase list based on consumption, so that fast movers do not run out while slow movers pile up.
What should the purchase side look like?
- Raise a purchase order from the suggested list or by hand, and send it to the supplier on WhatsApp or email.
- Receive against the supplier's invoice: enter batch, expiry, MRP, quantity, free quantity, discount and GST as printed. This is the goods receipt note.
- The software checks the received quantity against the order and flags shortages.
- The supplier ledger records the invoice, the due date and payments. Outstanding to suppliers is a report, not a drawer of bills.
- Returns and credit notes reduce the ledger and the stock together.
How does prescription-linked dispensing help?
When the doctor's prescription is in the HMIS, the pharmacy counter sees it as a list and dispenses from it. The pharmacist confirms each line, substitutes with a reason if a brand is out of stock, and the bill is generated from what was actually given. For inpatients, the ward indents against the medication chart and the pharmacy issues against the indent, so that what was charted, what was issued and what was billed are the same list.
- No retyping of drug names at the counter, so fewer wrong-item errors.
- Partial dispensing is recorded, and the remaining quantity stays on the prescription.
- Drugs in Schedule H and H1 are dispensed only against a prescription, and the software produces the Schedule H1 register with prescriber and patient details from the dispensing record.
- Doctor-wise and item-wise sales reports come free, which is how you notice a brand that is prescribed but never stocked.
What does GST billing need?
Medicines and consumables attract different GST rates, and the rate has to be carried per item, not per bill. The invoice should be correct on the day and the monthly summary should agree with what you file on the GST portal.
| Requirement | Why it matters | Where it shows |
|---|---|---|
| HSN code and GST rate on every item master | The invoice splits tax by rate; a wrong rate is a wrong return | Item master, invoice, GSTR summary |
| MRP-inclusive billing with tax worked back | Patients pay MRP; the invoice must still show taxable value and tax | Every retail invoice |
| B2B invoices with the buyer's GSTIN | Corporate and institutional buyers claim input credit | Invoice header |
| Sales returns as credit notes against the original invoice | Returns reduce output tax only when linked to the original | Credit note register |
| A monthly rate-wise summary of sales and purchases | This is what the accountant needs for filing | GST report |
| Separate treatment for IPD supplies billed through the final bill | Pharmacy to inpatients is billed with the admission, not at the counter | IPD bill, pharmacy issue register |
What reports should the owner read?
- Pharmacy margin for the day and the month: sales at MRP less cost of goods sold, batch-wise.
- Near-expiry stock by value, and expired stock written off.
- Dead stock: items with no movement for 90 days.
- Top 50 items by sales and by margin. They rarely overlap, and that is worth knowing.
- Discounts given by user, because discounts are where leakage hides.
- Consumption by ward, to catch a ward that draws more than it charts.
The pharmacy module in Healthixio covers batch and expiry, purchase and GRN, supplier ledger, prescription-linked dispensing, ward indents and GST billing, and the margin and expiry reports appear in the owner's daily MIS. Data migration of opening stock with batches is part of onboarding.
Frequently asked questions
Should the hospital pharmacy and the wards use the same stock?
Keep one item master and one purchase process, but separate locations: the main store, the retail counter, and each ward or OT sub-store. Issues between locations are transfers, not sales. This lets you see consumption per ward, keeps the retail counter's GST register clean, and makes stock audits a location-by-location count rather than a guess.
How do we bring opening stock into new software?
Do a physical count by batch and expiry, not by item, on the cut-over date. Enter or import that list as the opening stock with purchase price and MRP. It is a day of work for a typical hospital pharmacy and it is the only way expiry alerts and margin reports will be true from the first week. Healthixio includes this migration in onboarding.
Can the software stop staff from giving unauthorised discounts?
Yes, with role-based limits. A counter user can give discounts up to a set percentage; anything above needs a supervisor's login or a doctor's discount authorisation on the prescription. Every discount is logged with the user and the bill. The discount-by-user report, read weekly, closes most of the leakage that owners suspect but cannot prove.
