Get Started

The Ultimate Guide to WooCommerce Order Status

Editorial Team
August 23, 2024
The Ultimate Guide to WooCommerce Order Status

WooCommerce order status provides crucial information about the progress of an order from the time it gets placed to when it’s delivered.

These order statuses are paramount in streamlining business operations, enhancing customer experience and monitoring revenue.

The default WooCommerce has multiple order statuses that help store owners organize their fulfillment process.

However, every business has its own way of handling their orders.

That’s why many companies look to extend WooCommerce’s default functionality to manage their order statuses as per their requirements.

In this post, we’ll look at the default WooCommerce order status and how the orders are processed.

Further, we’ll expand on managing orders and creating custom order statuses in WooCommerce to carry out business operations efficiently.

What is WooCommerce Order Status?

WooCommerce order status refers to distinct stages through which an order gets processed within WooCommerce.

It represents the current stage of an order that provides information about its processing and fulfillment status.

These statuses convey the progress of an order from the moment it gets placed to the time it gets delivered to the customer.

Here’s a quick snapshot of the order statuses in a WooCommerce store:

WooCommerce orders

The WooCommerce order statuses help both store owners and customers by:

  • Helping the staff to keep track of all orders in the fulfillment process
  • Keeping customers informed of the progress of their purchases

These statuses are quite crucial in managing orders, ensuring smooth business operations, and enhancing customer satisfaction.

Understanding the Default WooCommerce Order Statuses

WooCommerce has the default order statuses in its order fulfillment process. Here is the complete WooCommerce order status list below:

  • Processing - The processing status is usually automatically assigned to an order once the payment is successfully made on the checkout page. All product orders require processing except those that are virtual and downloadable.
  • Completed - The completed order status indicates that the order has been successfully processed, shipped and delivered to the customer.
  • On hold - The order status may be put on hold when there is a delay in processing your payment. In this case, you must confirm the payment to process your order successfully.
  • Canceled - When the store owner or customer cancels an order, the WooCommerce order status changes to cancel. The order stock increases to its previous quantity and will not be fulfilled.
  • Failed - The order gets a failed status when there is an issue with the payment processing or if it fails for some reason. Please note that this status may not show immediately but instead show as ‘Pending’ until the confirmation.
  • Pending payment - This is the initial status when a customer places an order. This order status represents that the order is awaiting payment confirmation.
  • Refunded - The order status changes to refunded when a customer successfully processes and gets an order refunded.
  • Draft - The draft order gets created when shoppers start the checkout process in WooCommerce.

To clarify further, we’ll help you understand the order processing status for different products in a WooCommerce store.

Importance of Order Statuses in WooCommerce

Order statuses in WooCommerce play an important role in managing the e-commerce workflow.

Let’s look at their importance:

  • Order tracking - It helps merchants track the progress of each order from placement to fulfillment, providing critical information to store owners and customers. These statuses enable you to identify potential issues and bottlenecks in the fulfillment process and resolve them promptly.
  • Customer communication - These statuses help reduce the number of inquiries and improve customer satisfaction by keeping customers informed about their orders.
  • Inventory management: WooCommerce order status helps track when products are sold and need restocking, facilitating accurate stock-level maintenance.
  • Reporting and analytics - These order statuses allow businesses to analyze order flow and overall performance. This data helps identify trends and areas for improvement in business processes.
  • Automations - These statuses allow for automation of various processes, such as sending emails when an order status changes, streamlining the overall fulfillment process. You need a perfect WooCommerce CRM to set up automations in your store.

Overall, WooCommerce order status is a powerful tool that enhances communication, streamlines operations, and provides valuable insights for your business.

How Does Order Status in WooCommerce Work?

WooCommerce order status works as a system to track and manage the lifecycle of an order from the initial point when it’s placed until it’s completed.

Here’s how it works:

  • Initial status assignment - When a customer hits the place order button, WooCommerce automatically assigns it an initial status, typically “Pending Payment” or “Processing”, depending on your payment.
  • Status progression - As the order moves through different stages in the fulfillment journey, the store administrator can update the status either automatically or manually.
  • Automatic status updates - Certain actions trigger automatic status changes. For example, the status may change from “Pending payment” to “Processing” after a successful payment.
  • Manual order status updates - Store owners need to manually change the status, such as updating it to “Completed” when an order is shipped to customers.
  • Customer notifications - Many WooCommerce status changes trigger email notifications to inform customers about the progress of their orders.
  • Filtering and sorting - In the WooCommerce admin panel, orders can be filtered and sorted by their status, allowing for efficient management.
  • Custom order statuses - While WooCommerce comes with default order statuses, store owners can add custom statuses to fit specific business needs.
  • Reporting - Order statuses are used to generate reports and help track sales and other crucial metrics.

