# Pharmacy Management System for Kenyan Pharmacies

> Barcode POS, a PPB-compliant controlled substances register that fills itself in, FEFO stock control and eTIMS invoicing — for a single chemist or a branch network.

Source: https://www.afyaconnect.africa/solutions/pharmacy-management-system-kenya
Publisher: AfyaConnect HMS (Neurobyte Technologies), Nairobi, Kenya

---

Barcode POS, a PPB-compliant controlled substances register that fills itself in, FEFO stock control and eTIMS invoicing — for a single chemist or a branch network.

## What's included

- Barcode point of sale using a phone camera — no scanner hardware required
- PPB controlled substances register with automatic dispensing log and running balance
- FEFO stock control with expiry alerts before stock becomes a write-off
- Reorder points driven by actual dispensing history, not guesswork
- M-Pesa STK push and split cash/mobile payments at the till
- KRA eTIMS compliant tax invoices
- Multi-branch inventory with inter-branch transfers and consolidated reporting

A pharmacy in Kenya is running three books at once: the commercial one, the PPB one, and the KRA one. Most software handles the first and leaves you to keep the other two by hand — which is how a Saturday afternoon disappears reconstructing a controlled drugs register from till rolls.

AfyaConnect's pharmacy module is built so that a single dispense satisfies all three at once.

## The counter

Scanning is done through the camera of the phone or tablet already at the till. Items come up with price, batch and expiry. Payment is cash, M-Pesa STK push, or a split of the two, and the invoice that comes out is eTIMS-compliant.

For a prescription, the dispense is recorded against the prescriber and the patient. If the item is a controlled substance, that same action writes the register entry — dated, with the running balance — with no second book to remember.

## The stockroom

Two things kill a pharmacy's margin: expiry and stockouts. They are the same problem viewed from opposite ends.

- **FEFO picking.** Stock is issued first-expiry-first-out. Skipping a nearer-expiry batch produces a warning rather than a silent write-off six weeks later.
- **Expiry alerts with lead time.** An alert two days before expiry is a death notice. Alerts fire far enough ahead that the stock can still be transferred to a branch that moves it, or returned.
- **Reorder points from real dispensing history.** Not a number someone typed in 2023. Our guide on [stopping pharmacy stockouts before they happen](/resources/pharmacy-stockouts-kenya-inventory-management) goes into how to set these.

## The PPB register

The controlled substances register is the part that turns an inspection from an event into a non-event. Every scheduled-drug dispense writes an entry automatically: date, drug, batch, quantity, patient, prescriber, dispenser, running balance. Nothing is retrospectively editable — a correction is a new, visible entry, which is what a register is for.

Export to CSV or PDF for an inspector, for any date range, in the moment they ask. If you want the detail of what the register has to contain, we wrote it up in [the PPB controlled substances register explained](/resources/ppb-controlled-substances-register-kenya).

## Branches

A second branch doubles the admin unless the system understands branches natively. Here each branch has its own stock ledger and its own till, transfers are recorded on both sides so nothing "leaves" without "arriving", and the consolidated view shows sales, margin and stock across the group.

Running a pharmacy inside a hospital rather than a standalone chemist? The same module is part of the [hospital management system](/solutions/hospital-management-system-kenya), sharing the patient record so a dispense lands on the patient's bill.

## Frequently asked questions

### Is AfyaConnect PPB compliant?

The controlled substances module is built to the PPB register requirements: every dispense of a scheduled drug writes a dated entry with the prescriber, the patient, the quantity and the running balance, and the register exports to CSV and PDF for inspection. Compliance is ultimately a property of your practice, not of any software, but the register that inspectors ask for is produced by the system rather than reconstructed from memory.

### Do I need to buy a barcode scanner?

No. The POS scans barcodes through the camera of an ordinary Android phone or tablet, which is fast enough for a retail counter. If you already own USB scanners they work too — they present as a keyboard, so nothing needs configuring.

### Does it handle KRA eTIMS?

Yes. Sales produce eTIMS-compliant tax invoices with the required fields, rather than a receipt you then have to re-enter somewhere else. See our guide to KRA eTIMS for pharmacies for what the obligation actually requires of you.

### Can I run several branches on one account?

Yes. Each branch keeps its own stock ledger and till, stock transfers between branches are recorded on both sides, and the owner sees consolidated sales, margin and stock position across all of them without visiting each till.

### What stops us dispensing expired stock?

Stock is picked first-expiry-first-out, so the batch nearest expiry is offered first and the system warns when an older batch is skipped. Expiry alerts fire far enough ahead that stock can still be moved or returned, which is the difference between a transfer and a write-off.
