Top 5 WooCommerce Custom Order Status Plugins (2024) - FooSales

Top 5 WooCommerce Custom Order Status Plugins (2024)

Man Packing A Box For An Online Order

WooCommerce supports a number of built-in order statuses, however, if you intend on using order statuses to manage your order fulfillment processes, you will need to create custom order statuses. In this article, we will take a look at a number of popular free and premium WooCommerce custom order status plugins. We will also take a look at using code snippets to implement a custom order status without the help of a plugin.

What are order statuses?

When a customer makes a purchase on a WooCommerce store, an order is created in the WooCommerce back-end. Each order is assigned an order status that is used to determine the progress of an order. Order statuses are updated automatically when certain events take place (e.g Payments, Refunds) or they can be updated in WooCommerce when editing an order. Order statuses can also be managed using order fulfillment management tools like FooSales WooCommerce POS.

WooCommerce supports the following default order statuses:

Diagram Showing The Default Woocommerce Order Statuses

  • Pending payment — Order received, no payment initiated.
  • Failed — Payment failed or was declined or requires authentication.
  • Processing — Payment received (paid) and stock has been reduced; the order is awaiting fulfillment.
  • Completed — Order fulfilled and complete – requires no further action.
  • On hold — Awaiting payment – stock is reduced, but you need to confirm payment.
  • Cancelled — Cancelled by an admin or the customer – stock is increased, no further action required.
  • Refunded — Refunded by an admin – no further action required.

As illustrated in the diagram above, once payment has been received, WooCommerce changes the order status to Processing. This status is meant to represent the fulfillment process and is typically changed to Completed once the order has been successfully delivered or collected by the customer. The problem is that the term ‘Processing’ is a broad term and does not convey much meaning to the customer or team handling the fulfillment of orders. In order to accurately convey the status of an order, you will need to add additional order statuses that reflect your store’s fulfillment workflow. The following graph illustrates how custom order statuses can be used to track the various stages in the fulfillment of an order.

Diagram Showing The Custom Woocommerce Order Statuses

Using custom order statuses in such a manner will provide you with a basic framework to manage each step of an order’s lifespan. For example, using order filters, you can easily view a list of orders that still require packing or that are waiting to be collected for delivery. Granular control of your order fulfillment process will improve collaboration amongst your team and ensure that your customers receive their orders quickly and efficiently.

Free custom order status plugins

If all you require is the ability to create WooCommerce order statuses, then the following free plugins are great options. Creating and managing custom order statuses is straightforward and all three plugins offer the ability to set a label color for each order status. In addition to creating and managing custom order statuses, two of the plugins offer the ability to send email notifications to customers when an order status is changed. The third plugin only offers this ability in its pro offering. The email notification functionality included in these plugins is very basic so we recommend using a reputable WordPress SMTP plugin to ensure reliable delivery, as well as an email logger plugin to track any potential delivery issues.

Ni WooCommerce Custom Order Status

This plugin is one of the simplest and easiest to use. It is ideal if all you require is the ability to add custom order statuses, without all the bells and whistles. It has been around for many years and has a fair number of installs and seems well-supported by the plugin author, but we recommend that you do your own due diligence just to be safe.

Ni Woocommerce Custom Order Status Order List

  • Create, edit, update, and delete custom order statuses
  • View the status on the order page
  • Edit, Update, and delete custom orders
  • Assign colors to order statuses
  • Order status change email notifications

Custom Order Status Manager for WooCommerce

This option is similar to the previous free plugin, however, it includes additional settings such as support for icons, admin notifications, and the ability to set order statuses based on payment methods. It is also supported by a larger team and has a greater number of active installs.

Custom Order Status Manager For Woocommerce Icons

  • Create, edit, update, and delete custom order statuses
  • View the status on the order page
  • Assign colors and icons to order statuses
  • Set order statuses based on payment methods
  • Email notifications for customers or administrators

Custom Order Status for WooCommerce

This option offers similar functionality to the other free options, however, they also offer a pro version with more advanced features. You can take the pro version for a test drive using their free admin demo. The free version includes the following features:

  • Create, edit, update, and delete custom order statuses
  • View the status on the order page
  • Assign colors and icons to order statuses

