Cancelling an order or a line
Before firing it is an edit; after firing it is a void, with a reason, on the record.
Two different situations:

Do this
- A line not yet fired is removed from the order with the × on it, and nothing is recorded — it never reached the kitchen.
- Cancel order cancels the whole thing with a reason, recorded against your name. Fired lines are cancelled, not deleted: the kitchen was told, and the report says so.
- Not yet fired. Remove the line. Nothing has been cooked and nothing is recorded beyond the edit.
- Already fired. It is a void, it needs a reason from your void list, and it stays visible. Food was cooked; the kitchen used stock; the cost is real whether or not the guest paid.
Cancel order does the same for a whole order. A cancelled order keeps its number — numbers are never reused, which is what makes a gap in a bill sequence a question worth asking rather than an everyday occurrence.
The voids report and the KOT audit are where all of this surfaces. A cashier voiding four fired dishes a night is a conversation; the report is how anybody notices.