Sometimes you need to edit an order after it's been placed. Customers changing their minds is one of the most common reasons. In fact, customers should be able to edit their orders before shipping, and it's good practice to give them that option, perhaps for a short time window after their order is submitted.
As long as the payment has only been authorized, any change to the order amount that keeps the order amount equal or lower than the original amount is easy to handle, as you can capture (even partially) the same authorization token.
However, if the edited order has a higher price, such as because the customer added more products to the order or selected a more expensive product, the original authorization is invalid, since you cannot capture more than what you authorized. In this case, you have to cancel the original authorization and create a new one, by asking the customer to reenter their payment method or re-authorize their credit card on file.
Anyhow, the fact that the payment is only authorized but not captured makes the process easy from a financial standpoint. It is possible to create and void as many authorizations as you wish without generating invoices or credit notes.
Once the payment has been captured, instead, things get tricky. Every payment is accompanied by an invoice. Even if the order amount does not change, editing a paid order involves editing the invoice line items. In the event that the new order amount is lower, you also need to issue a partial refund and a credit note (or a store credit) for the difference. If the new order amount is higher, you need to collect an additional payment from the customer, issue a new invoice, and reconcile more payments.
This process can become quite complex, as you can imagine. It is for this reason that many businesses simply cancel the original order, refund the customer and issue a full credit note. Obviously, this is not ideal for the brand and the customer, who can likely abandon the purchase or consider an alternative from a competitor.
Another scenario that involves editing an order is if some products are out of stock during fulfillment. A situation that is even more unpleasant for the customer since the order change wasn't their fault.
This illustrates why it's so important to provide accurate inventory data to the front-end, particularly when stock is shared across multiple channels. It also shows how important it is to update stock information in real-time.
Depending on what type of business you have and what products you sell, you may want to reserve the stock when an order is placed or an item is added to the cart, then decrement the reserved stock only at fulfillment. This will minimize the risk of overselling without affecting your logistics processes. Stock reservations can be released at any time without triggering automatic replenishments or stock transfers.
Essentially, stock reservations are to stock movements what payment authorizations are to payment captures. There are many reasons why order editing might be necessary. If this occurs, the editing process should have as little impact as possible on business operations.
The best time to edit orders is when the payment has only been authorized and the stock has only been reserved. In any case, flexibility, easy-to-use backoffice tools, and customer communication are crucial. Often, the way you handle errors and edge cases can be your most powerful marketing tool.