The following features are only available in the pro version:

  • Notify customers with Emails & SMS
  • Custom order statuses for default & other payment gateways
  • Automatic alert notifications for admins
  • Customers can cancel orders with custom statuses
  • Make orders with custom statuses non-editable
  • Update product stock levels when a custom status is applied to an order
  • Edit default WooCommerce order statuses
  • Update multiple orders to a custom status with Bulk Actions

Premium custom order status plugins

In addition to making it possible to create custom order statuses, the following premium plugins include various advanced features to help streamline your processes and automate manual tasks. These features are not required in order to implement a workflow such as the one outlined in this article, however, they can add value in other areas. Both these plugins are developed by reputable plugin development companies and are sold via the official WooCommerce Marketplace. This means that you are assured a level of quality and access to support and documentation.

WooCommerce Order Status Manager by SkyVerge

This plugin was released in 2015 and is by far the most advanced and popular custom order status plugin (10k+ installs). It may be overkill if you simply need to add custom order statuses, however, many of the features can be used to further enhance and automate your order fulfillment process.

Custom Woocommerce Order Statuses Using Skyverge

  • Create, edit, update, and delete custom order statuses
  • View the status on the order page
  • Create new order statuses and add icons or action buttons
  • Display order status descriptions to customers on the “View Order” page
  • Use status icons instead of text badges in the “Orders” list
  • Edit WooCommerce core statuses to set a “next status” for new action buttons
  • Use “Next Statuses” to create a seamless fulfillment workflow and add order action buttons
  • Add bulk actions for new statuses in the orders list
  • Include orders with custom statuses in shop reports
  • Mark order statuses as “Paid” to include download links, purchase notes, or other features when customers view these orders
  • Mark order statuses as “requires payment” to show “Pay” and “Cancel” links to customers
  • Add new order emails, which can be triggered based on status changes
  • Edit new email content via new templates
  • Import existing custom statuses from custom code or other plugins
  • Safely delete custom statuses without losing orders

Custom Order Status by Addify

This is a newer plugin and was released at the end of 2022. For the most part, it offers similar features to the other plugins listed in this article, however, it also offers a number of unique conditions that can be used to update the order status.

Custom Woocommerce Order Statuses

  • Create, edit, update, and delete custom order statuses
  • View the status on the order page
  • Add text or icon-based custom order statuses
  • Manually or automatically assign order statuses
  • Automatically change order statuses based on current order status, time intervals, quantity ranges, amount ranges, Products and/or categories, billing, shipping country locations, user roles, and order creation date ranges.
  • Notify customers and admins about status changes
  • Show or hide custom order statuses from customers
  • Customize Cronjob to include seamless executive automation rules
  • Import or export to custom order statuses

Add custom order statuses using a code snippet

Alternatively, you can create custom order statuses by adding a code snippet to your Functions.php file. The following code is adapted from this tutorial by Cloudways and adds a Ready for Collection custom order status after the default Processing order status.

Screenshot Of The Woocommerce Order View Screen Showing The Ready For Collection Custom Order Status

function foo_ready_for_collection_order_status() {
   register_post_status( 'wc-ready-for-collection', array(
       'label'                     => 'Ready for Collection',
       'public'                    => true,
       'show_in_admin_status_list' => true,
       'show_in_admin_all_list'    => true,
       'exclude_from_search'       => false,
       'label_count'               => _n_noop( 'Ready for Collection (%s)', 'Ready for Collection (%s)' )
   ) );
add_action( 'init', 'foo_ready_for_collection_order_status' );

function add_foo_ready_for_collection_order_statuses( $order_statuses ) {
   $new_order_statuses = array();
   foreach ( $order_statuses as $key => $status ) {
       $new_order_statuses[ $key ] = $status;
       if ( 'wc-processing' === $key ) {
           $new_order_statuses['wc-ready-for-collection'] = 'Ready for Collection';
   return $new_order_statuses;
add_filter( 'wc_order_statuses', 'add_foo_ready_for_collection_order_statuses' );

Cloudways do a great job explaining the code so be sure to have a close look at their tutorial.


WooCommerce custom order statuses are a simple and effective way to track the progress of an order and provide meaningful information to your customers. If your goal is simplicity, using a code snippet is a great option, however, the free plugins should achieve the same result without any coding knowledge. The premium plugins are great options if you have more budget, require support, intend on automating status changes, or need to implement communications based on order status changes.

You might also be interested in this content from our partner FooEvents WooCommerce Tickets:

Subscribe to our newsletter

Be the first to receive product updates and special offers

    Shopping Cart