Free Pharmacy Software for Medical Stores
Sell from the right batch, and never be surprised by an expiry. Batch-wise billing for a chemist shop, with a dashboard that tells you what is about to die while the distributor will still take it back.
Opening your shop…
The expiry dashboard
The money you are losing without knowing it
Expired stock is not a small loss, it is a total one — and by the time most shops notice, the window to send it back has closed. This is the screen that pays for the app it comes in.
₹18,400 expires in 60 days — here is the list
Stock bucketed into 30, 60 and 90 days and already expired, each bucket showing what it cost you rather than how many batches it is. A batch count is a statistic. A rupee figure is a reason to ring the distributor this afternoon.
Grouped by supplier, because that is who takes it back
A distributor accepts back what they supplied and nothing else, so an expiry list sorted by date is a list nobody can act on. Sorted by supplier it is a stack of return notes, and each group ends in a button that creates one.
A removal list in rack order
Expired stock prints as a checklist sorted by shelf, not by date — because the person holding it is walking the shop pulling strips, and a list in shelf order is walked once instead of three times.
Expired stock can never be billed
Whatever your settings say, a batch past its month cannot go on a bill. You can also refuse batches within a number of days of expiry, though most shops should leave that at zero — a strip expiring in three weeks is fine for a five-day course.
At the counter
Built for how a chemist actually sells
Loose tablets off a cut strip, a customer asking what else has the same salt, and a queue behind them. Every decision here is about the seconds that costs.
Stock lives on the batch, never on the medicine
You do not have forty Crocin. You have twelve of batch J4213 expiring in August and twenty-eight of K1180 expiring next February, bought at different rates. Every screen in this app is built on that difference, which is why it can do things a product-level POS cannot.
Oldest expiry first, automatically
Adding a medicine picks the batch expiring soonest and puts its number and expiry on the line. Ask for twenty when the oldest batch has twelve left and it splits into two lines by itself — twelve off one, eight off the next — because that is what has to print on the bill.
One box that searches brand, salt and barcode
A doctor's chit says whatever it says. Type any of the three and it matches, and every result expands to show the same-salt alternatives you have in stock with their MRPs — the question the counter is asked twenty times a day.
Prescriptions asked for at the end, not mid-sale
A bill with a Schedule H, H1 or X line cannot be completed without the patient, the doctor and their registration number — but you are not interrupted the moment the strip is scanned. Which classes to enforce is yours to set.
Loose tablets, whole strips, and the rack it is on
Stock is counted in units so a cut strip is not a problem, with a one-tap shortcut for a whole pack. Search results carry the rack number, which at a busy counter saves more time than anything else on this page.
Held bills and returns that go back to the right batch
Park a bill when someone goes back to the car for money. And a returned strip goes back to the exact batch it left on, expiry and all — so it turns up on the expiry screen rather than quietly rejoining general stock.
Behind the counter
Purchases, margin and the papers you have to keep
Purchase entry that matches the paper
Enter the distributor's invoice in packs, with the running total beside you to check against theirs before saving. Scheme goods are handled properly: ten paid and one free is eleven on the shelf at a blended cost, which is the number your margin should be measured against.
Margin off the batch that actually sold
The same medicine bought on two invoices at two rates has two margins. Averaging them hides the one you are losing money on, so cost is read off the specific batch each line came from.
A schedule register you can print
Every scheduled sale in a date range with the prescription details, printable and exportable. Bills where no prescription was captured appear with the doctor columns blank — a gap you can see rather than one the report hides.
The reports a shop actually runs on
Sales by day and month, fast and slow movers, stock value at cost and at MRP, a suggested order list grouped by supplier, GST by rate, and supplier-wise outstanding. CSV on all of them.
Udhaar, tracked per bill and per customer
Part-paid bills leave a balance against the customer, and the balance reminder goes out on WhatsApp from your own template when you decide to send it.
Send the bill as a link, on WhatsApp
The whole bill travels inside the link — batch numbers, expiry dates and all — so nothing is uploaded and it opens on a phone with no signal. Send it to the customer's own number, or show them the QR across the counter.
Bills, notes and lists on your own paper
GST bill with batch, expiry, HSN and a CGST/SGST split, on 58mm, 80mm or A4. Purchase return notes and expiry removal lists print too.
Who it is for
- Independent medical stores
- Chemist shops with one to three counters
- Clinic pharmacies and dispensaries
- Generic and Jan Aushadhi outlets
- Ayurvedic and homeopathy stores
- Surgical and consumables counters
Where the free tool stops
This app keeps your shop's own records. It is not a compliance product: the scheduled-sales register it prints is built from your own bills for your own use, it does not replace any register you are required to maintain under the Drugs and Cosmetics Rules, and it does not verify a prescription, check a registration number or decide whether a sale is lawful. That judgement belongs to your registered pharmacist. The printed bill is a simple GST bill and not a full statutory tax invoice.
Everything runs in one browser with no account, so the shop lives on one device. A second counter cannot share the same stock, and no drug dataset ships with the app — you import your own master. All three are consequences of an app that works offline and asks for no login. Everything on this page is free, and stays free.
Free pharmacy software — questions
Yes. No signup, no trial, and no limit on medicines, batches, bills or customers. Everything runs inside your browser, so there is no server for us to charge you for.