A pharmacy in Saudi Arabia runs on the strictest inventory rules in the country: every medicine has a batch number, an expiry date, a regulated cold-chain requirement, and SFDA documentation. On top of that, a large portion of revenue is settled by insurers weeks after dispensing. The point where most pharmacies lose grip is the combination of expiring stock and unsettled insurance claims piling up at once. This guide explains what sets pharmacy accounting apart, and how the right software keeps batch, expiry, claims, and tax visible inside one ledger.
What makes pharmacy accounting different
A pharmacy is one of the most regulation-heavy retail businesses in Saudi Arabia. Every item is tracked by batch number and expiry date, prescriptions follow SFDA dispensing rules, controlled drugs require a separate cabinet ledger, and insurance reimbursement is the dominant revenue stream. A single expired batch or a single denied insurance claim is a direct hit to the bottom line.
Pharmacy accounting revolves around five connected pieces: batch- and expiry-tracked inventory, controlled-drug ledger with separate access permissions, insurance claim lifecycle from dispensing to settlement, prescription billing split between patient copay and insurer share, and per-line VAT treatment (most medicines are exempt or zero-rated under Saudi rules, OTC products are taxable). The right software ties all of these inside one ledger.
Daily reality is a long list of small, regulated movements: receiving a temperature-controlled delivery, scanning every box into the right batch lot, dispensing against a paper or electronic prescription, capturing a copay at the counter, submitting the rest to the insurer, and closing the till at end of day. Every missed step is either a write-off (expired stock) or a denied claim.
The most common accounting challenges in pharmacies
Every Saudi pharmacy operator runs into the same four recurring accounting problems. They share one root cause: there is no single ledger that links the batch, the prescription, the insurance claim, and the till.
1. Expired-stock write-offs. A pharmacy carrying thousands of SKUs in narrow expiry windows can easily write off 1% to 3% of inventory each quarter to expiry. Without a live first-expiry-first-out (FEFO) dispensing rule and a 60-day expiry alert, the write-off rate creeps higher every quarter.
2. Unsettled insurance claims. A pharmacy submits 4,000 prescription claims a month worth 600,000 SAR. Six weeks later, 7% are still pending or partially denied (around 42,000 SAR). Without a live claim-aging ledger per insurer, those receivables age out, get partially written off, and silently shrink margin.
3. Cash-versus-card-versus-insurance mix. A single till session collects cash from OTC sales, card from full-price prescriptions, copays on insured prescriptions, and zero-collection from fully insured ones. Without a daily close that splits these four flows correctly, the cash drawer never reconciles cleanly.
4. Controlled-drug tracking. Schedule-controlled drugs require a separate cabinet ledger with item-by-item tracking, regular inspections, and reconciliation against the SFDA register. Most pharmacies still keep this in a paper logbook, which means audit findings are common.
What a pharmacy actually needs from its accounting software
A generic accounting tool was built for selling generic goods, not for dispensing batched, expiring medicines under insurer settlement. The difference shows up in six places:
| Task | Generic accounting tool | What a pharmacy needs |
|---|---|---|
| Inventory | Quantity only | Batch number and expiry date per lot |
| Dispensing rule | Last-in-first-out by default | First-expiry-first-out (FEFO) enforced |
| Controlled drugs | No special treatment | Separate ledger with permission control |
| Insurance claim | Treated as cash revenue | Claim with status: submitted, partial, settled, denied |
| VAT treatment | Single rate | Per-line: exempt for medicines, 15% for OTC |
| Patient invoice | Single line | Split between copay and insurer share |
Beyond the table, a pharmacy specifically needs three capabilities that generic software does not deliver:
- Batch and expiry tracking per SKU, with FEFO dispensing enforced at the counter, 60-day expiry alerts, and full traceability from supplier delivery to patient dispensing in case of recall.
- Insurance claim ledger per insurer, following every prescription from dispensing to settlement, with status, expected versus actual reimbursement, denial reason, and resubmission history all visible side by side.
- Per-line VAT treatment on prescription invoices, so prescription medicines (exempt) and OTC products (15%) carry the right rate on the same patient invoice. A ZATCA-certified simplified tax invoice is then issued automatically per dispensing.
How to organize a pharmacy’s books step by step
Moving from a paper-based pharmacy to integrated accounting takes around one to two weeks. This is the sequence the Qoyod onboarding team applies with every new pharmacy customer:
E-invoicing and ZATCA compliance for pharmacies
Phase two of ZATCA e-invoicing requires every pharmacy invoice to be issued through a certified system connected to the Fatoora platform. Pharmacies issue mostly simplified tax invoices because the customer at the counter does not carry a tax number, and B2B tax invoices to insurers and clinics under the Clearance flow. For a side-by-side comparison of vendor costs, the guide on e-invoicing pricing in Saudi Arabia is the best starting point.
Every prescription invoice must include the pharmacy name and tax number, a sequential invoice number, the date and time, an itemized list of items with the correct VAT treatment per line (exempt for prescription medicines, 15% for OTC), the totals before and after VAT, and a QR code. A certified system generates and transmits a signed XML copy to the Fatoora platform automatically within the 24-hour window for simplified invoices.
How to evaluate a ZATCA-certified system for a pharmacy
When evaluating any e-invoicing vendor for a pharmacy, verify these six criteria:
- Official ZATCA phase-two certification with a verifiable approval number on the Authority’s portal.
- Per-line VAT treatment on a single invoice (exempt, 15%, zero), not a single rate on the whole invoice.
- Both Reporting (B2C counter customers) and Clearance (B2B insurers and clinics) flows in one system.
- Long-term cloud storage of signed invoices for at least six years.
- A simulation environment for issuing test prescription invoices before going live.
- Live input-VAT and output-VAT reports ready in time for the quarterly filing deadline.
Where Qoyod fits in specifically for pharmacies
Qoyod brings together, inside one account: cloud accounting, batch- and expiry-tracked inventory, controlled-drug ledger with permission control, insurance claim lifecycle tracking, prescription billing with copay and insurer split, ZATCA-approved e-invoicing with per-line VAT, payroll, and consolidated reports. Every dispensing movement posts an automatic journal entry inside the same ledger.
The platform handles multi-branch pharmacies under one account, with inter-branch stock transfers (useful for emergency lending of slow-moving items between branches), role-based permissions per branch, and either consolidated or per-branch reports. It runs fully in the cloud so head office, branch managers, and the external accountant share the same numbers from any device.
For pharmacies opening new branches or migrating from a legacy system, the setup service and the bookkeeping service are available as part of Qoyod Pro Services, alongside the app marketplace for connecting to dispensing-system partners.
Frequently asked questions
Does Qoyod track inventory by batch number and expiry date?+
How does Qoyod handle controlled drugs?+
Does Qoyod track insurance claims from dispensing to settlement?+
Can the system handle per-line VAT on a single prescription invoice?+
Does Qoyod work for multi-branch pharmacies?+
Is technical support available 24/7?+
Running a pharmacy does not need a generic accounting tool, it needs a regulated operating system that ties batch, expiry, controlled drugs, insurance claims, and per-line VAT together inside one ledger. The pharmacies that consistently grow are the ones that see expiry risk and unsettled claims every week. That capability is what makes Qoyod the right fit for pharmacies in Saudi Arabia.