Cancelling orders
Sometimes an order can’t be fulfilled — the kitchen is overwhelmed, an item is gone, or the customer asks to cancel. SupaOrder lets your staff cancel orders from the partner app with a structured reason, processes refunds automatically according to your settings, and can apply an optional cancellation fee with manager-level waive rights. Everything is configured in your admin dashboard.
What you control
Section titled “What you control”Cancellation is a feature you switch on and shape, all from the same Feature settings page:
- Master switch — whether cancellation is available at all.
- Partner cancellation — whether outlet staff can cancel from the partner app, and in which order statuses (for example while an order is ACCEPTED or PROCESSING, but not once it’s READY).
- Reasons — separate configurable reason lists for partner staff and for your admin team.
- Fees — an optional cancellation fee, fixed or percentage.
- Refunds — automatic or manual, with a default method and an optional wallet fallback.
- Permissions — per role: who can cancel, and who can waive the fee.
- Notifications — whether the customer and the outlet are notified.
Cancelling from the partner app
Section titled “Cancelling from the partner app”- Open the order in Partner app → Orders → Live Orders and tap Cancel. The button only appears in the statuses you’ve allowed.
- Pick a reason from your configured list and optionally add a note (for example, “customer called to cancel”).
- Confirm. The order is cancelled, the customer is notified (if enabled), and the refund is handled according to your settings below.
A cancelled order keeps its full detail in order history — items, reason, who cancelled, any fee, and the refund — so nothing disappears.
Cancellation reasons
Section titled “Cancellation reasons”You define two reason lists:
- Partner reasons — what outlet staff choose from (“Out of stock”, “Kitchen at capacity”, “Customer requested”…).
- Admin reasons — a separate list for your dashboard team.
Structured reasons are what make the cancellation reports below useful. Keep the lists short and unambiguous — the optional note field covers the edge cases.
Cancellation fees
Section titled “Cancellation fees”You can optionally charge a fee when an order is cancelled:
- Fee type — a fixed amount or a percentage of the order total.
- Waiving — roles you permit can waive the fee during the cancel flow, a useful goodwill gesture for a loyal customer or an honest mistake.
The fee is deducted from the refund and tracked separately in reports, so your accounting stays clean.
Refunds on cancellation
Section titled “Refunds on cancellation”For prepaid orders, the refund behaviour is yours to define:
| Setting | What it does |
|---|---|
| Auto-process on cancel | The refund fires immediately when the order is cancelled — no second step for staff |
| Default method | Where the refund goes by default — original payment method, store wallet, cash, or bank transfer |
| Allowed methods | Which methods staff may choose when refunding manually |
| Wallet fallback | If a card refund fails or isn’t supported, credit the customer’s wallet instead of failing |
The refund mechanics are shared with order editing — see Editing orders & refunds for how each method behaves, including the irreversibility of card refunds.
Who can do what
Section titled “Who can do what”Two per-role permissions govern cancellation:
| Permission | Allows |
|---|---|
| Can cancel | Cancel an order in the allowed statuses |
| Can waive cancellation fee | Skip the fee during a cancellation |
A common setup: managers can cancel and waive; counter staff escalate instead. Roles are managed in Users & roles.
Notifications
Section titled “Notifications”Two switches, individually configurable: notify the customer when their order is cancelled (with the refund details), and notify the outlet when a cancellation happens elsewhere — for example, from the dashboard. Channel options are covered in Customer communications.
Cancelling from the dashboard
Section titled “Cancelling from the dashboard”Your admin team can also cancel orders from the dashboard’s order views, choosing from the admin reason list. The same fee, refund, and notification settings apply, so the customer’s experience is identical regardless of who cancels.
Tracking cancellations in reports
Section titled “Tracking cancellations in reports”Under Dashboard → Reports you’ll find a dedicated set of cancellation reports:
| Report | Route |
|---|---|
| Cancellation summary | /reports/cancellation-summary |
| Cancellation list | /reports/cancellation-list |
| Cancellation fees collected | /reports/cancellation-fees-collected |
| Aging refunds | /reports/cancellation-aging-refunds |
| Customer cancellation frequency | /reports/cancellation-customer-frequency |
| Pending refunds | /reports/pending-refunds |
Watch the customer-frequency report for serial cancellers, and the aging-refunds and pending-refunds reports for refunds that need a manual nudge. See Reports & analytics.
Related: Editing orders & refunds · Order lifecycle · Store wallet