Version 1.0.0
Latest 6 September 2026First Store release. The machinery that makes distribution software actually fit for pharmaceuticals: batch-level inventory, FEFO allocation, the expiry lifecycle, compliance, and pharma commercials — plus the screens that make each of them usable day to day.
Added — the batch dimension
- Batch number, expiry, MRP and landed cost are captured at purchase receipt. On-hand for a batch is the sum of its own movements — the same audit-trail ledger a product already had, now with a batch axis, rather than a counter that could not say where a batch’s units went.
- FEFO allocation. A delivery draws from the nearest-expiry batch first, splitting across as many as the quantity needs. Quarantined, expired and recall-held stock is never allocatable, and a customer’s contractual minimum shelf life is honoured.
Added — the expiry lifecycle
- Near-expiry reporting, expiry returns into quarantine, supplier claims, and witnessed destruction records — each transition written as a pair of stock movements, so the whole loop is auditable end to end.
- Quarantined stock lives in its own batch row, which is what lets a batch be partly quarantined while the rest stays sellable.
Added — compliance
- A jurisdiction (Pakistan, India, or market-neutral) chosen when a database is created and fixed thereafter, with matching drug schedules seeded automatically.
- Drug licences on customers and suppliers that block supply once lapsed, rather than merely warning.
- Recall notices that hold a batch’s remaining stock, and a batch trace naming every customer who received it.
- A controlled-substance register for scheduled drugs, and cold-chain capture on deliveries of cold-chain products.
Added — pharma commercials
- Invoice lines are snapshotted at the moment of invoicing, so an invoice never changes when a product is later edited — including MRP printed per line.
- Free goods that ship and deplete stock without being billed, trade schemes offered as suggestions, and per-line tax with jurisdiction-seeded defaults.
Added — operational screens
- An expiry cockpit covering the whole loop — at risk, coming back, owed to us, and to destroy — each shown as a value, not just a count.
- A dashboard that leads with what needs attention: expiring value, lapsing licences, open recalls, unclaimed quarantine and missing cold-chain notes, hidden entirely when there is nothing to flag.
- An allocation preview on the delivery form, naming which batches will be drawn before the delivery is committed.
- Fourteen reports in total, every one of them reachable from the reports page.
Added — backup
- Scheduled backup of the active database to your own Google Drive, with retention. Restore registers a downloaded backup alongside your existing databases without replacing or activating anything.
Changed
- Line quantities are whole numbers rather than fractional — pharma units are discrete, and this removes a class of rounding drift once a line splits across batches.
Fixed
- The first cloud backup could fail because the staged copy of the database was left locked by the backup process itself, rather than by anything else on the machine.