Pharmacy
For a medical shop or dispensary. Medicines are stocked and sold by batch and expiry, searched by salt or composition, and billed against a drug licence with the doctor and prescription on the bill when the schedule demands it. Expiry alerts, the Schedule Drug Register and doctor-wise sales come with the trade.
Set up before your first bill
The owner does these once. The preset has already turned on batch number, expiry and manufacturing dates, MRP per batch, no selling below zero stock, the Doctor master, and seeded Strip, Tablet, Bottle, Tube, Vial and the usual groups.
- Fill in the business Tools > Settings > Business Info: name, address, GSTIN and your drug licence number, which prints on every bill.
- Check the batch fields Tools > Settings > Product Batch: Batch Number, Expiry Date, Manufacturing Date and MRP are on. Turn on Batch Matrix Mode if you like to type a product's first batches as a grid.
- Add your medicines under Master > Products with the composition (salt), the pack (a strip of 10 sells by the strip or the tablet) and, in India, the schedule.
- Add prescribing doctors under Master > Doctors, and your distributors under Master > Suppliers.
- Book your stock with batches on a Purchase > Purchase Invoice: batch number, expiry and MRP on every line, so the counter can pick by expiry from day one.
- Set up the counter and printer Tools > Settings > Invoice Print (thermal roll or A4).
- Create a login for each person (see Who signs in), then bill one test sale of a scheduled drug with a doctor on it, and cancel it.
How the work flows
Batch and expiry enter with the purchase and follow the strip to the bill. Each step says who does it and what prints.
Receive stock
Purchase Invoice from the distributor: batch number, manufacturing and expiry date, MRP and pack on each line.
Find the medicine
At Counter Sale or Tax Invoice, search by brand name or by salt. A salt search finds every brand that contains it, so a substitute is one search away.
Pick the batch
The earliest-expiring batch with stock is offered first and an expired batch is skipped, so old stock goes out before new.
Scheduled drugs
For a scheduled drug, record the doctor and the prescription number and date on the bill. That bill then appears in the Schedule Drug Register.
Take the money
Cash, UPI, card or on account for a regular or a nursing home.
Watch expiry
The near-expiry card on the dashboard and the Expiry Items report list what is running out of date.
Return to the distributor
Send near-expiry stock back on a Purchase Return inside the return window; what cannot go back is written off with a Stock Adjustment.
Inspection and doctor reports
Reports > Sales holds the Schedule Drug Register for the drug inspector and Doctor Sale for sales per prescriber.
The whole journey on one page:
flowchart TD
P[Purchase Invoice] --> P1[Per line: batch no · mfg · expiry · MRP · pack]
P1 --> B[(The batch or piece)]
B --> S[Counter Sale / Tax Invoice]
S --> S1[Search by name or composition]
S1 --> S2[Pick batch
earliest expiry offered first · expired skipped]
S2 --> S3{Scheduled drug?}
S3 -->|yes| S4[Doctor · prescription no and date]
S3 -->|no| S5
S4 --> S5[Payment · print]
S5 --> T[(Bill lines with the batch
doctor and prescription on the bill)]
T --> R1[Schedule Drug Register]
T --> R2[Doctor Sale report]
B --> E[Expiry alerts on dashboard
Expiry Items report]
E --> PR[Purchase Return to supplier]
Who signs in
Give every person their own login; a pharmacist's name on the bill should be the person who dispensed. There is no seat picker: you choose a role, then tick switches. A User is only offered the counter switches. Discounts on the bill, purchase, stock, returns to the distributor and reports are offered to a Manager alone.
- Open the users list Tools > Settings > Users, then add a user.
- Set the login: User Name and Password (on a cloud business, the person's email address).
- Pick the Role Type and link the person's Staff contact.
- Tick the switches and save. The change reaches them at their next sign-in.
Typical logins:
Owner / Admin
The proprietor or registered pharmacist in charge.
- Role
- Owner or Admin
- Opens on
- Dashboard, with the near-expiry card
- Phone bar
- New Sale · Payment · More
- Starts with
- Everything, including Settings and Users
Pharmacist / counter
Dispenses and bills.
- Role
- User
- Opens on
- Dashboard, one tap from New Sale
- Phone bar
- New Sale · Payment In · More
- Tick
- Payment Entry, Add Contact, Runs a cashier shift if shifts are on, Less Customer Points (shown when points are on)
- Leave off
- Edit Voucher, Delete Voucher. A User cannot be given a bill discount; if your counter gives one, make that person a Manager with Voucher Less and a Max Less Percentage
Store / Purchase
Orders from distributors, receives stock, handles expiry returns.
- Role
- Manager
- Opens on
- Dashboard
- Phone bar
- New Sale · Payment · More
- Tick
- Manage Purchase, Stock Adjustment, Add Product, Edit Product, Payment Entry, View Reports (for Expiry Items and Reorder)
- Leave off
- Delete Product, Delete Voucher, Salary
Delivery boy
Home delivery of medicines.
- Role
- Delivery Boy
- Opens on
- Delivery Run, and nothing else
- Offered
- Only on a cloud business or one running SKS Server
- Not given
- Any switches
Accountant
Your tax consultant.
- Role
- Accountant
- Opens on
- GST Reports, and nothing else
- Offered
- Cloud businesses only
The full switch list is in Users, Roles & Permissions. A hospital's dispensary is staffed from the hospital's own seat form instead: see Hospital.
Where it is in the app
The POS main page with the standard menus (see Supermarket & Grocery for the layout). Pharmacy-specific entries: Master > Doctors, Reports > Sales > Doctor Sale and Reports > Sales > Schedule Drug Register (India), Reports > Stock > Expiry Items, the near-expiry card on the dashboard, and batch columns everywhere stock is shown.
What matters for this trade
Batch and expiry
Switched on by the preset under Settings > Product Batch: every stocked line asks for batch number and expiry at purchase, the counter offers batches earliest-expiry first and skips expired ones, and stock reports break down by batch. Multi-unit (strip / tablet) sale is on for pharmacies, and selling below zero stock is blocked.
Composition search
A product carries its composition (salts). Typing a salt at the counter finds every brand that contains it, so a substitute is one search away.
Doctors and schedule drugs
Doctors are a master; a bill can record the doctor, prescription number and date. The Schedule Drug Register lists those bills for inspection (shown in India, where the Schedule H / H1 / X classification applies); Doctor Sale totals sales per prescriber.
Licence on the invoice
The drug licence number is entered under Business Info and prints on every bill, with the licence label the category expects.
The expiry cycle
flowchart TD
A[Batch received with an expiry date] --> B[On the shelf]
B --> C{Approaching expiry?}
C -->|no| D[Sold normally
earliest expiry offered first]
C -->|yes| E[Near-expiry alert on the dashboard]
E --> F{Supplier takes it back?}
F -->|yes| G[Purchase Return before the cut-off
credit from the supplier]
F -->|no| H[Stock Write-Off at cost]
G --> I[Loss avoided]
H --> J[Loss recorded in Profit and Loss]
D --> K[Reorder report tops the shelf up] --> A
Settings to check
- Settings > Product Batch - Batch Number, Expiry Date, Manufacturing Date, MRP, Batch Matrix Mode.
- Settings > Product - multi-unit, MRP, reorder quantity.
- Settings > Master - Doctor on (records the prescriber on a sale).
- Settings > Business Info - drug licence number.
Reports
Schedule Drug Register, Doctor Sale, Sales Register, Purchase Register, Stock List by batch, Expiry Items, Reorder Stock, Supplierwise Purchase Value, GST Reports, Customer / Supplier Statement, Profit.