Ask a pharmacy owner with two or three people on the counter whether the cash ever comes up short, and most will say "sometimes". Ask how they'd know why, and the honest answer is usually that they wouldn't. The money didn't vanish from the drawer. It left through an ordinary screen that anyone on the counter could open.
This isn't about assuming your staff are dishonest. Most aren't, and a good counter hand is hard to replace. It's about a shop where mistakes and the rare bad habit both show up quickly, and where an honest employee is never the one under suspicion when the numbers don't add up. Here are the five usual gaps, and how to close each one.
1. The bill that disappears
The oldest one: a customer pays cash, the bill is printed, and later the bill is deleted. The stock count and the drawer both look fine, because the strip and the cash both left together. Only the sale is missing.
The control: deleting a sale should be a permission, not a button everyone has, and a deleted bill should never simply vanish. In DravyaOS, a Shop Employee starts with Delete a sale and Void a payment switched off. A bill that is deleted goes to a trash you can open, with its number, rather than out of existence, and restoring it puts the stock back against the same batches. Deleting a paid bill also takes its receipt with it, so the cash book never shows money for a sale that no longer exists.
2. The discount nobody approved
A few rupees off for a regular, a friend's family "at cost", a round-down on a big bill. Each one is small and often well meant, and across a month they can eat a noticeable slice of a 20% margin. Our margin guide shows how quickly a ₹5 discount cuts into a strip's profit.
The control: see it by person. A sales and profit by staff report shows whose bills are consistently thinner than everyone else's. It's a conversation starter, not a verdict. Turning on "Billed by" on the printed bill also helps: when a customer queries a bill, you know straight away who rang it up.
3. Cash that turns into credit
A cash sale saved as a credit sale to a real customer, with the cash kept. It's the hardest to spot, because the customer's balance just grows a little and nobody reads balances closely.
The control: make sure customers hear what they owe. A payment reminder or a live statement link sent to a regular gets questioned immediately if it includes a bill they already paid. The customer becomes your auditor without knowing it. More in our guide to managing customer credit.
4. The drawer that's never counted
A drawer that's counted "roughly" at night is a drawer where a shortfall can't be pinned to a day, and a shortfall that can't be pinned to a day can't be explained.
The control: close the day. Count the cash, compare it with what the books say should be there, and record the difference. With cash and UPI kept in separate accounts, and a split payment landing half in each, the cash figure is just cash. In DravyaOS, once a day is closed, its cash stops moving: a payment or expense in that day can't be edited, voided or back-dated into it until someone reopens the day. Last Tuesday's count stays what it was when you counted it.
5. Stock that walks
Not every loss goes through the till. A strip pocketed from the shelf doesn't show up in any bill at all; it shows up as a gap between what the software says you have and what's actually there.
The control: count a rack at a time, regularly. Use a blind count sheet, where the counter doesn't see the expected number, so the count is what's really on the shelf. Every correction to stock should carry a date, a reason and the name of whoever made it. In DravyaOS, on-hand quantity can't simply be retyped: it moves only through a sale, purchase, return, adjustment, write-off or stock count, and every adjustment appears in a register with who did it and why.
Decide what each person sees
One more control underlies all five: not everyone needs every screen. A billing assistant doesn't need your purchase rates, your margins or the cash book. Hiding them isn't secrecy; it's the same reason a bank teller doesn't see the branch's profit.
In DravyaOS, a role is just a starting template. Each person has their own list of switches, written in shop terms (Bill a sale, Delete a sale, Book purchases, Void a payment, See purchase cost and margin), and a second list of which screens appear in their menu at all. Turn off cost and margin, and purchase rates and profit columns disappear from their bills, lists and reports. The same settings apply on every counter and phone they sign into.
A weekly ten minutes
None of this needs a daily inspection. Once a week, open the deleted bills, the sales-by-staff report, the day-close differences and the stock adjustments. Anything unusual will stand out, and most weeks there won't be anything. The point isn't to catch anyone. It's that everyone knows the numbers are looked at, and that on its own keeps most leaks from starting.
Per-person permissions, the same on every counter and phone, with every change synced back to you.
Download DravyaOS for WindowsRelated reading: spot stock and dues problems at a glance, and accepting UPI at the counter.