Custom Order Status Manager for WooCommerce (Free)
WooCommerce ships with seven order statuses. If your store does anything beyond take-payment-and-post — made to order, awaiting stock, out for delivery, in repair — those seven stop describing where an order actually is. This plugin lets you create as many statuses as your pipeline needs, each with its own label, colour and emails.
Free forever. GPLv3. Built and supported by Bright Plugins.
What the free version does
Unlimited custom statuses
Statuses are stored as their own content type, so there is no cap on how many stages your pipeline has.
Your own label and slug
Each status carries the wording your team uses. The slug has to be unique; the label does not.
Icon and text colour
Colour-code the order list so a status is readable at a glance rather than by reading every row.
Customer and admin emails
Each custom status gets its own WooCommerce email template, enabled individually.
A status column on the orders list
Adds a dedicated column, so the current stage is visible without opening an order.
Default status per payment method
Route orders straight into the right stage based on how they were paid.
Creating a status
Go to WooCommerce → Order Status.
Click Add New and give the status a title. This is what your team reads.
Enter a slug. It has to be unique; WooCommerce uses it internally.
Press Publish. The status is now selectable on any order.
Turning on emails for a status
Each custom status registers its own WooCommerce email template, and every one arrives switched off. Nothing is sent until you say so.
Go to WooCommerce → Settings → Emails.
Find the template named after your custom status.
Tick Enable, then save.
Statuses by payment method
An order paid by bank transfer usually needs a different starting point from one paid by card. The plugin can set a default status per payment method, so orders begin in the right place instead of being moved by hand every morning.
Everything above is in the free plugin
Three things are not:
Automatic time-based transitions Pro
Move an order on after a set interval without anyone touching it.
WooCommerce Reports Pro
Include custom statuses in Woo’s own reporting.
Stock adjustment per status Pro
Increase or decrease stock levels when an order reaches a status.
What it needs
Tested against current WordPress and WooCommerce releases.
Frequently asked
Does it replace the built-in WooCommerce statuses?
No. Your custom statuses sit alongside Processing, Completed and the rest. They are added, not substituted.
Will custom statuses survive if I deactivate the plugin?
The status definitions are stored as content in your database and remain there. WooCommerce will no longer recognise the statuses while the plugin is inactive, so orders sitting in one need moving to a core status first.
Can each status send its own email?
Yes. Every custom status registers a WooCommerce email template. Turn each one on under WooCommerce → Settings → Emails; they are off until you enable them.
Is it compatible with HPOS (High-Performance Order Storage)?
The plugin is tested against WooCommerce 10.5.2. If you run HPOS, verify on staging before enabling it on a live store — that is worth doing for any plugin touching order data.
Ready when you are. It’s free.
Install it from WordPress.org and build your first custom status in under a minute.