Magento Order Status & State Flow

When you process orders in Magento the status of each order changes according to its current state in the order processing workflow. For example, when an order is placed but it’s not paid and shipped yet, meaning no invoice and shipments are submitted, the status of the order is set automatically to Pending. After you generate an invoice or you submit the shipment the status is changed to Processing, and when you both generate an invoice and you ship the order the status is changed to Complete.
If you need information on how to process orders check out the tutorial on managing orders in Magento.
The admin panel of Magento has options with which you can edit the preconfigured order statuses and you can add new ones. Notice that in Magento there is a distinction between order statuses and order states. The order state is what defines the position of the order in the order processing workflow. Order statuses are assigned to order states. The thing that you see in the admin panel when you view and manage orders is the status of the order not the state.

The order states are:

  • New
  • Pending Payment
  • Processing
  • Complete
  • Closed
  • Canceled
  • On Hold
  • Payment Review

Order statuses that come pre-configured with Magento are:

  • Processing
  • Pending Payment
  • Suspected Fraud
  • Payment Review
  • Pending
  • On Hold
  • Complete
  • Closed
  • Canceled
  • Pending PayPal

Notes:

  • For every state & status it is possible to hold an order in Magento. When unholded, it will get back to the former state&status.
  • It is impossible to change state & statuses once the order goes to “canceled” or “closed”. (It is possible only to hold it)
  • The order can’t get the state & status “Complete” until all it’s items got invoiced and shipped.
  • The order can’t get the state & status “Closed” until all it’s items got refunded.