Skip to main content
Everything after the sale happens on the Sales page: reversing a whole transaction, voiding the two packs a customer brought back, discounting what they kept, and collecting what is still owed.

What you’re looking at

The Sales Dashboard — “Track and analyze your pharmacy sales performance” — opens on Overview. Go to Recent Sales for the Sales History table: Sale #, Date & Time, Customer, Items, Payment, Amount and Status.
  • Narrow or widen the period with the date-range picker.
  • Filter by state: All Status, Completed, Pending, Cancelled, Refunded.
  • Search or scan into “Search or scan receipt…” — scanning the barcode on the customer’s receipt opens their sale directly.
  • A sale taken during an outage carries an Offline badge.
Each row’s ⋯ menu lists Print Receipt and Download PDF, and then — on completed sales only — Edit sale and Return / void all. Those last two, plus the Debtors sheet at the top of the page, are the whole of this page. With no sales yet, the table shows No sales found and there are no ⋯ menus to open. A line with nothing left to give back carries a Fully settled badge inside Edit sale.

Amend part of a sale

Use this when the customer brings some of it back, or keeps everything and you agree a reduction.
1

Open Edit sale

On the row’s ⋯ menu, select Edit sale — “{sale number} · void returned units or discount what the customer keeps”.
2

Void the units that came back

Each line offers Void units (max {n}), where the maximum is what has not already been given back. A line that is done reads (none left), and the sheet shows Already given back: {amount} for anything previously refunded.
3

Or discount what they keep

Discount (max {amount}) takes money off without returning goods, with presets for 10%, 25%, 50% and All. The sheet shows the equivalent percentage as you type — ”≈ 12.5% off”.
4

Decide whether the goods go back on the shelf

Once you have staged at least one voided unit, Restock the voided units appears — “Only after inspecting the goods — they go back into the exact lots they left.” Tick it only when the stock is genuinely resaleable.Leave it unticked and the sheet is explicit: “Voided units will NOT return to stock. Tick restock above if the goods came back.”
5

Say why

Reason is free text — “e.g. damaged outer packaging, customer returned 2 packs…”. Write what you would want to read in three months when the figures are queried.
6

Apply

Check the summary — Voiding {n} unit(s), Discount, Back to customer — then select Apply changes. The toast reads Sale {number} updated — {n} unit(s) voided · stock restored · {amount} discounted, naming only the parts you actually did.
Everything is staged and committed in one action, so a half-finished amendment cannot be left behind. If part of it fails, the sheet stays open and reloads with the real remaining figures rather than closing on a guess.

Reverse the whole sale

1

Open Return / void all

On the row’s ⋯ menu, select Return / void all. The dialog is headed Return sale {sale number}: “This reverses the full sale. The refund is netted out of your sales reports; returns are only allowed inside your configured return window.”
2

Give a reason

“e.g. wrong item, damaged packaging, customer changed mind…”.
3

Decide on restocking

Restock inventory — “Only tick this after inspecting the goods — returned stock goes back into its exact lots.” Tick it when the goods are resaleable and leave it clear when they are not.
4

Confirm the inspection

Confirm return stays disabled until you tick I have inspected the returned goods and confirm this refund. That is required on every return, restock or no. If you tick restock without it, the dialog says “Confirm inspection before restocking.”
5

Confirm

Select Confirm return. The toast reads Sale {number} returned · stock restored when you restocked, and Sale {number} returned when you did not.
Restocking puts the goods back into the exact lots they came out of, and they will be dispensed to the next customer. Only tick it after you have physically inspected what came back — cold-chain items, opened packs and anything that left the premises unaccounted for should never go back on the shelf.

Settle what is still owed

Part payments create a balance, and Debtors at the top of the Sales page is where you clear them — “Sales with an outstanding balance. Record a payment when the customer settles up.”
  • Total outstanding heads the sheet when anything is owed. When nothing is, it reads “No outstanding balances — everyone’s paid up.”
  • Each row shows Paid {amount} of {total}, the phone number, and the Balance. A registered customer with prepaid funds also shows {amount} on account.
  • Record payment takes the money now — enter the Amount and choose the Method: Cash, Card, Bank transfer or Mobile money.
  • Settle from account debits the customer’s prepaid balance and pays the sale in one step, when they have the funds and you are online. See Customer wallets.
Paying more than is owed is refused rather than absorbed — put the extra on the customer’s account instead, so it stays theirs.

Who can do this

This is the sharpest permission line in the product, and it is deliberate: the person who took the money is not the person who reverses it. Refund or void a sale governs both surfaces on this page — the return dialog and the edit sheet — and a Cashier does not have it. Role governs the sidebar: a Cashier reaches POS and Sales, so the ⋯ menu is on their screen and Edit sale opens — the Apply changes and Confirm return buttons are simply disabled, with the reason on their tooltip. Two behaviours surprise people:
  • Enforcement is opt-in, per person. Someone never saved in the permissions sheet is unrestricted and can refund, whatever their role bundle. The sheet warns “Saving starts enforcing”.
  • A denied action is recorded; an allowed one is not. A refused reversal leaves a line in the audit trail; one you were entitled to make does not.
See Staff permissions.

Check it worked

  • The sale’s Status in Sales History becomes Refunded after a full return; an amended sale keeps its number and shows the reduced amount.
  • If you restocked, the item’s quantity in Inventory goes back up, into the same lots and expiry dates it left.
  • A settled debt disappears from Debtors, with a toast of Paid in full or Payment recorded — {amount} still due.

Common issues

You do not have Refund or void a sale. The reversal dialog says the same thing in its own words. Ask an owner or manager to allow it, or have them make the correction.
Returns are time-limited, and the message names your window — for example, “outside your 48-hour return window”. The limit is a setting, not a fixed rule; an owner or manager can review it.
Edit sale and Return / void all appear on Completed sales only. A sale that is already refunded or cancelled cannot be amended again.
You ticked Restock inventory without confirming the inspection. Confirm return needs that tick on every return anyway — it exists so that putting goods back is a decision somebody made, not a default.
The restock box was not ticked — the sheet warns about exactly this. Correct the quantity with a stock adjustment in Inventory, and note the reason.
The same settlement reached us twice, usually a double-tap or a retry. The balance is correct; nothing has been taken twice.
There is none on this page. Exports live on the Executive dashboard’s report tabs and in Analytics.

FAQ

Only if you tick the restock box. Reversing a sale always returns the money, but the goods stay off the shelf unless you say they came back — most of the time they have not, or they are not fit to sell. When you do tick it, the units go back into the exact lots and expiry dates they left.
Yes. Each line remembers what has already been given back, so the caps shrink: Void units (max {n}) counts down, and a line with nothing left reads (none left) with a Fully settled badge. The sheet shows Already given back: {amount} so you can see the history before adding to it.
Voiding says goods came back, so units can be restocked. Discounting says the customer kept everything and you took money off. They are kept separate on purpose: collapsing them would consume a customer’s right to actually return what they still hold.
Once it has synced, yes — it behaves like any other completed sale. While it is still queued on the terminal it is not in Sales History, so there is nothing to open. Wait for the till’s status button to read Synced.
Yes — it is netted out of the sales reports for the period the sale belongs to, so the takings you see are money you actually kept. That is also why an amendment carries a reason rather than being a silent edit.
The Sales page as a whole — the overview, product performance and the day’s figures — is covered in The sales dashboard.