Every order in WooCommerce has a Order Status. This shows you the current status of an order within the ordering, payment, or processing workflow.
For example, the status helps you see whether a payment is still pending, an order is ready for shipping, or has already been fully completed.
You can find the orders and their current status under:
WooCommerce
→ Orders
How to open an order, check payment information, and use order notes is explained in the article Managing WooCommerce orders: status, payment, and shipping.
Important: The order status is more than just an internal marker. WooCommerce and installed extensions can react to status changes and, for example, send emails or trigger other actions.
What order statuses are available in WooCommerce? #
WooCommerce Core uses the following basic order statuses:
| Status | Meaning |
|---|---|
| Draft | Temporary status that can be used during the ordering process in block-based checkout. |
| Payment pending | The order has been received, but the payment has not yet been completed. |
| In progress | The payment has been received, and the order is awaiting further processing or fulfillment. |
| On hold | The order is awaiting payment confirmation or further review. |
| Completed | The order has been fully processed and requires no further handling. |
| Cancelled | The order has been canceled and will not be processed further. |
| Refunded | The full order value has been recorded as a refund. |
| Failed | The payment failed or was declined. |
Additional plugins can add their own order statuses. If you see a status in your shop that is not listed here, this does not necessarily mean it is an error.
Payment pending #
The status Payment pending or rather Pending payment means that WooCommerce has received the order, but no payment has been made or confirmed yet.
Simplified:
Order placed
+
Payment not yet made
=
Payment pending
You should not treat such an order like a paid order in a normal advance-payment sale.
The customer must first complete the designated payment process.
Why is an order stuck on „Payment Pending“? #
There can be various reasons for this.
For example:
- the customer did not complete the payment process,
- the customer left the payment page,
- The payment confirmation is still pending,
- the payment provider was unable to successfully complete the payment,
- The customer still has to pay for the open order.
The actual cause depends on the payment method used.
Therefore, in the case of an unexpectedly open order, also check the order notes and the information provided by the payment service provider used.
What happens to open orders and inventory? #
WooCommerce can temporarily reserve stock for unpaid orders.
How long this inventory is held depends on the setting keep in stock or rather Hold Stock ab.
Once the corresponding time has expired, WooCommerce can automatically cancel eligible open orders and release the reserved stock.
We explain warehouse management in detail in the article Manage inventory, SKU, and delivery status in WooCommerce.
In progress #
The status In progress or rather Processing is one of the most important statuses for a normal shop with physical products.
WooCommerce basically uses it when:
Payment received
+
Inventory reduced
+
>Order still needs to be fulfilled
For a shop owner, this usually means:
The order has been paid for and is now awaiting your processing.
For a physical product, this can mean, for example, that you assemble, package, and ship the goods.
„In Progress is not an error #
Some shop owners expect a paid order to automatically and immediately Completed Jumps.
For normal physical products, this is not the intended WooCommerce workflow.
After all, WooCommerce doesn't automatically know when you've actually packed a package and handed it over to the shipping service.
Therefore, the typical procedure is:
Payment successful
↓
In progress
↓
Process and ship goods
↓
Completed
Why are some orders automatically completed? #
WooCommerce treats orders differently when no further physical fulfillment is required.
If a paid order contains exclusively products that are both as virtual as well as downloadable are set up, WooCommerce can automatically set the order to Completed Sit.
An example would be a fully digitally delivered product where, after successful payment, no goods need to be packaged or shipped anymore.
By contrast, processing is still necessary for normal physical products.
On hold #
The status On hold or rather En espera means that the order is awaiting payment confirmation or further review.
In the process, the inventory is generally reduced, but the payment still needs to be confirmed.
This status often occurs with payment methods where WooCommerce does not immediately receive final payment confirmation.
Sample bank transfer #
A classic example is the traditional bank transfer.
The process can look like this:
Customer ordered
↓
Order is being created
↓
Bank transfer was selected
↓
Payment is not yet confirmed in the account
↓
Order remains „On Hold“
↓
Payment arrives and is verified
↓
Order processing continues
Therefore, with manual payment methods, you may need to check yourself whether the payment has actually been received.
Important: Do not set an order to „Processing“ or „Completed“ simply because the customer says they have paid. Verify the payment according to the payment method used.
„Payment pending“ and „On hold“ are not the same #
At first glance, the two statuses appear similar, but they have different meanings.
| Status | What does it mean? |
|---|---|
| Payment pending | The order has been received, but payment has not yet been made or confirmed. Normally, WooCommerce waits for action from the customer. |
| On hold | The order is awaiting payment confirmation. The inventory has already been reduced, and the payment must be checked or confirmed. |
This distinction is particularly important when troubleshooting.
Completed #
The status Completed or rather Completed means that the order has been completely fulfilled and no further processing is required.
For a standard physical product, the process could be, for example:
Order paid
↓
Items compiled
↓
Goods shipped
↓
Order completed
So the status doesn't just say „paid“, but rather that the order has been completely processed from the shop's perspective.
When should I set an order to Completed? #
For a normal shipping order, you set the order to Completed, once the processing required by you is complete.
In a traditional shop, this often means that the goods have been shipped.
However, the exact timing may depend on your business model.
For a product with personal pickup, „fulfilled“ can mean something different than for package shipping, for example.
Basic rule: „Completed means that no further normal processing is required for this order.
Cancelled #
The status Cancelled or rather Canceled means that the order will not be processed any further.
An order can be cancelled, for example, by an administrator or—in designated situations—by the customer.
When WooCommerce stock management is active, the stock that was reduced or reserved for the order items is added back to the available stock when an order is cancelled.
A cancellation is not automatically a refund #
This difference is particularly important.
Cancellation
=
Order will not be processed further
Refund
=
already paid amount will be returned
If an order has already been paid for, an actual refund may be necessary in addition to the cancellation or termination of the order.
Whether this refund can be processed directly via WooCommerce and the payment gateway depends on the payment method used.
We explain the correct procedure in the article Cancel order and issue refund.
Refunded #
The status Refunded or rather Refunded indicates that the full order value in WooCommerce is treated as refunded.
However, an important distinction is necessary here:
Technically, WooCommerce can record a refund in different ways.
With an automatic refund, a compatible payment extension can submit the repayment to the payment provider.
At a manual refund WooCommerce, on the other hand, only records the refund in the shop.
Very important: A refund entered manually in WooCommerce does not automatically return money to the customer. In this case, you must process the actual refund outside of WooCommerce via the payment method used.
That is why you should always know whether you are issuing an automatic or a manual refund.
Partial refund and full refund #
Not every refund applies to the entire order.
WooCommerce also enables partial refunds.
For example:
Order value:
CHF 150.00
Refund:
CHF 40.00
Remaining order value:
CHF 110.00
Therefore, in the event of a partial refund, the order does not automatically become a fully refunded order.
The status Refunded is intended for fully refunded orders.
Failed #
The status Failed or rather Failed means that a payment has failed or been declined.
Possible reasons may include, for example:
- the payment provider declined the payment,
- Authorization failed,
- the payment method used could not be charged,
- The payment process has failed technically.
The exact reason cannot be determined solely based on the „Failed“ status.
To do this, you need to check the order notes and – if available – the information or logs from the payment provider.
A failed order does not necessarily mean that the customer is lost for good #
Depending on the situation, a customer can pay again for an open or failed order.
WooCommerce can provide a payment link for eligible orders.
A registered customer may also find a corresponding payment option in their customer account.
Therefore, before creating a new order manually, you should first check whether the existing order can still be paid for.
Draft #
The status Draft or rather Draft is part of the modern block-based WooCommerce checkout.
This is a temporary status during the checkout process.
A draft is not yet a normally completed customer order.
WooCommerce can use such a data set when the customer tries to place the order in the block-based checkout.
Why am I seeing draft orders? #
In current WooCommerce versions, draft orders may be visible in a dedicated section of the order overview.
They occur due to the technical process of the block-based checkout and do not automatically mean that the customer has actually placed a completed order.
WooCommerce automatically cleans up inactive draft orders via a scheduled daily cleanup process.
Important: Therefore, you usually do not have to delete old draft orders manually.
The typical procedure for a normal order #
For a physical product with an instantly confirmed online payment, the normal process often looks like this:
Checkout
↓
Payment successful
↓
In progress
↓
Items are being processed and shipped
↓
Completed
With a payment method featuring delayed confirmation, however, the process could look like this:
Checkout
↓
On hold
↓
Payment being confirmed
↓
Processing
↓
Goods are being processed and shipped
↓
Completed
And if a payment is not completed:
Checkout
↓
Payment pending
↓
Payment failed
↓
Cancelled
These are typical workflows and not a rule that every extension has to implement in the exact same way. Payment providers and other plugins can influence the workflow.
Do not change order status arbitrarily #
You can manually change the status of an order in the WooCommerce backend.
That doesn't mean you should switch between statuses at will, though.
A status change can impact:
- Order confirmation emails
- Inventory
- Download permissions
- Payment extensions
- Shipping extensions
- other plugins connected to WooCommerce
The status should therefore always reflect the actual state of the order.
A status change does not automatically trigger a payment #
This point is particularly important.
If you manually create an order from:
Payment pending
on:
In progress
set, it does not automatically mean that WooCommerce collects money from the customer through this.
You change the order status first.
An actual payment is processed via the payment method used or the payment service provider.
Therefore: Do not simply change an unpaid order to a paid status just to move it along. Check first if the payment has actually been made.
„Refunded“ is not automatically a money movement either #
The same principle applies to refunds.
A manual change or manually recorded refund in WooCommerce does not necessarily mean that the payment provider has actually transferred money back to the customer.
Therefore, for payments and repayments, you must always distinguish between:
Status in WooCommerce and actual money movement
That is precisely why we cover refunds in the article Cancel order and issue refund in detail.
Order status and emails #
WooCommerce also uses order events and status changes for various email notifications.
For example, a customer can receive a notification when their order has been completed.
You can configure which emails are enabled and who they are sent to in the WooCommerce email settings.
We cover that in detail in the article. Set up WooCommerce emails and order notifications.
Plugins can add custom order statuses #
The statuses described here belong to WooCommerce Core.
Extensions can introduce additional statuses, for example for special production, shipping, pre-order, or other workflows.
In an expanded shop, for example, you might see additional labels that are not present in standard WooCommerce.
Therefore, if an unknown status appears, you should check which plugin added it and what meaning the developer intended for it.
Why is an order in the wrong status? #
If an order does not change to the expected status, you should not simply correct the status manually without checking the cause.
Check first:
- What payment method was used?
- What is in the order notes?
- Is there a transaction number?
- What does the payment provider show?
- Was there an error message?
- Does the shop use additional payment or ordering plugins?
With online payment providers, for example, missing or faulty communication between the payment provider and WooCommerce can cause a status not to be updated as expected.
We will cover systematic troubleshooting later in the article. Systematically finding WooCommerce issues: status, logs, and error diagnostics.
Which status requires your attention? #
As a store owner, you should pay special attention to orders that still require action.
In progress means for a normal physical order, for example, that the payment has been made and the order needs to be fulfilled.
On hold may require a payment review.
Payment pending means that there is no confirmed payment yet.
Failed indicates that something went wrong during the payment process.
A completed Orders, on the other hand, usually do not require any further regular processing.
Always evaluate the order status together with the order details #
The status provides you with quick orientation, but not always the full explanation.
Therefore, if anything is unclear, always consider:
Order Status
+
Payment Method
+
Order Notes
+
Transaction Information
+
Actual Business Process
Only this combined information reliably shows you what has happened to an order and what action makes sense.
What's next? #
Now that you know the order statuses, let's look next at how an existing order can be processed and how an order can be created manually directly in the WooCommerce backend.
We continue with Process and manually create order.
Summary #
The WooCommerce order status shows where an order is in the ordering, payment, and fulfillment process.
Payment pending means that no payment has been made or confirmed yet. On hold means that a payment confirmation or review is pending. In progress shows for a normal order that the payment has been received and the order needs to be fulfilled.
Completed means that no further normal processing is required. Cancelled, Refunded and Failed Mark accordingly cancelled, fully refunded, or failed orders.
In the block-based checkout, the temporary status can additionally Draft occur.
Do not change an order status arbitrarily. A status change can trigger further processes in WooCommerce and installed extensions, and in particular, it does not replace an actual payment or refund.