Pharmacy Management Software in Bangladesh: Expiry, Batches and the Margin You Cannot See

MD Mominur Hossain Rimon 22 Oct 2026 6 min read

The shelf is not one pile of stock

Two boxes of the same medicine are not the same thing. One expires in March, one in November. One was bought at 82, one at 91. If the system stores a single quantity and a single cost, every sale quietly mixes them — and the shop cannot tell which batch it just sold or which one is about to die on the shelf.

That is why pharmacy software has to work at batch level, not item level.

What must be true at the till

  • Pick the near-expiry batch first. The system should choose the oldest usable batch automatically, so stock rotates without the staff remembering.
  • Warn before the sale, not after. A batch inside the alert window should be visible on the counter screen, not discovered during a stock count.
  • Refuse or flag expired stock. The policy is the owner's choice, but it must be a setting — never an accident.
  • Keep the purchase rate with the batch. Margin per box is the number a pharmacy actually manages; an average across all batches hides it.
  • Return to the supplier by batch. Expired or damaged strips go back against the original purchase, not against a generic stock figure.

Expiry is a purchasing problem too

Most expiry losses are created at purchase time. If the shop buys six months of a slow mover because the rate is good, the discount is often smaller than the write-off. A purchase report that shows how many months of cover each item already has is worth more than another discount negotiation.

The same report answers a second question: which supplier keeps sending short-dated stock? That is a conversation to have with evidence.

The counter details that matter in Bangladesh

Sales are fast, often in strips rather than boxes, and a customer may take two tablets from a strip. Multi-unit selling has to be configured per item — box, strip, piece — with the right conversion, or the stock count drifts by a few units a day and nobody notices until the audit.

Cash, bKash and credit customers all stand at the same counter. If mobile-wallet money is recorded as cash, the drawer never reconciles; if credit sales are not tied to a customer, the dues list is a notebook again.

What Zuviq Book does

Items can be batch- and expiry-tracked, with an expiry-alert window set per organization. Sales pick the nearest usable batch, the batch and its cost stay attached to the movement, and an expired-sale policy is a switch rather than a staff habit. Purchase returns go back against the original bill.

The pharmacy walkthrough is in the pharmacy brochure. If you also sell general retail items, the retail brochure shows the shared counter.

Test it with your ten worst items

Do not start with the fast movers. Enter the ten items you already know are a problem — the ones with two batches, a return history and a slow month. One purchase, one sale and one expiry report will tell you more than any demo.

Start the seven-day trial with every module open, or see pricing first.

Frequently asked questions

Can the system stop an expired sale completely?

It is a policy switch. When expired sales are off, expiry batches are excluded from automatic picking; if no usable batch is left the sale still proceeds unbatched, so the balance moves and the expired batch is untouched. Check the setting with your own items before relying on it.

Do I have to enter a batch on every sale?

No. The engine picks the oldest usable batch. Manual batch choice is there for the exceptions — a customer who insists on a particular strip, or a counter that keeps a specific batch aside.

Can I see profit per batch?

The batch keeps its purchase cost and the sale keeps the cost it left at, so the movement report shows the margin. That is more useful than one blended profit figure for the item.

MD Mominur Hossain Rimon
MD Mominur Hossain Rimon Founder & CEO, Zuviq Book Book a Call

Want this running in your business?

Seven days free with every module open — no card. Or talk to the founder directly on WhatsApp.

Start free See pricing

🔒 Connection Lost

Reconnecting to server, please wait...

Could not reconnect.