Software demos tend to show features. A pharmacy does not run on features - it runs on a day: the first customer at nine, the rush at noon, the regular who buys on khata, the strip nobody noticed was expiring, and the count at the till when the shutter comes down.
So instead of a list, here is a day. Every screen below is the real thing, from a shop we keep for exactly this purpose.
Before the shutter is fully up
The first screen of the day is not a menu. It is the shop, summarised: what yesterday took, what is in the drawer, what is owed to you, what is owed by you, and what is about to go out of date.

Four numbers do most of the work here. Cash in drawer is what the till should hold right now - and it says whether yesterday was closed at all. To reorder is not a guess; it comes from what has actually been selling. Expiring in 30 days is priced, because "four batches" means nothing until you know it is three thousand rupees. And khata owed to you is the number most pharmacies cannot produce on demand at all.
Nobody has typed any of this in. It is yesterday's bills, read back.
Nine o'clock: the counter
A customer puts a strip on the counter. You scan it, or you type three letters of the brand - and if you are out of that brand, you search the salt instead and see what else on your shelf does the same job.

Two things are happening quietly while you bill. The batch is picked nearest-expiry-first, so the oldest stock leaves the shop first without anyone having to remember. And a batch that is close to its date is flagged on the card itself - the moment to decide whether it should go back to the distributor is while you are holding it, not at the end of the month.
If the customer goes back to the car for their card, hold the bill and serve the next person. It comes back exactly as you left it.
"Half cash, half phone"
This is the part most billing software gets wrong. A customer pays two hundred in cash and the rest by UPI; somebody else pays part on card and leaves the balance on khata. One bill, more than one kind of money.

The bill records each part separately, and each part goes where it belongs: the cash into the drawer count, the card and UPI money into what the bank should settle, the rest onto the customer's khata. At night, the drawer balances - because the software never pretended the whole bill was cash.
The same invoice carries what an inspector or an accountant will ask for later: batch and expiry per line, the GST rate and its split, the prescribing doctor when the bill has a scheduled medicine on it, and the prescription slip itself if you photographed it.
When something comes back the next day, the refund follows the same path it came in by - cash back from the drawer, the UPI part as a credit note, and the GST the customer actually paid returned with it.
Udhaar, without the diary
Credit is not a mistake in an Indian medical store; it is most of the regular business. The mistake is the notebook - readable by one person, addable by nobody.

Every khata bill lands here by itself, with a limit that actually holds at the counter. But look at the third tile - held in credit. The khata runs both ways: when a regular pays ahead for a monthly course, that money sits as their credit and the next bill on khata draws it down on its own. One number, two meanings, and neither of them lives in somebody's handwriting.
When it is time to collect, the list is sorted by how old the money is, and the reminder that goes out on WhatsApp carries a pay link and the balance.
The stock that would have quietly expired
Expiry is the loss nobody sees happening. A strip bought in March is worth money in September and worth nothing in November, and the only difference is whether anybody looked.

Every batch carries its date, so the warning arrives ninety, sixty and thirty days out - in time to send it back inside the distributor's return window rather than after it shuts. What no supplier will take is written off deliberately, with a printable record of what was destroyed, what it cost, why, and on whose word. An expired strip that vanishes from the stock register with no document behind it is the one an inspector asks about.
Half past nine: closing up
The last job of the day is the one most likely to be skipped. Count the drawer, note by note, against what the bills say should be there. If it is short, it is short tonight - while whoever was on the counter is still standing there - and not discovered a fortnight later with no way to explain it.
Where more than one person works the counter, each stretch is its own shift: opened with a float, handed over with a count, so a difference belongs to a shift rather than to the month. The Day Book behind it lists everything money did that day, in order.
Nothing in that day was extra work
That is the part worth noticing. Nobody kept a stock register, wrote in a khata diary, maintained an expiry list, or added up a day's takings. Those came out of the bills that were raised anyway.
It is the same principle behind the reports nobody has time to build by hand - profit at what the batch actually cost, GSTR-1 and 3B ready to file, the dues that are ageing, the medicines you are running out of. They are all the same day's work, read back a different way.
If any of that sounds like your counter, the whole of it is on the free trial - not a cut-down version - and there is a feature-by-feature list if you would rather read before you register.