Dashboard
Today's Sales
PKR 0
Stock Value
PKR 0
Low Stock Items
0
Needs restockNear Expiry (30 days)
0
Within 30 daysTop Selling Medicines
Recent Sales
POS Sale
FEFO: earliest-expiry batch is sold first. Offline sales go to the sync queue.
Cart
Total: PKR 0
Medicines
Stock & Batches
Add a batch to increase stock. Expiry alerts are on the Dashboard.
Purchase
A purchase creates batches and increases stock automatically.
Customers
Phone numbers are encrypted at rest (AES-256-GCM) on the server.
Staff (Owner only)
Staff see only their own sales. Deactivating a staff member kills their login immediately.
Reports
Settings & Sync
Sync status: Checking...
Pending offline items: 0
Redeploy safety: data is in MySQL when DB_HOST is set, otherwise in SQLite under DATA_DIR outside the code folder. Never put .env or pharmacy.db in git. Backups are exported from Reports.