In addition to that, the order status goes through different stages for different types of products to ensure fulfillment.

Simply put, physical products are processed differently than digital products in an eCommerce store.

Let’s understand the WooCommerce order status for different products.

Physical (simple) products

Physical products undergo the journey of order processing, shipping, and delivery. Therefore, it takes some time to process the order and change the order status.

Once the payment is successful, the order status changes to ‘Processing’. After the order is delivered to the customer, it changes to ‘Completed’.

Virtual products

Virtual products are digital, non-tangible items such as memberships, services, warranties, subscriptions, etc.

You can access these virtual items with a username and password or a website URL hosted on a server.

Upon successful order placement, the order status goes to ‘Processing’.

Since the virtual products cannot be delivered to you, the order status will still show in processing.

However, you can use a plugin called Autocomplete WooCommerce Orders that allows you to complete the order status for virtual products.

We’ll discuss the autoprocessing of order status later in this post.

Both virtual and downloadable products

Virtual + Downloadable products are digital products that can be downloaded, such as ebooks, music files, PDFs, etc. These can be downloaded straight to your device.

Once you’ve made the successful purchase, the order status instantly changes to ‘Completed’.

How to Add Custom Order Status in WooCommerce?

We already know a lot about the default order statuses in WooCommerce. These help track the progress of orders placed in your store.

However, the default options may not be suitable for everyone’s needs. What if you want your customers updated about their orders more granularly?

That’s where the ability to add WooCommerce custom order status comes in.

Adding custom order statuses in WooCommerce helps store owners manage their orders better and provide personalized experiences to their customers.

With custom order status, store owners can create their own order statuses based on their specific needs.

You can add WooCommerce custom order status in two ways:

  • By adding a custom code snippet
  • Using a WordPress plugin

Let’s look at both of these processes.

Creating a custom WooCommerce order status by adding a code snippet

First, you must install a free WordPress plugin called WPCode Insert Headers and Footers + Custom Code Snippets.

Next, go to ‘Snippets’ and click on the ‘Add New’ button.

Click on add new snippet to create a custom woocommerce order status

Add the following snippet code and select the option below to run it everywhere on the website.

Once done, hit ‘Update’ and activate the snippet.

Paste the code snippet and activate it to  run everywhere on the website.

Orders in WooCommerce have a special ‘post_status’ value attached to them on the wp_posts table in the database, like any other posts.

Therefore, we’ll use the register_post_status() inbuilt function to include our custom order status.

This is the code you need to copy and paste on the code snippet:

// Register new status
function register_order_shipped_order_status() {
register_post_status( 'wc-order-shipped', array(
'label' => 'Order Shipped',
'public' => true,
'show_in_admin_status_list' => true,
'show_in_admin_all_list' => true,
'exclude_from_search' => false,
'label_count' => _n_noop( 'Order Shipped (%s)', 'Order Shipped (%s)' )
) );
}
// Add custom status to order status list
function add_order_shipped_to_order_statuses( $order_statuses ) {
$new_order_statuses = array();
foreach ( $order_statuses as $key => $status ) {
$new_order_statuses[ $key ] = $status;
if ( 'wc-on-hold' === $key ) {
$new_order_statuses['wc-order-shipped'] = 'Order Shipped';
}
}
return $new_order_statuses;
}
add_action( 'init', 'register_order_shipped_order_status' );
add_filter( 'wc_order_statuses', 'add_order_shipped_to_order_statuses' );

Well done! This is how you can create a custom WooCommerce order status using a code snippet.

Creating a custom WooCommerce order status using a WordPress plugin

The easiest way to create a custom order status in WooCommerce is by installing a WordPress plugin like Custom Order Status Manager for WooCommerce.

This plugin lets you create, edit and remove custom order statuses to manage your WooCommerce orders better.

Make sure to install and activate this plugin on your WordPress dashboard.

Once done, go to WooCommerce ⇨ Order Status and click on ‘Add New’.

Once you have installed the custom order status manager for woocommerce plugin, go to WooCommerce - Order Statuses and click on add new

