{"id":1086,"date":"2020-06-26T17:17:44","date_gmt":"2020-06-26T17:17:44","guid":{"rendered":"https:\/\/meetanshi.com\/blog\/2020\/06\/26\/create-magento-2-order-status-order-state\/"},"modified":"2025-07-17T18:33:08","modified_gmt":"2025-07-17T13:03:08","slug":"create-magento-2-order-status-order-state","status":"publish","type":"post","link":"https:\/\/meetanshi.com\/blog\/create-magento-2-order-status-order-state\/","title":{"rendered":"How to Create Magento 2 Order Status &#038; Order State"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The Magento 2 orders have an order status that is linked with a state in the order processing flow. When there are thousands of orders to be managed, the correct idea of Magento 2 Order status and order state and the steps to create them can be helpful.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Difference between Order Status &amp; Order State in Magento 2:<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Magento 2 order state is the position of the order in the current processing workflow.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pre-defined Order State:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>New<\/li>\n\n\n\n<li>Processing<\/li>\n\n\n\n<li>Complete<\/li>\n\n\n\n<li>Pending Payment<\/li>\n\n\n\n<li>Cancelled<\/li>\n\n\n\n<li>Closed<\/li>\n\n\n\n<li>Payment Review<\/li>\n\n\n\n<li>On hold<\/li>\n\n\n\n<li>Fraud<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">However, for order status, you can create Magento 2 custom order status too.&nbsp;Each order state can have more than one order statuses assigned to it for making things simpler! The status of each order is displayed in the Status column of the Order grid in the backend.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Understand the below order status workflow:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2020\/06\/Meetanshi-Magento-2-Order-Workflow-692x1024.png\" alt=\"Meetanshi-Magento-2-Order-Workflow\" class=\"wp-image-9432\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><em>Source:&nbsp;<a href=\"https:\/\/experienceleague.adobe.com\/en\/docs\/commerce-admin\/stores-sales\/guide-overview\" target=\"_blank\" rel=\"noreferrer noopener\">Magento Tech Resources<\/a><\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps to Create Magento 2 Order Status &amp; Order State:<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">1. <strong>Login<\/strong>&nbsp;to admin panel<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. Go to&nbsp;<strong>Stores &gt; Settings &gt; Order Status<\/strong><br><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2020\/06\/1_Steps-to-Create-Magento-2-Order-Status-Order-State.png\" alt=\"1_Steps-to-Create-Magento-2-Order-Status-Order-State\" class=\"wp-image-9433\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">3.  Click \u201c<strong>Create New Status<\/strong>\u201c<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4. Under&nbsp;<strong>Order Status Information<\/strong>,<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Status Code<\/strong>&nbsp;\u2013&nbsp;The first character must be a letter (a-z), and the other can be a combination of letters and numbers while underscore is to be used instead of space.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Status Label<\/strong>&nbsp;\u2013 This is shown on the admin backend and the storefront<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2020\/06\/2_Steps-to-Create-Magento-2-Order-Status-Order-State.png\" alt=\"Steps to Create Magento 2 Order Status Order State\" class=\"wp-image-9434\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">5. If you need any labels for different store views, enter it in the&nbsp;<strong>Store View Specific Labels<\/strong>&nbsp;section as shown here<br><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2020\/06\/3_Steps-to-Create-Magento-2-Order-Status-Order-State.png\" alt=\"3_Steps-to-Create-Magento-2-Order-Status-Order-State\" class=\"wp-image-9435\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">6. Click&nbsp;<strong>Save Status<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps to Assign An Order Status to a State:<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">1. On the Order Status page, click \u201c<strong>Assign Status to State<\/strong>\u201c<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. Under&nbsp;<strong>Assignment Information<\/strong>,<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Order Status<\/strong>&nbsp;\u2013 Select the order status that you want to assign which are listed by status label<\/li>\n\n\n\n<li><strong>Order State<\/strong>&nbsp;\u2013&nbsp;Set Order State to the place in the workflow where the order status belongs.<\/li>\n\n\n\n<li><strong>Use Order Status As Default<\/strong>&nbsp;\u2013 Tick the checkbox if you want to make this status the default order state.<\/li>\n\n\n\n<li><strong>Visible on StoreFront<\/strong>&nbsp;\u2013 Tick the checkbox if you want to make this status visible from the frontend.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">3. Click&nbsp;<strong>Save Status Assignment<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps to Edit Order Status in Magento 2:<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">1. Click on the&nbsp;<strong>Order Status<\/strong>&nbsp;that you want to edit from the backend Order grid<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. Change the order status settings as required<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3. Click&nbsp;<strong>Save Status<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps to Remove Order Status from an assigned state:<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">1. Consider the&nbsp;<strong>Order Status<\/strong>&nbsp;you want to unassign on the Order Status grid.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. Click on the&nbsp;<strong>Unassign<\/strong>&nbsp;link in the&nbsp;<strong>Action<\/strong>&nbsp;column.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Likewise&nbsp;<a href=\"https:\/\/meetanshi.com\/blog\/change-order-status-programmatically-in-magento-2\/\">change order status programmatically<\/a>&nbsp;in Magento 2 for example a custom order status \u201cprinted\u201d. When the admin prints out the packing slip, the order status is changed to \u201cprinted. You can also&nbsp;<a href=\"https:\/\/meetanshi.com\/blog\/create-order-in-magento-2-admin-panel\/\">create order in Magento 2 admin<\/a>&nbsp;panel and assist your customers in placing order when they need.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I\u2019d be happy to help you out.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also, do not forget to share the post with the Magento community via social media.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Thank you. Likewise you can also create an attribute for&nbsp;<a href=\"https:\/\/meetanshi.com\/blog\/create-custom-order-attribute-in-magento-2-and-show-it-in-admin-grid\/\">custom order in Magento 2<\/a>&nbsp;which will be seen in admin grid and will be helpful in your business to manage and fulfill online orders efficiently.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Magento 2 orders have an order status that is linked with a state in the order processing flow. When there are thousands of orders&#8230;<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[34],"tags":[],"class_list":["post-1086","post","type-post","status-publish","format-standard","hentry","category-magento"],"acf":[],"_links":{"self":[{"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/posts\/1086","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/comments?post=1086"}],"version-history":[{"count":4,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/posts\/1086\/revisions"}],"predecessor-version":[{"id":14831,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/posts\/1086\/revisions\/14831"}],"wp:attachment":[{"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/media?parent=1086"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/categories?post=1086"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/tags?post=1086"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}