Qoyod
Pricing

Best Accounting Software for Pharmacies in Saudi Arabia

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.

Try Qoyod to run your pharmacy
Batch and expiry tracking, insurance claim management, per-line VAT on prescription invoices, and ZATCA e-invoicing, all in one connected account.
Try Qoyod free for 14 days, no credit card required.

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:

1. Build a clean item master with VAT codes
Every SKU has a barcode, an SFDA registration number, a default VAT code (exempt for prescription medicines, 15% for OTC and supplements), a default insurer reimbursement code, and a target margin. Skip items you no longer carry. A clean item master is the foundation of every prescription invoice that follows.

2. Enter opening batch inventory
On go-live day, count every shelf and cold-chain item with batch number, expiry date, and quantity. The total is the opening inventory value, and FEFO dispensing applies from the next prescription onwards.

3. Connect the till and the barcode scanner
Wire the cash registers and scanners into the same system as the accounting platform. Every scan issues an e-invoice, deducts the right batch from stock, and posts to revenue in one step, with no manual re-entry.

4. Set up the insurer list with reimbursement rules
Each insurer goes on the master list with submission portal, average settlement period, average denial rate, and any pre-approval requirements. From now on, every claim inherits these defaults and ages correctly in the receivables report.

5. Set the controlled-drug cabinet ledger
Move the controlled-drug paper logbook into a dedicated module with permission control: only authorized pharmacists can dispense, every movement is logged with prescriber details, and the SFDA reconciliation report is one click away.

6. Review expiry, margin, and claims weekly
Allocate 30 minutes a week to three reports: items expiring in the next 60 days, gross margin by category, and aging claims per insurer. Weekly catches reduce write-offs and protect cash flow.

7. Prepare VAT quarterly with correct service split
The system rolls up exempt medicines, 15% OTC, and zero-rated items correctly into a ready-to-file VAT return. For those who prefer to delegate, the VAT filing service from Qoyod Pro Services is available.

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.

What a pharmacy gets when it subscribes to Qoyod
ZATCA
Phase-two certified
14 days
Free trial, no card needed
24/7
Support across all channels
Cloud
Access from any device, anywhere

Frequently asked questions

Does Qoyod track inventory by batch number and expiry date?+
Yes. Every SKU is tracked per batch with quantity and expiry date. FEFO dispensing is enforced at the counter (the earliest-expiring batch is dispensed first), 60-day expiry alerts fire automatically, and full traceability from supplier delivery to patient dispensing is available in case of a recall.
How does Qoyod handle controlled drugs?+
Controlled drugs sit in a separate ledger with permission control: only authorized pharmacists can dispense, every movement is logged with prescriber details and patient ID, and the SFDA reconciliation report is one click away. The paper cabinet logbook is no longer needed.
Does Qoyod track insurance claims from dispensing to settlement?+
Yes. Every insured prescription creates a claim with full lifecycle tracking: submitted, partial, settled, or denied. The receivables report shows aging per insurer, expected versus actual reimbursement, denial reasons, and resubmission history. No claim is ever lost in a spreadsheet.
Can the system handle per-line VAT on a single prescription invoice?+
Yes. Prescription medicines (exempt), OTC products (15%), and zero-rated items each carry their own VAT code, and a single patient invoice can mix all three. The quarterly VAT return then rolls them up correctly with no manual adjustment.
Does Qoyod work for multi-branch pharmacies?+
Yes. Multiple branches run under one account with inter-branch stock transfers (useful for emergency lending of slow-moving items), role-based permissions per branch, and either consolidated or per-branch reports. Head office sees company-wide margins by branch and by category, while each branch manager sees only their own numbers.
Is technical support available 24/7?+
Yes, 24/7 support is available across phone, WhatsApp, email, and live chat. The support team is based in Saudi Arabia and trained on pharmacy specifics (batch tracking, FEFO dispensing, controlled drugs, insurance claims), so resolution time on critical issues stays short, even during evening peaks.

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.

0%
جاهز لتطبيق ما قرأته؟

قيود يدير محاسبتك بدقة وامتثال كامل لهيئة الزكاة والضريبة والجمارك

جرّب قيود مجانًا لمدة 14 يومًا — بدون بطاقة ائتمان.

Ready to put this into practice?

Qoyod handles your accounting accurately and stays ZATCA-compliant.

Try Qoyod free for 14 days — no credit card required.