Fill in the details related to your new custom order status:

  • Order status name - Name of your custom WooCommerce order status
  • Slug - Type in a unique slug for your order status
  • Status icon - Add an icon of your custom order status
  • Status view - Choose whether the status name or status icon will be displayed on the WooCommerce orders page
  • Color - Set the color that gets applied to the text and icon of this order status
  • Text background color - Set the background color of the order status text
  • Paid status - Enable or disable whether the order on this status has been paid
  • Download access - Turn on this option to allow download access when orders are on this status
  • Add to actions on orders page - Turn on this option if you want to add this order status to the order actions
  • Add to bulk actions list - Enable or disable this option to add this order status to the bulk actions list
  • Edit mode - Turn on this option to allow editing the WooCommerce order data for this status
  • Email notification - Enable this option to get email notifications when the order status changes to this custom status
Enter the data related to the creation of custom woocommerce order status. Once done, hit publish

Once done, hit the ‘Publish’ button.

As you can see, the new custom order status has successfully been created in your WooCommerce store.

Here you can see your custom order status created in your WooCommerce store

From this dashboard, you can edit this custom status, view, edit the email template, or even delete your custom order status.

You can even take bulk actions if you have set up multiple order statuses.

This plugin perfectly handles and helps you efficiently manage all your custom WooCommerce order statuses.

How Payment Methods Impact WooCommerce Order Status?

WooCommerce uses different factors to determine the status of an order. The order status and handling of payment failure may not be as straightforward as expected.

Depending on whether or not the payment was successful, your payment methods also impact the order statuses.

Here are the order statuses for different payment methods used to make transactions in WooCommerce:

Credit cards / Debit cards / Paypal / Express checkout

Upon successful payment, the order status goes to ‘Processing’. The orders are automatically completed once they are processed and fulfilled.

If the payment fails, the status goes to ‘Pending’ but ultimately changes to ‘Failed’ upon payment failure confirmation.

Check payments / Direct bank transfer / Cash on delivery

In the case of check payments, direct bank transfers and cash on deliveries, the order status will not auto-complete. But the stock of those products will reduce.

It is because the transactions here are dependent on offline payment methods. Therefore, in such cases, product access doesn’t happen until the payment is successfully received.

Here, the order status remains on ‘Processing’. The store owner or admin has to verify and manually change the order status to ‘Completed’ or ‘Failed’ in case of successful or unsuccessful transactions.

How to Automatically Change Order Status in WooCommerce?

By default, WooCommerce automatically completes the paid orders for only virtual + downloadable products after a successful purchase.

However, for only virtual products, the order status goes to ‘Processing’, which shouldn’t be the case.

WooCommerce should also mark the order as ‘Completed’ for digital (virtual) products.

But you can alter this behavior in your store.

You can change the WooCommerce order status automatically (programmatically) to ensure it’s convenient for store owners and customers.

Configuration

To automatically change WooCommerce order status, you must install a WordPress plugin called Autocomplete WooCommerce Orders by QuadLayers.

Once you have the plugin, you can set the autocomplete configurations from the WooCommerce settings.

To do that, go to WooCommerce ⇨ Settings ⇨ Autocomplete Orders tab.

Go to woocommerce settings - autocomplete orders section after installing the autocomplete woocommerce orders plugin

Click on the Mode options and select ‘Paid orders of virtual products only’.

You also get different options to configure from here that let you autocomplete your WooCommerce orders.

Choose the autocomplete orders mode to virtual orders and save it.

Once done, hit the ‘Save Changes’ button.

When a user successfully places a virtual order, the order status will automatically be moved to ‘Completed’.

Please note that you can configure autocomplete orders for all orders as well.

Testing

Now, if you try a test purchase of your virtual product in your store, go from the product page to checkout order page and test purchase it.

Test purchase a virtual product in your store - fill out the details in your checkout page

As you can see, we can see the WooCommerce thank you page here, signifying our purchase is complete.

Make the purchase and you'll be taken to the order confirmation page
🔔 Quick Note: We have changed the default WooCommerce checkout and order confirmation page to beautiful and elegant custom pages using the FunnelKit Funnel Builder

Now, if you go to WooCommerce orders, you’ll be able to see the order status - Completed.

That means this plugin works!

Alternatively, you can use other WordPress plugins to auto-complete orders as well. Here are some recommendations:

These WooCommerce order status manager plugins effectively let you streamline the order fulfillment process in your business.

How to Set Up Automated WooCommerce Order Status Email Notifications?

Order status email notifications are crucial in the WooCommerce order management system, serving as an essential communication channel between merchants and customers.

