Magento: The difference in state and status
While state and status seem very much alike, there is an important difference between them. Magento uses a defined set of states internally, to know the exact state of an order. Among others, these states are:
- New
- Pending Payment
- Processing
- Complete
- Closed
- Canceled
It is not possible to alter these states. That is where statuses come in. Every status is linked to one of the states. The status is what you see in the Magento admin and help you better identify the status of an order.
Example difference between state and status
You could have a certain status depending on the chosen payment method. This gives you more clarity of the status and chosen payment method of the order in one view. For example, an order could have a 'Pending Paypal' or 'Pending bank transfer' status. In the first case, Paypal is still authorising the payment. You won't have to take any action. In the second case, you will have to check your bank account to see if the money has been transferred. Both statuses are linked to the 'Pending payment' state, so Magento knows the order has yet to be paid.
Linking a status to a state
To view the current links between status and state or to change a link, go to System -> Order statuses in your Magento admin. Here you will find the column 'Status', which displays all of the added statuses. Every row also has the column 'State' which will display the state this status is linked to.
Picqer uses state
Picqer imports orders based on the state. Because the states are predefined and unadjustable, Picqer knows exactly when an order has the status to be shipped or when an order should be considered cancelled. It's important to make sure the statuses are always linked to the correct state. For example, a status at which an order should be shipped, should always be linked to the processing state.