Pharma

I build systems for pharma distributors and retail chains: batch-and-expiry-true inventory, scheme and bonus management, DL-compliant invoicing, expiry-return recovery and collections — the details that decide whether this trade’s thin margins survive contact with reality.

Why does generic software fail in pharma?

Because it tracks value and this trade runs on batches. Every SKU is not a quantity but a set of batches, each with its own expiry, and almost every operational decision depends on which batch. Sales must pick first-expiry-first-out, not whatever the picker grabbed. Returns must reference the batch that is actually expiring. Recalls are batch events. Company claims are batch-evidenced. A system that models “500 strips of X” instead of “120 of batch A expiring in March, 380 of batch B expiring in November” is not tracking your inventory — it is tracking a summary of it.

The Tally-plus-register combination that most distributors run does exactly that: it gets the value right and the batches approximately. And approximately is where the fridge full of expired stock comes from — chhota-chhota, month by month, until it is the quarter’s profit.

What does the system cover?

  • Batch-true stock. Every purchase and sale batch-tagged, FEFO enforced at picking, transfers and adjustments recorded as movements — the same event discipline I use for money, pointed at medicine.
  • Expiry radar. Alarms at 90, 60 and 30 days, return claims generated in-window with batch evidence, and recovery tracked all the way to the credit note. This is the feature that pays for the system.
  • Scheme engine. Company schemes and bonus deals with effective dates applied at billing rather than recalled from memory, so the counter stops depending on who is standing at it.
  • DL and GST-correct invoicing. Drug-licence compliant billing with e-invoicing ready for the ₹5-crore threshold (cbic.gov.in).
  • Retailer ledgers. Outstanding, ageing and credit limits, with beat-wise collection lists that make the rounds productive instead of hopeful.
  • Fast billing. A distributor’s counter bills in seconds or the operator quietly reverts to the old way. Speed at the counter is a functional requirement, not a nicety.

What does the first quarter recover?

Three specific things, and they are measurable. Expiry returns claimed inside their windows instead of discovered afterwards — most distributors find real money here in the first cycle, because the claims were always due and simply not filed in time. Scheme reimbursements computed rather than estimated, which usually reveals a gap between what was earned and what was received. And dead-stock visibility: which batches, in which godown, are not moving, early enough to push them through the beat rather than write them off.

None of this is clever. It is the trade’s own arithmetic, done on time and with evidence attached — which is precisely what a register cannot do at volume.

For the wholesale-wide version of this — van sales, beat planning, company claims across categories — see /products/distribution-erp.

/products/distribution-erp — the distribution build · /industries/healthcare — the clinic pharmacy sibling · /industries/retail — the retail-chain context · /products/whatsapp-automation — retailer order and collection nudges

Open your expiry report

Value expiring in the next ninety days, by batch, by godown. If that number takes more than ten seconds to produce, it is not being managed — and it is sitting in your fridge right now. /contact; bachat wahin padi hai.

Questions I actually get

Can it import from Tally or Marg?

Yes — masters, opening stock with batches, and retailer balances import up front, then the old system runs in parallel for the first month until counts agree. Nobody switches a distribution business over a weekend, least of all during a season.

Does it handle multiple godowns?

Batch-wise stock across godowns with transfers tracked as movements rather than adjustments. When a batch is recalled or nears expiry you can see exactly which godown holds how much, which is the question that matters at exactly the wrong moment.

Is it suitable for pharmacy retail chains too?

Yes — the same batch-true core with a fast POS front. Retail chains inherit the expiry discipline that pure-retail software usually lacks, which in this trade is the difference between margin and a fridge full of write-offs.

What does FEFO enforcement mean in practice?

First-expiry-first-out: when a sale is picked, the system proposes the batch closest to expiry rather than whatever the picker reaches first. Over a year that single behaviour meaningfully reduces expiry returns, because stock leaves in the order it ages.

How does expiry-return claiming work?

Alarms at 90, 60 and 30 days surface stock heading toward expiry while it is still claimable, the return claim is generated with batch evidence, and the claim is tracked through to the credit note. Money left unclaimed in this trade is almost always a paperwork-window problem rather than a policy one.

Does it handle company schemes and bonus deals?

Schemes with effective dates apply at billing rather than being remembered by whoever is at the counter, and bonus quantities post correctly to stock. Scheme changes land as configuration, so the transition month does not turn into an argument with retailers.