Order is the Magento 2 checkout step of the customer journey every store owner strives for. It increases your conversion rates which is the ultimate goal of every business.
However, while customers only see the frontend part, they know little of the "behind the scenes" of order processing in Magento 2 and all the stages the order goes through before the "Complete" status.
In this guide, you'll find out more about the Magento 2 order status and state. We'll cover how to create order status in Magento 2, how to assign it to state, and describe how order status changes in the order processing workflow.
So, here is a little summary of what you will learn today.
Post Contents [hide]
What is the difference between Magento order status and state?
A lot of novices and "outside" people who have just started to learn more about Magento often find it difficult to differentiate between order state and order status in Magento 2.
In reality, it is not as confusing as it seems. Orders state in Magento defines the position of the order in the order processing workflow.
There are the following order states:
Magento 2 order status defines the state of the order in detail e.g. processing order state can be defined by processing invoice or processing shipment order status.
Besides, order statuses are displayed in the order grid.
Order status changes depending on the order state through the workflow which we'll describe later. Besides, you can change order statuses in Magento 2 while you can't change order states.
Predefined Order Statuses in Magento 2
By default, Magento provides you with the predefined set of order statuses that are most common. Some depend on the payment method and system, some are assigned by Magento and some you can change for the order manually.
Let's review them in detail to help you understand how Magento 2 order status is added and what it stands for.
Order Status | Status Code | Definition |
Pending | pending | No shipments or invoices have been processed. |
Processing | processing | This status appears when the payment has been received or authorized. The order has been invoiced or shipped, but not both. |
On Hold | holded | This order status is assigned manually from the order grid or view page when you need to hold it. |
Open | STATE_OPEN | Order or credit memos need further action and are still open. |
Complete | complete | Order is created, paid, and shipped. |
Closed | closed | A credit memo was created for the order and the order was refunded. |
Canceled | canceled | Order is canceled by Magento admin user or payment getaway if a customer doesn't pay in a specified period of time. |
Pending Payment | pending_payment | Orders get this status if you use the payment getaway systems like PayPal. Customers are redirected to the payment getaway website to finalize the transaction and Magento doesn't receive any information yet. The status changes when a customer pays. |
Pending PayPal | pending_paypal | PayPal has received the order but hasn't processed the payment yet. |
Payment Review | payment_review | If you use PayPal this order status appears if the PayPal payment review option is enabled. |
Suspected Fraud | fraud | An invoice wasn't issued for this order and no confirmation email was sent. Common for PayPal or other payment getaway systems. |
PayPal Reversed | paypal_reversed | PayPal reversed the transaction. |
PayPal Canceled Reversal | paypay_canceled_reversal | PayPal canceled the reversal. |
Create Magento 2 Order Status
Though Magento provides you with plenty of order statuses to manage, you can add your own ones to serve your store needs.
For example, you may need to specify the backordered, or packaged, or refunded Magento 2 order status, etc.
To create custom order status in Magento 2:
- Navigate to Stores > Settings > Order Status and press the Create New Status button.
- Set the Status Code. It is used internally and should contain letters and numbers with the first obligatory letter. If you need to include two or more words, use underscores for spaces.
- Enter the Status Label that will be visible on both the admin panel and storefront.
- Define the Store View Specific Labels if you have multiple store views on your website.
Once you finish, don't forget to Save the Status.
Then you will see the Magento 2 order status appear in the grid.
In case you want to simplify order management in Magento and make each order status stand out, you can set order status colors.
If you need to edit order statuses in Magento 2, you just need to select the order status you want to edit and change the corresponding information. It is as simple as that.
Assign Order Status to Order State
Once you created order status in Magento, you need to make sure to assign it to the order state so it corresponds to a certain stage of the order processing workflow.
To assign Magento order status to a state:
1. Press the Assign Status to State button on the order status grid page (Stores > Settings > Order Status).
2. Select the Order Status you've created.
3. Choose the Order State your custom order status will be associated with.
4. Decide whether to Use Order Status as Default.
Note: only default order statuses are used in the order workflow. If you don't tick this field, you will be able to set your custom status only in the order comments section in the admin e.g. if you create order in Magento admin panel.
5. Make order status Visible on Storefront and don't forget to save the changes.
In case you want to unassign order status from the state you just have to press the Unassign buttons from the Action column in the order status grid.
However, note that if only one Magento 2 order status is assigned to a state, you won't be able to remove it. At least one order status should be assigned to the order state.
Order Status Workflow in Magento 2
While checkout on your Magento 2 store may consist of one or multiple steps, the order goes through a lot of stages which in Magento are called the order workflow.
We've started talking about it partially, however, this infographic will help you to understand the process much better.
Please note that the steps of the order workflow may differ depending on the Magento payment methods and their configurations.
Are you one step closes to understanding the Magento order workflow now?
We hope so, but wait till we help you boost this process too.
Order management in Magento 2 requires a lot of effort from both storefront and backend, especially with a huge flow of customers daily. And even if the storefront part is completely covered, you may struggle with sorting out though orders and their statuses from the backend.
The tool that helps you with this is Magento 2 Better Order Grid. Check it out now to make sure you manage orders effectively!