The system is highly susceptible to theft without proper communication between the servers, kitchen, and back office. Every item delete should have a trace of some kind.
In the scenario where a server makes a mistake or a customer changes their mind at the table, and the order hasn’t been fired to the kitchen, the delete is harmless.
In the scenario where the server sends it to the kitchen, claims it should be deleted as if it was a mistake, but no one ever tells the kitchen, the business is exposed to theft or loss.
The delete button should also trace back to reporting, much like void and refund reports.
Currently, you can restrict “Delete item from order“, but then if the server genuinely makes a mistake at the table they will need manager pin to delete before firing.
You can also restrict “Edit an item after print with override”, but then you lose the functionality to add modifiers, increase quantity of the item, or add notes.
Ideally, a functionality where you can restrict “Delete item from order after print” would be best.