In the French localisation, there is a module that prevents fraud on POS orders by allowing them to not be modified, as this is a requirement by law. The issue is that this is implemented in such a way that it really disrupts the user experience in the store.
Several downsides:
- Ongoing orders can not be deleted, making the ongoing order list increase in size over time with "garbage" orders.
- Products cannot be removed from the order entirely. There will always be an order line for every product that was at one point added to the order. If the product is removed from the order, it will still be there with a quantity of 0. Any misclick by the store employee or a change of product by the customer during the shopping process will therefore always be reflected on the final order. This makes the final order way contain irrelevant information, less clear to both the store employee and the customer.
I understand the reasoning behind the inalterability of an order once it has been validated/paid, but what is the reasoning behind not allowing these operations for ongoing orders?