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. 

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:

Order States in Magento 2

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.

Magento 2 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.

Magento 2 Order Status Grid

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.

(5)

Magento 2 Edit Order Extension is a solution that allows you to edit orders without cancel and update payment, shipping, customer, and order items information within the order view page. This Magento Order Editor...

$149
one-time payment
Buy Now Live Demo

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:

  1. Navigate to Stores > Settings > Order Status and press the Create New Status button.
  2. 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.
  3. Enter the Status Label that will be visible on both the admin panel and storefront.
  4. 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

Create New Order Status in Magento 2

Then you will see the Magento 2 order status appear in the grid.

Custom Order Status in Magento 2

In case you want to make each order status stand out, you can set order status colors.

Order Status Color

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.

Assign Order Status to State

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.

Magento 2 Order Status

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: