The order lifecycle
Every status an order passes through, who can move it, and what each move triggers.
#Statuses
| Status | Meaning |
|---|---|
pending | Placed, not yet accepted. Online payments sit here until the provider confirms |
confirmed | Accepted by the restaurant. Stock is deducted at this point |
preparing | The kitchen has started |
ready | Ready for pickup or hand-off to a driver |
delivering | With a driver |
completed | Done |
cancelled | Stopped. Stock is returned |
The kitchen display enforces a strict path — pending → confirmed → preparing → ready → completed — so a cook cannot skip a step by accident. The dashboard is deliberately more permissive, because a manager sometimes needs to correct reality.
An order placed for a future slot starts at pending like any other, but is held back from the kitchen display until its lead time. See scheduled orders.
#Payment status is separate
An order carries its own payment status: unpaid, pending, paid, failed, refunded. The two axes are independent on purpose. A dine-in table is completed and paid; a cash-on-delivery order is delivering and unpaid.
When an online payment provider confirms a payment, Restro marks the order paid and, if it was still pending, promotes it to confirmed in the same move.
#What each transition triggers
- Confirmed — deducts recipe ingredients from branch stock, and counts any discount redemption.
- Ready — surfaces on the pickup and driver views.
- Completed — sends the review request if the Reviews extension is on.
- Cancelled — returns deducted stock and releases the discount redemption.
Each of these also fires an outbound webhook if you have an endpoint subscribed.
#Editing an order
Orders can be edited while they are pending, confirmed, or preparing. You can change lines, quantities, the type, the branch, notes, and the discount. Restro reprices the whole order from the current menu and adjusts stock to match the new lines.
Once an order is ready the kitchen has already committed, and editing is closed.
#Void, comp and refund are three different things
Staff use the words interchangeably. The accounting does not, and collapsing them makes food-cost reporting meaningless.
| Revenue | Food cost | Cash | |
|---|---|---|---|
| Void | None | None — it was never made | Untouched |
| Comp | None | Real — it was made and given away | Untouched |
| Refund | Reverses | Already spent | Leaves the drawer |
Pick by what actually happened in the kitchen, not by what is quickest to tap.
#Voiding
Void removes something before money changes hands. It requires the orders:void permission and refuses to run on:
- An order that is already cancelled
- An order that is completed
- An order that has been paid — refund it instead
You can void a whole order or a single line. Voiding returns stock and records the reason.
If the line had already been sent to the kitchen, a void slip prints at the station that got it, so nobody plates an item that is no longer being paid for.
#Comping
Comp is for an item that was made and then given away — a dish that came out late, a gesture from a manager. It uses the same orders:void permission and the same reason list, and it works on a line or on the whole order.
A comp takes the revenue to zero but leaves the ingredients spent, so the cost still lands in profitability reporting. Voiding a plate that was actually cooked hides that cost; comping it does not.
#Refunding
Refund requires orders:refund and works on paid orders. You can refund the whole order or pick the lines going back.
- The amount is computed from the lines you pick, so a partial refund can never exceed what was paid for those items.
- A full refund sets the payment status to
refunded. A partial refund leaves itpaidand records the amount refunded so far. - Refunds go back to the method the customer paid with: cash out of the drawer, or a reversal through the card handler. Refunding a card sale in cash is a known fraud path, so it takes a manager's PIN and a reason.
- A cash refund needs an open drawer. It reduces the expected cash in the session and shows on the X and Z report.
- Restock returns the ingredients — for the exact lines you refunded, or the whole order on a full refund.
- Tips refund separately and are tracked on their own, so tip reports stay honest.
#Approval
If the person signed in does not hold orders:void or orders:refund, the terminal asks for a manager's PIN instead of refusing outright.
A branch can also set an approval threshold under Branches → Voids, comps and refunds. Above that amount even staff who hold the permission need a manager's PIN. Leave it empty and the permission alone is enough.
Either way the action goes through under the cashier's name with the manager recorded as the approver — the activity log names both, so an approval never obscures who rang it up.
#Reasons
Every void, comp and refund takes a reason. Restro ships a sensible list; a branch can replace it with its own under Branches → Voids, comps and refunds, with a separate list for each of the three actions.
#On a terminal
Open Orders on the point of sale and search by order number, table, customer, or the last four digits of the card. Tap an order to see its lines, its totals, and its full history — who rang it, who took payment, who voided or comped what, from which terminal and when.
From there you can reprint the receipt. A reprint always prints marked as a duplicate; an unmarked reprint is a refund-fraud tool.
Voids, comps and refunds appear separately on the shift summary and on the X and Z report. A shift with many comps is a signal worth looking at.
Did this page miss something? Tell us.
Back to top