An order marked "Processing" can sit there while you pack the customer's purchase, and that's perfectly normal. WooCommerce order statuses track payment and fulfillment, so the right label depends on what's happened behind the scenes.
We recommend changing a status only when the order's payment or fulfillment record supports it. That keeps your team moving, your stock records clearer, and your customers informed.
Start with what each status means, then connect it to the action your store has completed.
Key Takeaways
- Processing usually means payment is received and fulfillment is next; Completed means your store has finished fulfilling the order.
- Compare order notes with the payment transaction before correcting a stuck status or asking a customer to pay again.
- Status changes can affect emails, inventory, and connected tools, so make deliberate updates rather than cycling through labels.
What WooCommerce Order Statuses Mean
Think of each status as a signpost for your team. It tells you what needs attention and what can move forward.
WooCommerce's order status definitions describe these seven everyday statuses:
| Status | What it means | When to use it |
|---|---|---|
| Pending payment | The order exists, but payment hasn't been completed. | While waiting for the customer to finish payment. |
| On hold | Payment confirmation is still needed. | While awaiting bank payment or a delayed gateway result. |
| Processing | Payment is received and fulfillment is pending. | While preparing a paid order that needs fulfillment. |
| Completed | Fulfillment is finished. | After your store has completed the required work. |
| Failed | The payment attempt failed or was declined. | When the payment result supports a failed transaction. |
| Cancelled | The order has been cancelled. | When the purchase won't proceed. |
| Refunded | The order has been fully refunded. | After recording a full refund through the appropriate process. |
The useful distinction is payment progress versus fulfillment progress. Processing and Completed answer different questions, even though both usually follow successful payment.
Stores using Checkout Blocks can also show Draft orders before checkout is submitted. These are checkout-in-progress records, not confirmed purchases.
Your payment method and extensions can change the route an order takes. A card purchase, bank transfer, and cash-on-delivery order don't always follow the same sequence.
When to Use Processing and Completed
These two labels handle much of your everyday order work. Keep their meaning clear, and your fulfillment queue becomes easier to manage.
Move to Processing when fulfillment can begin
For a typical paid physical-product order, Processing means the payment succeeded and your team has work to do. Packing, shipping, or preparing the purchase comes next.
Payment gateways normally make this update automatically. With Direct Bank Transfer (BACS), you may need to confirm that payment arrived before moving an On hold order forward.
Cash on delivery is an important exception. It can place an order in Processing before you collect payment, because fulfillment starts first.
We recommend treating the payment method as part of the order record. The status alone isn't enough to explain every purchase.
Use Completed when your store's work is finished
Completed means fulfillment is done. For shipped goods, use it when you've finished the fulfillment steps your store promises.
It doesn't automatically mean the carrier has delivered the parcel. Your completion email should reflect what you finished, without promising an arrival date you can't support.
Orders containing only products marked both virtual and downloadable can complete automatically after successful payment. A virtual product alone doesn't always qualify.
WooCommerce Order Status Control offers additional rules for completing paid orders. Use automation when your fulfillment process supports it, rather than to make the order list look tidier.
Handle Failed, Cancelled, and Refunded Orders Carefully
These statuses need a little more attention because payment problems and customer requests can overlap. Separate the financial result from the decision to stop fulfillment.
Investigate Failed before requesting another payment
Failed usually follows an unsuccessful or declined payment. Delayed-notification methods can remain On hold before a rejection moves the order to Failed.
If the customer reports a checkout timeout, locate the matching transaction before suggesting another attempt. A timeout can leave the customer unsure even when the gateway recorded activity.
With Stripe, compare the transaction ID, amount, and payment result against the WooCommerce order notes. Stripe's WooCommerce status guidance explains how its payment events relate to order labels.
Once the result is clear, you can give the customer an accurate next step.
Separate cancellation from the refund process
Cancelled means the purchase won't proceed. Use it for an abandoned or withdrawn order when cancellation matches the record.
For a paid purchase, handle the money through the refund process as well. Changing the dropdown to Refunded doesn't return funds.
Open the order's Refund controls and enter the items or amount being refunded. Supported gateways can return money through an automatic refund. A manual refund records the adjustment, while you arrange the payment separately.
Partial refunds generally leave the existing order status in place. Reserve Refunded for a fully refunded order.
How to Change an Order Status in WooCommerce
You don't need a complicated workflow for a straightforward correction. You do need a clear reason for making it.
We recommend updating one order at a time when payment or fulfillment needs investigation:
- Open WooCommerce > Orders and select the order you want to update.
- Read the order notes and compare the payment result with the gateway transaction where payment is involved.
- Review fulfillment activity, including shipment records, customer messages, or work already completed.
- Choose the appropriate option in the Status dropdown, then click Update.
- Add a private order note explaining the reason and any relevant transaction or fulfillment reference.
That note gives your team something useful to follow later. "Payment received by bank transfer" is clearer than an unexplained status change.
Bulk actions are useful when several orders genuinely reached the same stage. Select the relevant orders, choose the status action, and apply it.
Before a bulk change, make sure every selected order belongs in that group. Mixing unpaid purchases with fulfilled orders creates avoidable cleanup.
For larger corrections, take a backup first. Restore options protect your site, but restoring an older database can also overwrite newer orders. Keep recent sales in mind before any recovery.
What Status Changes Can Trigger
A status update can do more than change a colored label. WooCommerce and connected extensions may react immediately.
Keep inventory tied to the order trail
A paid order doesn't need to reach Completed before stock is reduced. Processing can already reflect a stock reduction, and On hold orders can reduce managed stock while payment confirmation is pending.
The Hold stock setting applies to unpaid Pending payment orders. It isn't a timer for On hold orders. When an unpaid order expires, WooCommerce can cancel it and release the reserved stock.
Before manually adjusting quantities, read the order notes and inspect the purchased product or variation. Someone may have already changed inventory.
Our guide to WooCommerce stock update problems connects payment results, order events, and inventory records.
Match customer emails to the actual event
Processing and Completed messages should explain what the customer needs to know at that stage. Payment received? Explain preparation. Fulfillment finished? Provide the available shipment or download information.
Manage built-in notifications under WooCommerce > Settings > Emails. Editing a template changes its content, but it doesn't create a new status trigger.
Our guide to status-based WooCommerce order emails covers that distinction.
Moving an order forward to trigger an email can also trigger inventory or extension actions. Fix the notification without misrepresenting the order.
Test the full order journey with a mailbox you control, not only the email preview.
Fix Stuck Statuses Before Adding More Automation
An order that doesn't update can point to a payment integration issue. Adding another workflow rule won't repair the missing payment event.
Follow the payment record and webhook
A webhook is a message the payment gateway sends back to your store. It tells WooCommerce about events such as successful payments or refunds.
If Stripe shows a successful payment while WooCommerce remains Pending payment, inspect webhook delivery and configuration. Compare timestamps and transaction IDs so you're following the same purchase.
WooCommerce's order troubleshooting guidance starts with the order record and payment behavior.
An order remaining Processing is different. Physical purchases normally need a fulfillment update before they become Completed. Packing and shipping still count as unfinished work.
Give the store a dependable hosting foundation
Hosting supports the checkout, database, and communication your order workflow relies on. SSL protects connections, backups support recovery, and accessible support helps when server-side problems interrupt the store.
We offer WordPress and cPanel hosting with one-click installs and 24/7 support from real people. That gives you a simpler starting point for running your store and getting help with hosting issues.
For businesses that need our Web Hosting Plus option, pricing is $30.99 per month.
Choose hosting around your store's needs, then keep payment configuration and fulfillment rules accurate. A hosting plan won't turn an unpaid order into a paid one, but it supports the systems that record each step.
Add Custom Statuses Only for Useful Milestones
Need a "Ready for pickup" update? A custom status can help when it describes a real handoff that the standard labels don't cover.
We recommend adding a status only when your team knows exactly when to use it. "Ready for pickup" should mean the items are prepared and available, not simply that payment arrived.
Extensions such as WooCommerce Order Status Manager can provide custom labels and transition-based notifications. A visual email designer alone may not create those triggers.
Keep the setup focused. Decide who changes the status, which transition sends the message, and what the customer should do next. Then test that journey before using it on live orders.
Keep Every Order Status Grounded in the Record
WooCommerce order statuses work best when each update follows a real payment or fulfillment event. We recommend keeping the order notes, transaction details, and customer messages aligned.
Start with one clear rule: change the status when the work or payment record changes. Your team gets a dependable queue, and your customers get updates they can trust.
Build that workflow on our WordPress hosting, then keep every order moving for the right reason.






