When a customer brings medicine back, you record a sale return against the original invoice. MediPOS puts the stock back into the batches it came from, works out a fair refund, and either pays the money back or credits the customer's account. This is how your pharmacy handles customer returns and refunds for part of a bill, or for any bill older than today.
If Returns is not in your Sales menu, your plan does not include Sale returns; the owner can see what each plan includes under Plan & billing.
Return or void?
| Situation | Use |
|---|---|
| Wrong item billed today, whole bill to cancel | Void the sale |
| One item from today's bill comes back | Sale return |
| Customer brings a strip back next week | Sale return |
| Bill already voided | Nothing to return |
How to return items against an invoice
You can start from the invoice (Sales → Invoices, open the bill, Return items) or from Sales → Returns → New return. On the new return page:
- Latest bills lists the branch's last few bills with their time, customer and total. Click one to open it.
- Or use the Invoice number box. It already holds the latest bill's number without its last 3 digits (for example INV-MAIN-W-100), with the cursor at the end, so you usually type only those 3 digits (957) and press Find invoice. You can also clear it and type the number in full, or just its last digits. With only digits, MediPOS opens the latest bill ending in them, so check the date, customer and total at the top before you go on.

Swipe to see the whole screen · tap to close
- The table lists each item with Sold, Can return, Return qty and Unit. Enter how many are coming back; leave 0 on lines that stay sold. The Unit starts on the unit the bill was made in, and you can change it to any unit of the item: a customer who bought 1 Box of 100 tablets and brings back 55 tablets is entered as 55 with the unit Tablet. The refund is that share of what was paid for the line (55 of 100). Can return shows what is left in the item's own units, for example 4 Strip, 5 Tablet.
- For each returned line, choose Put back to: Shelf (sellable) or Quarantine (damaged).
- Under Refund, choose Pay back money and pick Refund by (Cash, EasyPaisa, JazzCash, Bank transfer or Card), or Credit …'s account if the bill was made to a named customer.
- Enter the Reason, for example "Doctor changed the medicine".
- Click Complete return and confirm. Stock and money are updated at once.
The return gets its own number (SR-…) and appears in the Sale returns list with Invoice, Reason, Refund and Amount.
How the refund amount is worked out
The refund is each item's share of what the customer actually paid, including any bill discount. A customer bought 2 packs of Augmentin 625 mg at Rs. 600 and a Brufen syrup at Rs. 150, a bill of Rs. 1,350 with a Rs. 135 bill discount. The Augmentin carried Rs. 120 of that discount, so the 2 packs cost him Rs. 1,080. Returning one pack refunds Rs. 540, not Rs. 600. Item discounts are taken off in the same way.
Where the stock goes
- Stock goes back into the exact batch it was sold from, at the cost it left at, so stock value and profit stay correct. If a line was sold from two batches, the batch with the later expiry is refilled first.
- Shelf (sellable) puts it back in the branch's selling store, ready for the next customer.
- Quarantine (damaged) puts it in the branch's quarantine location, where it cannot be sold. From there you can return it to the supplier or write it off.
- Stock from a batch that has expired or been blocked always goes to quarantine, whatever you choose.
How the refund is paid
Pay back money. The refund is paid from the account you pick. A cash refund made while your shift is open reduces the expected cash in your drawer, shown as Refunds to customers.
Credit the customer's account. No money changes hands. The credit first clears whatever is still unpaid on that same invoice, then reduces the customer's other udhaar. If nothing is owed, it becomes an advance for their next purchase. This option appears only when the original bill was made to a customer.
Returns without the receipt
When a customer has lost the receipt and you cannot find the bill, staff with the Return without invoice permission see Return without an invoice on the new return page. Search each product, choose the Unit, Qty and Put back to, then the Refund by method and a Reason. The refund is at today's price, the stock goes into the product's latest batch, the refund is always paid in money, and the return is recorded in the audit log. By default only the Owner and Admin roles have this permission, because it can be misused.
Rules and limits
- Never more than was sold. MediPOS counts what has already been returned from each line. Trying to return more gives a message such as "Only 1 Pack of Augmentin 625 mg can still be returned from this invoice."
- Voided bills cannot be returned. Their stock and money were already reversed.
- Check before you confirm. A completed return cannot be edited. One entered by mistake can only be voided on the same day (see below).
- Permission. Returns need Process sale returns. The Manager and Pharmacist roles have it by default; the Cashier role does not.
- Dated today. A return is dated the day you enter it, whatever the date of the original bill.
- Where it shows. Returns (but not voided ones) reduce net sales in the Daily sales report and Returns today on the dashboard, appear as Returns taken in Sales by cashier and as Refunded in Payments at the counter, and show as Less: returns in the profit and loss.
How to void a return entered by mistake
If a return was entered wrongly, for example the wrong item or quantity, open it from Sales → Returns. Under Void this return, write the Reason and click Void return (in the Windows app, Void return at the top of the return's page). The stock goes back out of the batches it came into, a money refund is taken back into the account it was paid from (a cash refund goes back into your drawer), and a credit to the customer's account is taken off again. The return stays in the list marked Voided, with the reason, and is left out of the reports.
- Only a return made today can be voided. After that, bill the items again on a new sale.
- A return FBR already has as a credit note cannot be voided.
- The stock it put back must still be there.
- Voiding needs the Void invoices permission. Without it, a supervisor who has it approves with their PIN, as for voiding a sale. See Counter PIN and supervisor approval.
Returns not yet with FBR
If your pharmacy reports to FBR, each return is sent as a credit note. When FBR does not have one yet, the dashboard shows N returns not yet with FBR; click it to see just those returns. Open one and click Send to FBR now to try at once. MediPOS also tries again every five minutes on its own. See FBR POS integration.
Common questions
Can a cashier take a return?
Not with the default Cashier role. A pharmacist or manager can take the return, or, if your plan includes custom roles, the owner can add Process sale returns to the Cashier role under Administration → Roles.
Does the refund include the discount the customer got?
Yes. The refund is what the customer actually paid for those items after item and bill discounts, so you never refund more than you received.
The customer returned an expired strip. Where does it go?
Stock from an expired batch always goes to quarantine, so it can never be sold again by mistake. Return it to the distributor or write it off from there.
I entered a return by mistake. Can I undo it?
On the same day, yes: open the return and void it, as described above. A return cannot be edited, and one from an earlier day cannot be voided. If the items did not really come back, bill them again as a new sale so the stock and money are right.
Related guides
Last updated 13 October 2026. Still stuck? Contact us.