Rakizat Tawasol

DAWIRX: Designing Batch-Level Expiry Tracking for Pharmacy Inventory

How we architected DAWIRX's inventory system around the one thing a generic retail POS gets wrong for pharmacies: a product isn't just in stock or out — a specific batch of it is approaching its expiry date, and that has to drive the sale itself.

The Challenge

A generic retail point-of-sale tracks a product by SKU and quantity. That's not good enough for a pharmacy: two boxes of the same medicine on the same shelf can have different batch numbers and different expiry dates, and selling the wrong one first is a real operational failure, not a cosmetic one. A pharmacy counter also needs prescription-aware checkout — some items require it, most don't — without slowing down a fast-moving queue. We built DAWIRX around these two constraints from day one, rather than adapting a general retail POS afterward.

Architecture

DAWIRX tracks inventory at the batch level, not just the product level — every unit sold is attributable to a specific batch and expiry date, not just a product count. The checkout flow is barcode-driven for speed at a busy counter, with prescription-aware logic built into the sale itself rather than handled as a manual side process. Like ZADENO, DAWIRX runs on desktop terminals and mobile companion devices, with per-branch licensing and centralized management for pharmacy chains operating multiple branches.

What We Built

  • Batch and expiry-date tracking: down to the individual product lot, not just the product as a whole.
  • Inventory alerts: for low stock and near-expiry items, surfaced before they become a write-off or a stockout.
  • Fast barcode-driven checkout: built for the specific rhythm of a pharmacy counter, not a generic retail queue.
  • Prescription-aware sales: checkout logic that accounts for prescription requirements as part of the sale, not a separate step.
  • Per-branch licensing with centralized management: the same licensing model as ZADENO, for pharmacy chains running several branches.

Outcome

The result is inventory management that reflects how a pharmacy actually has to think about stock — by batch and expiry date, not just quantity — with a checkout fast enough for a busy counter and aware enough to flag what a generic POS would silently miss.