Every order in Magento 2 goes through a lot of stages before it is marked as "Complete". While it is barely noticeable to your customers, you have to know everything about the order processing in Magento 2, to determine if something's off.
So, 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 and assign it to state. You will also learn how order status changes in the order processing workflow.
Post Contents [hide]
Difference Between Magento Order Status and State
If you just start to learn Magento it will be difficult to tell the difference between Magento 2 order status and state.
In reality, it is not as confusing as it seems. Orders state 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. We'll get there in a minute.
Predefined Order Statuses in Magento 2
By default, Magento provides you with a predefined set of most common order statuses. Some depend on the payment method, 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.
|No shipments or invoices have been processed.
|This status appears when the payment has been received or authorized. The order has been invoiced or shipped, but not both.
|This order status is assigned manually from the order grid or view page when you need to hold it.
|Order or credit memos need further action and are still open.
|Order is created, paid, and shipped.
|A credit memo was created for the order and the order was refunded.
|Order is canceled by Magento admin user or payment getaway if a customer doesn't pay in a specified period of time.
|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.
|PayPal has received the order but hasn't processed the payment yet.
|If you use PayPal this order status appears if the PayPal payment review option is enabled.
|An invoice wasn't issued for this order and no confirmation email was sent. Common for PayPal or other payment getaway systems.
|PayPal reversed the transaction.
|PayPal Canceled Reversal
|PayPal canceled the reversal.
Create Magento 2 Order Status
Although Magento provides plenty of order statuses to manage, you can add custom order statuses to serve your needs.
e.g. you may need to specify the backordered, or packaged, or refunded Magento 2 order status, etc.
To create 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 make each order status stand out, you can set order status colors.
If you need to edit order statuses in Magento 2, just 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 create an order status, make sure to assign it to the order state. It needs to correspond 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 custom status only in the order comments section in the admin.
e.g. if you create order in Magento admin panel.
5. Enable the Visible on Storefront option if you want to make order status visible for customers. Don't forget to save the changes.
In case you want to unassign status from the state just press the Unassign buttons from the Action column in the order status grid.
Note: 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.
Magento Order Status Workflow
While your checkout may consist of one or two steps, order goes through a lot of stages. It's called the order workflow.
We've already started talking about. However, this infographic will help you understand the process much better.
Please note that the steps of the order workflow may differ depending on the Magento payment methods.
Are you one step closer to understanding the Magento order workflow now?
We hope so, but wait till we help you boost this process too.
How to Change Order Statuses in Magento 2?
Order management in Magento 2 requires a lot of effort from both the storefront and back. Even if you cover the storefront part completely, you may struggle with sorting out orders and their statuses on the backend.
You might need to delete orders so they don't clutter the order grid. However, most of the time you need to change order statuses in Magento.
Here's a quick video to help you understand the process better: