Refunds
Refunds can be started in two places: on the till (Orders → tap the order → Refund) and in the Hub (Orders → open the order → Refund · PIN). Both run on the same engine — the same ceiling, the same audit trail.
What can be refunded
The ceiling is always what's actually been paid, minus anything already refunded. Over-refunding is impossible from either surface — the server enforces the bound even if a till is out of date.
On the till you can refund by items (pick lines and quantities — the value uses what the guest actually paid after discounts) or by amount (any value up to the ceiling). Refunded items and payments stay on the order record; the order shows as Refunded in the Hub list either way.
Reasons
Every refund records a reason (wrong item, food quality, long wait, order cancelled, accidental charge, goodwill, other) and optional notes. The reason appears in the activity log and on the refund receipt.
Where the money goes
- Original card — PayPal, Dojo and Zettle payments can be reversed to the card, in full or in part (one refund per card payment). Card refunds run from the till, where the terminals are.
- Cash — from the drawer. Works offline on the till; it syncs like any sale.
- Gift card (store credit) — issues a gift card code for the amount, shown on screen and printed on the refund receipt. The code works like any other gift card. Needs a connection.
Who can refund
The refund.issue permission (see Job titles & permissions) governs refunds — including an optional per-person value cap, beyond which the till asks for a manager PIN. Refunding to a different method than the guest paid with (say, cash back for a card payment) always needs a manager PIN, whatever the staff member's own setting. Hub refunds always take a manager PIN.
Receipts and the audit trail
After a till refund you can print a refund receipt: the amount, destination, reason, the refunded items, and the gift-card code if one was issued. It's styled like your customer receipt — store name, contact and logo — so it looks the part. Reprinting a receipt for an order that's been refunded shows a Refunded line under the total, so the receipt never reads as fully paid. Every refund also lands in Team → Activity with who did it, who approved it, the amount, destination and reason.