← Knowledge library

Pharmacy

Return unused medication to pharmacy stock

Use the authorized inventory role to prepare, approve, receive and complete a medication return, then verify stock and the generated refund invoice.

Current source · source reviewed · 9 min read

Before you begin

1. Create or open the patient return draft

From a completed dispense choose Medication Return, enter a clear name and note, then Create Return. The default Pharmacist attempt in the captured flow is refused. For the subsequent walkthrough an authorized Facility Admin draft was provisioned through the normal API; draft creation itself is not claimed as a verified Facility Admin UI success.

Prepare a synthetic medication return. Actual MANSOQ application with explicitly synthetic local training data.
Prepare a synthetic medication return · 2026-10-18. Production build of audited MANSOQ; isolated synthetic Pharmacist fixture; no real patient or production data.
Default Pharmacist return permission refusal. Actual MANSOQ application with explicitly synthetic local training data.
Default Pharmacist return permission refusal · 2026-10-18. Production build of audited MANSOQ; isolated synthetic Pharmacist fixture; no real patient or production data.

2. Load the original dispense

Open the return worklist and draft. In the original-dispense context, use Load from order, select the dispensed item and choose Done. Verify the original batch and quantity before reducing it to the unused quantity.

3. Save the return item

Enter the unused quantity and select Save (Shift+Enter). The synthetic example returns1 of the2 units dispensed. Saving adds an In Progress/Normal return item; it does not yet restore stock.

Select one unused unit for return. Actual MANSOQ application with explicitly synthetic local training data.
Select one unused unit for return · 2026-10-18. Production build of audited MANSOQ; isolated synthetic Facility Admin fixture; no real patient or production data. Initial return draft is a normal API fixture; subsequent shown return actions use the UI.

4. Approve the return order

Review product, lot, quantity and note, then select Mark as Approved. The order moves from Draft to Pending.

Approve the saved return item. Actual MANSOQ application with explicitly synthetic local training data.
Approve the saved return item · 2026-10-18. Production build of audited MANSOQ; isolated synthetic Facility Admin fixture; no real patient or production data. Initial return draft is a normal API fixture; subsequent shown return actions use the UI.

5. Receive and update stock

Select the item and Receive & Update Stock. Review Receiving Status and Item Condition?. The synthetic unused unit is received as Completed / Normal. Select Confirm. Do not choose Normal for an actual damaged item; follow the facility policy.

Receive the unused unit into stock. Actual MANSOQ application with explicitly synthetic local training data.
Receive the unused unit into stock · 2026-10-18. Production build of audited MANSOQ; isolated synthetic Facility Admin fixture; no real patient or production data. Initial return draft is a normal API fixture; subsequent shown return actions use the UI.

6. Verify item receipt

Confirm that the item row is Completed with the intended condition. Mark as Completed becomes available only after the receipt stage in the observed UI. The example stock readback changes98→99.

7. Complete the return order

Select Mark as Completed. Wait for overall Completed, Items Returned, and the invoice link. The completed order generates a synthetic refund invoice; this is distinct from paying a refund.

Completed return and generated refund invoice. Actual MANSOQ application with explicitly synthetic local training data.
Completed return and generated refund invoice · 2026-10-18. Production build of audited MANSOQ; isolated synthetic Facility Admin fixture; no real patient or production data. Initial return draft is a normal API fixture; subsequent shown return actions use the UI.

8. Reconcile the result

Read back the return order, receipt, stock and refund invoice. In the example100 received minus2 dispensed plus1 returned equals99 stock. The generated refund invoice remains issued, and no refund payment was recorded. Preserve these stages when reconciling the original dispense.

Completed return and generated refund invoice. Actual MANSOQ application with explicitly synthetic local training data.
Completed return and generated refund invoice · 2026-10-18. Production build of audited MANSOQ; isolated synthetic Facility Admin fixture; no real patient or production data. Initial return draft is a normal API fixture; subsequent shown return actions use the UI.

Default role boundary

External supply-delivery creation is assigned to Facility Admin/Admin by the audited permission registry. Do not expand Pharmacist permissions simply to make an example succeed.

Default Pharmacist return permission refusal. Actual MANSOQ application with explicitly synthetic local training data.
Default Pharmacist return permission refusal · 2026-10-18. Production build of audited MANSOQ; isolated synthetic Pharmacist fixture; no real patient or production data.

Verified training outcome

Actual UI steps saved the item, approved the order, received stock and completed the return. The independent readback verifies a completed return/receipt, stock99, and an issued refund invoice. Initial draft setup used a normal validated API fixture.

Completed return and generated refund invoice. Actual MANSOQ application with explicitly synthetic local training data.
Completed return and generated refund invoice · 2026-10-18. Production build of audited MANSOQ; isolated synthetic Facility Admin fixture; no real patient or production data. Initial return draft is a normal API fixture; subsequent shown return actions use the UI.

Troubleshooting

Cannot write delivery orders

Use the authorized inventory role and correct organization/location context. The default Pharmacist role does not have this write permission.

Mark as Approved is disabled

Save at least one valid return item first.

Mark as Completed is disabled

Finish receiving or otherwise resolving the return items; inspect each item’s status before completing the order.

Source evidence

References are pinned to the private MANSOQ source repository. Repository access is required to open these links.