With Magento, the order status flow can be quite confusing.
The following diagram from MBS is useful in understanding the status flow:
It’s worth noting the following too:
- An order can be “held” from any state/status in Magento
- When “Unholded”, it goes back to the previous state/status
- Once an order is “Cancelled” or “Closed”, it’s impossible to change state or status (except “Hold”)
- An order cannot go to “Complete”, until everything is invoiced and shipped
- An order cannot go to “Closed”, until all it’s items are refunded