Understanding order status
Master WooCommerce online store statuses to efficiently track your orders.
In this chapter :

Key point** - Statuses are the backbone of your order tracking system. A good command of them lets you know instantly the status of each order and the actions to be taken.
Default statuses
WooCommerce offers 8 main statuses that cover the complete life cycle of an order. Understanding each one is essential to managing your store effectively.
Pending payment
This status indicates that an order has been created, but payment has not yet been confirmed. This is the case for bank transfers, checks, or when a card payment has failed.
Action to be taken - Monitor these orders daily. For bank transfers, check your bank account and manually validate the payment once the funds have been received. For failed payments, contact the customer if the order is more than 48 hours old.
Stock management - By default, WooCommerce holds stock for these orders for a configurable time (usually 60 minutes). After this time, the stock is automatically released if no payment is received.
Maximum recommended duration - 7 days maximum. After that, cancel the order to release the stock and avoid clogging your list.
Processing
Payment is confirmed and the order is waiting to be processed. This is your action signal: prepare and ship this order.
Actions to be taken - Check products, prepare package, print documents, ship. This is your daily work queue.
Stock management - Stock is immediately deducted when an order moves to this status. Products are no longer available for sale.
Maximum recommended lead time - According to your advertised lead times. If you promise shipment within 24 hours, no order should be held for more than 24 hours.
On hold
Manual status you use to temporarily put an order on hold. May indicate a problem to be solved before continuing.
Typical use cases - Stock temporarily unavailable but replenishment planned, doubt about validity of payment, incomplete delivery address requiring clarification, special customer request to be validated.
Actions to be taken - Resolve the problem identified, then change to the appropriate status (Processing or Cancelled).
Stock management - Stock remains reserved for this order. Do not leave orders on hold indefinitely, as this unnecessarily ties up your inventory.
Completed
The order has been shipped and delivered to the customer. This is the final status for a successful transaction.
When to use - Immediately after shipment for digital products. After delivery confirmation for physical products, or automatically X days after shipment.
Notifications - This status usually triggers the customer review request email. This is your opportunity to collect testimonials.
Impact - Completed orders appear in your sales reports. Revenues are recorded at this point in your statistics.
Cancelled
The order is cancelled and will not be processed. Can be decided by you or the customer.
Usual cases - Customer requested cancellation before shipment, payment never received after reasonable delay, fraudulent order detected, impossible to deliver to address indicated.
Stock management - Stock is immediately released and becomes available for sale again.
Refund - Cancellation is NOT an automatic refund. If payment was confirmed, you must make the refund manually via your payment gateway.
Refunded
The order has been fully or partially refunded. This status is often used in conjunction with another status.
How to get here - You make a refund via the WooCommerce interface or your payment gateway, which automatically updates the status.
Partial Refunds - If you refund only a portion (one defective item out of three), the order may remain "Completed" with a partial refund note.
Accounting tracking - Refunded orders appear in your financial reports with a negative amount, enabling accurate accounting tracking.
Failed
Payment was attempted but failed. Automatic status created by payment gateways.
Common causes - Bank card refused (limit exceeded, insufficient funds), bank data entry error, bank anti-fraud block.
Actions to take - WooCommerce automatically sends an email to the customer informing them of the failure and suggesting they try again. You can contact the customer after 24 hours if no new attempt is made.
Stock management - Stock is never reserved for these orders since the payment was unsuccessful.
Draft
Order created manually by the administrator but not yet finalized. Useful for preparing telephone orders or quotations.
Case in point - Customer orders by phone and you create the order for him, preparation of a quote before customer confirmation, complex order requiring validation in several stages.
Finalization - Once complete, change status to "Awaiting payment" or directly to "Processing" if payment is confirmed.
Order life cycle 🔺
Understanding the typical path of an order through the statuses helps you anticipate stages and automate transitions.
Standard process - immediate payment
For payments by credit card or PayPal, the most frequent cycle is :
Creation → Customer finalizes order and pays. Processing → Payment confirmed instantly. Completed → You ship and mark as completed.
This route takes 24-72h depending on your shipping times.
Bank transfer process
For payments by bank transfer, the cycle is slightly different:
Creation → Customer selects bank transfer. Waiting for payment (Pending) → Waiting for funds. Processing → You manually confirm receipt of the transfer. Completed → Shipment completed.
This process usually takes 2-5 days, until the transfer has been made and received.
Problem path
When a problem occurs, the route can take other paths:
In process → Problem detected. On Hold → You pause to resolve. Resolution → Either return to "Processing", or switch to "Cancelled".
Document each hold with a note explaining the reason and actions taken.
Cancellation/refund path
If the customer requests a cancellation or return:
Terminated → Product delivered. Return requested → Customer reports a problem. Refunded → You refund after receiving the return.
Some stores add custom statuses such as "Return in progress" to accurately track this step.
Change status 🔺
Updating statuses quickly and correctly is essential to keep your customers informed and maintain a smooth workflow.
Manual change
To change the status of an order individually :
Open the order in WooCommerce > Orders. Click on the order to see its details. Use the "Status" drop-down menu at the top right. Select the new status and click "Update".
Customers will automatically receive an email informing them of the change if notifications are enabled.
Batch change
To change several orders simultaneously:
Select the orders concerned by checking the boxes. In the "Batch actions" menu at the top, choose "Change status". Select the target status. Click "Apply".
This function is handy for changing all the day's dispatched orders to "Completed" in a single action.
Automatic changeover
Some statuses change automatically according to events:
Payment confirmed - "Pending" becomes "Processing" automatically when the gateway confirms payment.
Deadline expired - "Pending payment" becomes "Cancelled" if payment does not arrive within X days (configurable).
Digital products - "In process" becomes "Completed" immediately as no shipment is required.
Configure these automations in WooCommerce > Settings > Products and in the settings of each payment gateway.
Custom statuses 🔺
If the default statuses don't cover all your needs, create custom statuses.
Common use cases
Return in progress " - Between return request and final refund. In production " - For products made to order. Shipped " - Differentiate "shipped but in transit" from "delivered and finished". "Supplier waiting " - Product out of stock, replenishment ordered. Quality control " - For processes requiring validation before dispatch.
Custom status creation
WooCommerce does not offer an interface for creating statuses, but extensions make this task easier:
WooCommerce Order Status Manager (premium extension) offers a complete interface for creating, managing and customizing statuses.
Custom Code - Developers can add statuses via the theme's functions.php file. It's free but technical.
Each custom status can have its own display color, email notification and stock impact rules.
Best practices
Don't create too many statuses. Beyond 12-15, management becomes confusing. Each status must have a clear objective and be genuinely useful.
Document each custom status: what it means, when to use it, what actions it implies. Share this documentation with your team.
Assign a distinctive color to each status so that you can visually locate them quickly in the order list.
Automatic notifications 🔺
Each status change can trigger an automatic email to the customer, keeping them informed of the progress of their order.
Default emails
WooCommerce automatically sends these emails:
New order - Immediate confirmation after payment.
Order in process - Payment validated, preparation started.
Order completed - Shipment completed (or download available).
Cancelled order - Cancellation confirmed.
Order refunded - Refund made.
Payment failed - Unsuccessful payment attempt.
Enable/disable and customize each in WooCommerce > Settings > Emails.
Email customization
Customize the content, design and timing of each email:
Purpose - Make it informative: "Your order #123 has shipped" rather than a vague "Order update".
Content - Add useful information: tracking link for shipping, instructions for using digital products, reminder of your return policy.
Design - Use your brand colors, your logo, a personalized signature. Extensions like Kadence WooCommerce Email Designer offer advanced options.
Timing - Some emails can be delayed. For example, the "Completed" email may be sent 2 days after shipment, allowing time for delivery.
Custom status emails
If you create personalized statuses, create dedicated emails too:
An "In production" status should send an email explaining: "Your product is currently in production. You will receive a new notification when it ships in X days."
This proactive communication drastically reduces "Where's my order?" support requests.
Reports by status 🔺
Analyze your orders by status to identify bottlenecks and optimize your process.
Key indicators
Number of orders "In process " - Your queue. If this number keeps rising, you're running out of processing capacity.
Average time per status - How long does an order stay in each status on average? Identify slow stages.
Cancellation rate - Percentage of orders cancelled. A high rate (>5%) indicates a problem: too long lead times, misleading product descriptions, surprising shipping costs.
Refund rate - Percentage of orders refunded. A high rate may indicate quality problems or poorly managed customer expectations.
See WooCommerce > Reports > Orders by status for these statistics.
Data-driven optimization
If you find that 90% of your orders remain in "In process" for 3 days, you've identified your bottleneck. Perhaps you need further help or need to optimize your workflow.
If a lot of orders go through "Pending", give preference to instant payment methods, and clearly communicate the deadlines for transfers.
A high cancellation rate on specific products may indicate a problem with description or unrepresentative photos.
In a nutshell
WooCommerce offers 8 default statuses that cover the entire order lifecycle, from creation to refund. Control the exact meaning of each status (Pending, Processing, Completed, etc.) and automatic transitions to avoid handling errors. Modify statuses manually only when necessary (manual payment received, problem solved, cancellation validated), always adding an internal note to trace actions. Configure automatic email notifications for each important status change to keep customers informed. Create customized statuses if your specific workflow requires it (pre-order, manufacturing, quality control) via plugins or custom code.
Next steps 🔺
Complete your mastery of order management:
Navigation: ← Workflow | Order Statuses | Next: Returns →