A pharmacy POS: batches, expiry, insurance and the mixed basket
A pharmacy counter runs four things at once that a normal shop never touches. A generic retail system handles none of them, and the workarounds are where the risk lives.
4 min read
A pharmacy is the most demanding kind of retail counter in Saudi Arabia. Four requirements operate simultaneously, and a generic retail system handles none of them properly.
1. Batch and expiry on every unit
Not a nice-to-have. You need:
- Batch number and expiry captured at receiving. Not at sale — by then it is too late.
- First-expiry-first-out enforced at the counter. The system should propose the oldest-dated stock, and flag when the cashier scans something newer.
- An expiry report with a window you control — 90 days, 60, 30 — so slow-moving stock can be returned to the supplier or discounted before it becomes a write-off.
- Recall readiness. When a batch is recalled, you must be able to answer "which sales included batch X?" in minutes. That means the batch is recorded against the sale, not just against the stock.
A pharmacy without batch tracking is not just inefficient; in a recall it cannot do what it is required to do.
2. Insurance co-payment
An insured patient pays a share and the insurer pays the rest. The correct handling isone tax invoice for the full value of the supply, with the payment recorded as two tenders.
Not two invoices. Not an invoice for only the patient's share — that understates your output VAT and is difficult to unwind.
Your POS needs:
- Split tender with an insurer as a tender type
- The insurer and policy reference recorded against the sale
- A report of outstanding insurer balances, because that is your receivable
- The claim reference linking back to the invoice
3. The mixed-VAT basket
A single pharmacy basket routinely contains items with different VAT treatments. The requirements:
- VAT treatment storedper product, not per category
- VAT computed per line
- The breakdown shown per rate on the invoice
- Discounts apportioned correctly across a mixed basket
That last one catches systems out. A 10% discount across two VAT treatments must be split proportionally. SeeVAT basics.
Set the treatment per product with your accountant at import time. Fixing thousands of product records later is a project.
4. Controlled and prescription items
Items requiring a prescription need their own path:
- A prescription reference captured at sale
- A permission controlling who may dispense
- An audit trail of who dispensed what and when
- A report for regulatory review
What else a pharmacy needs
Fast search by partial name. Drug names are long and often typed in two languages. Search must match on part of the name, in Arabic and Latin script, and handle the common spellings.
Alternatives at the counter. When something is out of stock, the cashier needs the alternative on screen, not in the pharmacist's memory.
Multi-branch stock visibility. "The Olaya branch has two" saves the customer a trip and keeps the sale.
Offline. Pharmacies are often open when the neighbourhood's connectivity is not. See theoffline comparison.
What to ask a vendor
- Show me receiving with batch and expiry captured.
- Show me a sale where the system enforces first-expiry-first-out.
- Show me the report answering "which sales included batch X".
- Show me an insured sale with split tender and an insurer balance.
- Apply a 10% discount to a mixed-VAT basket and show me the invoice VAT breakdown.
- Show me the expiry report at 60 days.
If a vendor cannot demonstrate all six, they are selling you a general retail system with a pharmacy label on it.
Wameed ships pharmacy as a distinct industry mode with batch and expiry, FEFO, controlled items and insurance handling; see theindustry workflows feature.
- #pharmacy
- #صيدلية
- #batch
- #expiry
Ask about your own shop
Thirty minutes on your products, your tax setup and your hardware — not a slide deck.
Keep reading
4 min read
Inventory that matches the shelf: the six things that make it work
Every shop starts with accurate stock and drifts. Here are the six disciplines that keep the number on the screen equal to the number on the shelf, and the order to introduce them in.
4 min read
How to run a stock count that produces a usable number
Most annual stocktakes produce a number nobody trusts and a variance nobody investigates. Cycle counting produces a number you can act on, in an hour a week.
4 min read
Shrinkage: finding out where the stock actually went
Stock disappears for five reasons and only one of them is theft. Working through the other four first is both more accurate and how you avoid accusing an innocent employee.

