In this collection

eTIMS for pharmacies in Kenya

Last updated: June 2026
By Veira Team

For a pharmacy in Kenya, eTIMS compliance turns on three things: getting the tax rate right per product (most prescription medicines are VAT-exempt, most over-the-counter products are not), keeping a high SKU count clean, and handling insurance and NHIF/SHIF billing as B2B sales with the buyer details captured correctly.

A retail pharmacy that codes everything as standard-rated produces invoices that over-collect VAT from customers and misreport tax on the return; one that codes everything as exempt does the opposite. Either way the invoice is wrong, and KRA validates per code.

Which medicines are VAT-exempt and which are not

The First Schedule to the VAT Act and the supporting regulations exempt a specific list of pharmaceuticals. Prescription medicines for human use generally fall under the exemption. Over-the-counter consumer products, cosmetics, supplements and many devices generally do not.

The line is drawn at the product level, not the category level. A specific over-the-counter painkiller may be exempt while a similar product is not, depending on its registration and ingredient list. The right reference for any given SKU is the Pharmacy and Poisons Board listing and your supplier's tax declaration.

A pharmacy that bulk-codes its file by category ("all medicines exempt", "all OTC standard") will be wrong on a meaningful share of its SKUs. The correct approach is per-SKU, captured once when the item is added to the system.

Insurance and corporate billing

Sales billed to an insurer (private medical insurance) or to a corporate account are B2B sales. The buyer is the insurer or the company, and the invoice must carry their KRA PIN so they can deduct or claim through their own return.

Patient-side, the patient pays a co-pay or nothing at all. The eTIMS invoice still issues to the insurer for the underlying medicine value (or split, if there is a co-pay component); the patient often receives a separate receipt for their portion. Treating an insurance-billed sale as B2C with no buyer PIN is a common mistake that the insurer's claims team later requires fixing.

NHIF / SHIF billing follows the same logic. The fund is the buyer; the invoice carries its details.

High SKU counts

A small pharmacy can run several thousand SKUs. Each one needs a stable code, a stock count, and the correct tax rate. Manual entry per invoice is not viable at this scale; the right approach is a POS that scans the barcode and pulls the item, the rate and the price from a clean product file.

Where SKUs change frequently (new generics, supplier changes), the product file needs maintenance. The most common operational failure in a busy pharmacy is selling an item that exists in stock but is not in the product file: the cashier types in a freeform line, the tax rate defaults to standard, and the invoice is wrong.

Compounded and own-brand items

Pharmacies that compound their own preparations or sell own-brand cosmetics need a clear position on each item. Compounded prescription preparations generally inherit the exemption status of the regulated medicine; cosmetics and personal-care items generally do not. As with everything else, the right answer is per-SKU, not category-level.

What KRA validates on pharmacy returns

From January 2026, KRA validates declared income and the VAT breakdown of that income against eTIMS data. For a pharmacy, that means the split between exempt sales, zero-rated sales and standard-rated sales on your VAT return needs to reconcile to the same split on your transmitted eTIMS invoices.

A mismatch typically points to a coding problem: items mis-categorised in the product file, freeform invoice lines defaulting to the wrong rate, or insurance billings issued without a buyer PIN. The penalty under Legal Notice No. 64 of 2024 for a non-compliant invoice runs up to KES 1 million or 10% of the tax involved, whichever is higher.

Setting up eTIMS in a pharmacy in five steps

  1. Build a clean product file. List every SKU with its barcode, supplier, price, and a tax rate decided per item against the Pharmacy and Poisons Board listing.
  2. Choose a POS that scans and validates. Barcode scanning is non-negotiable at this SKU count. The POS should refuse to ring up a freeform line.
  3. Set up insurer accounts. For each insurer you work with, capture the KRA PIN and any portal account details. Insurance sales then default to B2B in the POS.
  4. Train on the tax rates. Front-of-counter staff should know which items are exempt and which are not, so questions from customers do not turn into wrong codings.
  5. Reconcile your VAT return to eTIMS. The standard/zero/exempt split on the return should equal the same split on transmitted invoices. Fix the cause of any gap.

How Veira handles this

Veira's pharmacy setup carries the per-SKU tax rate and barcode in the product file, so the right rate goes on every invoice automatically. Insurer accounts are configured once with the buyer PIN, so an insurance-billed sale issues a B2B eTIMS invoice without the cashier having to remember.

Related articles

Ready to file eTIMS without the stress?

Veira handles KRA eTIMS automatically, on your phone, even offline. See Veira pricing or try our free tax and business calculators.