A pharmacy inside a clinic looks simple from the front desk: a prescription arrives, medicines go out, a bill is printed. The losses happen behind that, in three places that most clinics run on memory and paper: what came in (the goods receipt), which batch it came in as, and when that batch expires. This post walks through those three, plus GST on the way out, and describes what CuraVerto's Pharmacy module does at each step so you can judge any system, ours included, against the same checklist.
A GRN, or goods received note, is the record you create when a supplier delivers against an invoice. Every downstream number depends on it: the quantity you think you hold, the batch you will dispense from, the cost your margin is calculated on, and the input tax credit you claim. A GRN typed with a wrong batch number or a wrong pack size does not fail loudly. It just makes the shelf and the screen disagree for months.
CuraVerto's Pharmacy module supports receiving stock against a supplier invoice line by line, capturing the drug, batch number, expiry date, quantity, rate, MRP, HSN code and GST percentage for each row. Instead of typing an invoice with dozens of lines, a clinic can photograph it and let CuraVerto's invoice scan read the lines, after which staff review and confirm before the GRN is posted. The scan is a drafting aid: a person still checks the batch and expiry on each line, because those two fields are exactly where a misread costs money.
Suppliers often bill ten strips and send two free under a scheme. If your catalogue stores stock in tablets but your GRN row records packs, the free quantity is easy to mis-book. In CuraVerto, the stock quantity for a received line is the pack quantity multiplied by the drug's pieces per package, and the free quantity is converted the same way before it reaches stock. So a scheme of two free strips of fifteen tablets adds thirty dispensable tablets to the batch, not two. Whatever system you use, test this on a real scheme invoice before you trust it: receive a line with free quantity and check that the on-hand count moved by pieces, not packs.
Stock that is tracked only as "Amoxicillin 500mg: 240" hides the one fact a pharmacist needs at the counter: which of those 240 expire first. Batch-level tracking keeps a separate balance for each batch number with its own expiry date, which is what makes recalls and near-expiry sales manageable.
The expensive way to find expiring stock is to open a box and see it. The cheap way is a system that shows the risk early and refuses to hand out stock that should not be sold. In CuraVerto's Pharmacy module, dispensing selects batches first-expiry-first-out, and the batch query excludes batches that are already expired or quarantined, so those never reach the pharmacist's cart. A quarantine flag lets you pull a batch out of circulation without deleting its history.
For planning, there is an expiry report you can pull for a window of your choosing, defaulting to the next 90 days, which lists batches approaching expiry and leaves out quarantined and zero-quantity batches so the list is only things you can still act on. It can be downloaded as CSV. The practical use is a weekly routine: pull the 90-day list, decide what to return to the supplier, what to discount, and what to reorder less of.
| Question at the counter | Paper register | Batch-aware system |
|---|---|---|
| Which batch do I hand out first? | Whatever is at the front of the shelf | Earliest unexpired batch, selected at dispensing |
| Is anything expiring soon? | Found when someone checks the shelf | Expiry report for a chosen window, exportable as CSV |
| Can I pull one bad batch? | Search the shelf and hope | Quarantine that batch, keep its history |
| Did the free scheme land correctly? | Depends on who typed it | Free quantity converted to pieces at receipt |
Each medicine has its own HSN code and GST rate, and a pharmacy bill has to carry them per line. CuraVerto stores the HSN and GST rate on the catalogue entry, applies them when a sale is dispensed, and generates a GST invoice for the sale. The Pharmacy module also includes GST summary, HSN-wise, input tax credit and GSTR-1 style reports so the numbers your accountant needs come from the same transactions that moved stock, instead of a separate spreadsheet. For the fiscal-year and document-numbering side of billing, see the related post below.
A pharmacy that reconciles daily catches errors while someone still remembers the sale. CuraVerto includes a day-end view and a set of registers and reports, among them stock ledger, stock valuation, inventory ageing, supplier ageing, and a Schedule H1 register report. Which of these you rely on depends on your clinic, but the principle is the same everywhere: every closing number should trace back to a receipt, a dispense, or a return, not to a guess.
On CuraVerto, the in-house Pharmacy module with FEFO dispensing, expiry alerts, purchase orders and vendor management is included from the Pro plan at ₹24,999 per year, not on Essential at ₹9,999. Supplier invoice scanning is metered per scan from your wallet, so it is a usage cost, not part of the plan fee. Prices exclude GST.
A GRN, or goods received note, is the record made when a supplier delivers stock against an invoice. In CuraVerto's Pharmacy module it captures drug, batch, expiry, quantity, rate, MRP, HSN and GST for each line, and it is what creates the batch stock you later dispense from.
CuraVerto's dispensing step selects batches first-expiry-first-out and excludes batches that are expired or quarantined, so they do not appear in the pharmacist's cart. Staff can also quarantine a batch to pull it from circulation while keeping its history.
CuraVerto converts the free quantity on a received line into dispensable pieces using the drug's pieces per package, the same way it converts the paid quantity, so a free strip adds the full number of tablets to stock rather than a single unit.
The in-house Pharmacy module is included from the CuraVerto Pro plan at ₹24,999 per year, excluding GST. It is not part of the Essential plan at ₹9,999 per year. Supplier invoice scanning is charged per scan from the wallet.
Yes. CuraVerto's Pharmacy module offers an expiry report for a chosen window with CSV download, and GST reports including a GST summary and HSN-wise view, built from the same transactions as stock movement.
CuraVerto's Pharmacy module covers GRN receiving, first-expiry-first-out dispensing, expiry reports and GST invoices, included from the Pro plan at ₹24,999 per year excluding GST.
Prefer not to use WhatsApp? Leave your number and we will call.