Track medicine batches and expiry dates

Expired stock is money you already spent, thrown away in slow motion. It happens because expiry lives on the carton and in someone's memory, while the fresher batch sits in front. PharmHive tracks expiry where it actually exists: per batch, all the way to the point of sale.

Common questions

Does PharmHive track expiry per batch or per product?

Per batch. Two deliveries of the same product live as separate batches, each with its own expiry date, cost, and quantity. That's the only honest way to track expiry - a single date per product is fiction the moment you restock.

What is FEFO and does the POS actually enforce it?

FEFO means first-expiry-first-out: sell the batch that expires soonest before the fresher ones. At the PharmHive POS, when a product has more than one batch in stock, the earliest-expiring batch is listed first and carries a 'Sell first' badge, with each batch's expiry date visible, so the cashier picks the right one by default.

Will I be warned before stock expires?

Yes. The dashboard flags expiring-soon stock, and the inventory screen has one-tap filters for expiring and expired items, showing what the stock at risk is worth in cedis, not just a count of lines.

What happens to stock that has already expired?

It's flagged and isolated in its own expired view, separate from expiring-soon, so it can be pulled off the shelf and written off deliberately. Write-offs are recorded as stock adjustments with the user's name, so expired stock leaves the books visibly, not quietly.

Do stock counts capture expiry dates too?

Yes. During a stock take the counter can record the earliest expiry date they actually see on the shelf, so the system's batch dates get corrected by physical reality instead of drifting away from it.

Does expiry tracking work offline?

Yes. Batches, expiry dates, and the FEFO ordering all live in the desktop app's local database, so the guidance at the counter doesn't depend on the internet being up.