The pharmacy
This page is for the pharmacist. The admin can see these screens too, but only a pharmacist makes sales.
The till
Open a shift
Nothing can be sold until a shift is open.
- Count the cash in the drawer.
- Type the amount and press Open shift.
Make a sale
- Find the product. Scan its barcode, or type part of the name and press Enter. You can also tap a product tile. Each tile shows the price and how many are in stock. Rx marks a product that needs a prescription.
- Check the quantities in Current sale.
- Pick the patient. Search by name, phone or record number. If the patient has allergies on record, they show in red under the name. For someone who will not give a name, choose Walk-in customer, no name. You can also register a new patient from here.
- Add a discount if one is due: type the percentage and the reason. You can give up to the limit the clinic has set.
- Type the cash received. The change to give is worked out for you.
- Press Complete sale. The receipt opens. Press Print, then Next sale.
You never choose a batch. The system takes each medicine from the batch that expires soonest, and it will not sell from an expired batch. If a product shows as out of stock, there is no sellable batch left.
Fill a doctor’s prescription
When a doctor writes a prescription, it comes to the till by itself.
- Look at Prescriptions to fill above the products. It lists prescriptions written in the last three days that still have something to give. Click one to pick that patient. You can also pick the patient in the usual way.
- Under the patient’s name you now see:
- Allergic to, in red, if the patient has allergies on record. Read it before you hand anything over.
- Each prescription that is waiting.
- Press Dispense on the prescription.
- For each medicine, the box shows what the doctor wrote and how many were prescribed. Choose what to give:
- The brand the doctor picked, marked as prescribed.
- Another brand of the same medicine, if the prescribed one is out of stock. Type the reason. Only brands with the same generic, strength and form are offered.
- Do not give now, to leave that medicine for later.
- Check the quantity. You can give part now and the rest another day.
- Press Put in the basket. The medicines go into the sale, and a line shows which prescription is being filled.
- Take the cash and press Complete sale as usual.
The system records who gave what, how many and when, against each line of the prescription. The doctor sees it on the patient’s record.
Things to know:
- You cannot give more than was prescribed. To sell extra, add it to the basket as an ordinary item.
- A medicine that is a different strength or form, such as a syrup in place of tablets, is not a substitute. Ask the doctor to replace the prescription.
- A medicine the doctor typed by hand, which is not on your list, can be filled with any product you choose.
- If the doctor has replaced a prescription, only the new one is shown.
- Press the cross on the “Filling prescription” line to sell the basket as an ordinary sale instead.
Take goods back
- Press Return.
- Find the sale the goods came from. The customer’s receipt has its number.
- Choose what is coming back and how many.
- Confirm.
The stock goes back to its batch and the customer’s money is refunded from the drawer.
Close the shift
- Press Close shift.
- Count the cash in the drawer and type the amount.
The system compares your count with the sales and returns of the shift. Any amount short or over is recorded.
If the internet drops
Keep the till page open and carry on selling. Each sale is saved on that computer and sent when the connection returns. Do not close the browser until the sales have gone through.
Products and stock
Open Products and stock from the menu.
Find a product
Search by name, code or barcode. The buttons beside the search box show only what is running low, out of stock, close to expiry or already expired.
Each row shows the price, the stock on the shelf and the next expiry date.
See the batches
Press the arrow on a row. Each batch is one delivery, with its own batch number, expiry date and quantity left.
Add or change a product
- Press Add product to add one. Give it a name, a price, and where you know them: the generic name, strength, form, barcode, tax class and reorder level.
- Press the pencil on a row to change a product.
- Tick Needs a prescription for a medicine that should not be sold without one.
Buying by the box, selling by the strip. Stock is counted in the unit you sell, such as a strip. Set how many of those a box holds on the product. When a delivery arrives you enter boxes, and the system turns them into strips.
Add many products at once
- Press Import.
- Press Download an empty template and fill it in, one product on each row.
- Choose the file. The system shows a preview and lists any row with a problem.
- Apply.
Export downloads the whole product list as a spreadsheet.
Count in what is already on the shelf
When the clinic starts using the system, the shelf already holds stock.
- Press Opening stock.
- For each product, enter the batch number, expiry date, quantity and cost.
This puts the stock on the system without saying any supplier is owed for it.
Write off stock
For stock that is expired, broken or lost:
- Open the product’s batches.
- Press Write off on the batch.
- Type the quantity and the reason.
The stock leaves the shelf and the loss is recorded in the books.
Suppliers and purchasing
Open Suppliers and purchasing from the menu.
Order what is running low
Running low lists products at or below their reorder level, grouped by supplier.
- Press Order these beside a supplier. A new order opens with those products already in it.
- Change the quantities if needed.
- Press Save as draft.
- When the supplier has the order, press Mark as sent.
Press New order to start an order from nothing.
Receive a delivery
- Press Receive on the order, or Receive goods for a delivery with no order.
- For each product, press Add a batch and enter the batch number, the expiry date, how many boxes or units came, and the cost.
- Enter any free units the supplier gave, and the trade discount on the bill.
- Enter the date received and the date the bill is due.
- Save.
The stock goes onto the shelf, and the bill is added to what the clinic owes that supplier.
A delivery entered wrongly
Press Cancel on the delivery under Recent deliveries, then enter it again correctly. This works only while none of that delivery has been sold.
Suppliers
The Suppliers card lists each supplier and what is owed to them. Click a name to see:
- What is owed now.
- Unpaid bills, oldest first, with their due dates.
- A statement for the dates you choose, with every delivery and payment and the running balance. Use it to agree the account with the supplier.
Payments to suppliers are recorded by the admin, on Payments and expenses.
Clinical lists
Open Clinical lists from the menu. As the pharmacist you keep one list here.
Medicines not to give together holds pairs of generic names. When a doctor prescribes both, they are shown a warning.
- Type the two generic names.
- Choose Take care or Do not give together.
- Add a short note for the doctor if it helps.
- Press Add to the list.
Remove a pair with the bin beside it. For the warning to work, each product needs its generic name filled in on Products and stock.
Reports for the pharmacy
Open Reports from the menu. See Money and reports for how to run one. The pharmacy’s reports are:
- Pharmacy sales by day
- Pharmacy sales by product
- Stock on hand and its value
- Stock expiring soon or expired
- Till shifts and cash differences
NextFor technical users. Dispensing is part of the sale’s own transaction:
createSalechecks the request against the prescription before taking stock and writesprescription_dispenserows once the sale exists (packages/db/src/dispensing.ts). Those rows are append-only, so a later return does not reduce what a prescription shows as given. Two tills filling the same prescription take turns on a lock, so the prescribed quantity cannot be given twice. Stock leaves the earliest-expiring non-expired lot first (packages/domain/src/stock.ts), and the lot rows are locked before a balance changes, so two tills cannot sell the same last strip. Stock movements are append-only. A sale made while offline is queued in the browser’s storage on that device and posted on reconnect; this queue has no automated test yet, so treat it as a short bridge, not a way of working.
Money and reports
Paying suppliers and doctors, expenses, corrections, closing a month, every report.