Although WooCommerce uses default emails for some order statuses, you cannot customize them based on your brand.

The best way to customize your emails is with FunnelKit Automations, the most powerful marketing broadcast and automation CRM ever made.

You can set up automated sequences, send email broadcasts or SMS texts, track orders and conversions for each campaign, and more.

Suppose you have to send an email about the order being packed and awaiting shipment.

All you have to do is go to create a new automation in FunnelKit Automations. Select ‘Order Status Changed’ event and configure them:

Select the woocommerce order status changed event trigger

Now select the ‘Send Email’ action below the event.

One of the coolest thing about FunnelKit Automations is that you get access to pre-designed email templates.

You can import these templates and customize your emails the way you want.

design awaiting shipment emails using drag and drop email builder in funnelkit automations
👉 Read our detailed post on sending WooCommerce order notification emails here.

Not only that, FunnelKit Automations integrates with various plugins such as shipping plugins, subscription plugins, etc.

This way, you’ll be able to send shipment tracking emails, subscription emails, new user registration emails, and more.

Order Status Best Practices for Improved Customer Experience

Improving the customer experience in the order status process is crucial for WooCommerce stores.

Here are some effective best practices:

1. Clear and timely communication

Update order statuses promptly and ensure that every status change triggers a clear, informative notification to the customer.

This way, you keep them in the loop and reduce anxiety about their purchase.

FunnelKit Automations offers the convenience of sending automated order notification emails for each order status change.

2. Use descriptive order status labels

Take on status labels that are easy for customers to understand.

Instead of technical terms, use clear order status descriptions such as “Order Received”, “Preparing for Shipment”, “Out for Delivery”, etc.

These user-friendly labels help customers quickly understand the whereabouts of their orders without having to decipher complex terminologies.

3. Offer tracking information

Integrate your WooCommerce store with shipping carriers to automatically update orders with tracking numbers.

FunnelKit Automations integrates with different shipment tracking plugins such as WooCommerce Shipment Tracking, WC Jetpack Shipment, Advanced Shipment Tracking for WooCommerce, and more.

Once a package is shipped and a tracking number is generated, update the order status to include this information or email customers about it.

Consider embedding tracking information directly into your site so customers can track their packages without leaving your store.

4. Personalize status updates

Use merge tags in your WooCommerce email templates to automatically include the customer’s name, order number, and specific item details in your email notifications.

FunnelKit Automations provides dynamic merge tags that let you personalize your emails with relevant information.

The personal touch makes customers feel valued and provides relevant information without them having to look it up.

5. Optimize for mobile

With over 1.7 billion people using their mobile phones to open and read their emails, it’s crucial that your order status emails are mobile-responsive.

Use a single-column layout, large, readable fonts, and buttons that are easy to tap on small screens.

Ensure that your order tracking page is fully functional and easy to navigate on mobile devices.

Frequently Asked Questions (FAQs)

Our experts have answered some common user questions about WooCommerce order status in this section.

1. How to add custom order status in WooCommerce?

You can add custom order statuses in WooCommerce using a plugin or a custom code with the ‘register_custom_order_status’ action to your theme’s functions.php file. We have talked about it in this post in detail.

2. How to change default order status in WooCommerce?

You can change the default order status in WooCommerce using a plugin or custom code with the ‘change_default_order_status’ filter.

In addition, you can change the default status according to the payment method. For example, you can change the default status when the payment method is cash on delivery or bank transfer.

3. How do I get all the order status in WooCommerce?

You can get all the order status in WooCommerce by navigating to WooCommerce ⇨ Orders section. 

You’ll see all the orders placed in your WooCommerce store and their respective status there.

Last Words About WooCommerce Order Status

We hope this post has provided a detailed understanding of WooCommerce order status, which will help you successfully manage your store.

By grasping the significance of each status, you can ensure a seamless experience for you and your customers.

You can even add custom order status in WooCommerce to help streamline the order management and fulfillment process per your business requirements.

Further, using WordPress plugins, you can manage and automatically change the order status for different products.

This way, you can carry out your business operations and enhance customer satisfaction efficiently.

With FunnelKit Automations, you can directly send email notifications for various order status changes.

Author: Editorial Team
The Editorial Team at FunnelKit (formerly WooFunnels) is a passionate group of writers and copy editors. We create well-researched posts on topics such as WordPress automation, sales funnels, online course creation, and more. We aim to deliver content that is interesting and actionable.
chevron-down