How to Manage Orders in WooCommerce


This internal staff reference guide covers order statuses, customer emails and staff workflow

Section 1: WooCommerce Order Statuses Explained

Every order in your WooCommerce store is assigned a status to indicate where that order stands in its processing, beginning when the customer submits the order and ending at order shipment. Changes in status also cause automatic emails to be sent to customers to keep them informed.

The table below covers all statuses relevant to your store, including the core WooCommerce statuses and any additional statuses introduced by Stripe and the Subscriptions plugin.

StatusSet ByWhat It MeansAuto or ManualEmail Sent to Customer
Pending PaymentSystem / Stripe (online) or Staff (phone orders)The order has been created but payment has not yet been confirmed. This occurs in two situations:
  • Online orders: a very brief transitional state that clears automatically within seconds once Stripe confirms the payment.
  • Phone orders entered manually by staff: the order is intentionally left in Pending Payment while awaiting a check or other offline payment from the customer.
Automatic (online orders) or Manual (phone orders)None (for phone orders awaiting a check, no email is sent until staff manually updates the status once payment is received)
ProcessingStripe (automatic)Payment has been received and confirmed by Stripe. (If we had inventory turned on, the stock inventory numbers would automatically be reduced.) The order is now waiting to be gathered, packed, and shipped by your team.Automatic (Stripe sets this when payment succeeds)Yes — “Processing Order” email with full order details
CompletedStaff (manual)The order has been fulfilled and shipped. No further action is required by staff. This is the final “successful” state for a physical product order.Manual — staff must set this after shippingYes — “Completed Order” email notifying the customer their order has been fulfilled
On HoldSystem, Stripe, or StaffPayment has not been fully confirmed yet, but stock has already been reserved/reduced. This can occur when:
  • Stripe’s “Authorize Only” setting is enabled (payment authorized but not yet captured)
  • A 3D Secure authentication is pending on a subscription renewal
  • A Stripe Radar fraud-review flag has been triggered
  • Staff manually places the order on hold
Usually Automatic; can be ManualYes — “Order On Hold” email with order details and instructions to complete payment if needed
CancelledSystem or StaffThe order has been cancelled, either by the system (e.g., unpaid order timeout), or manually by a staff member. (Stock inventory is restored automatically, if we have turned on inventory tracking.) Note: cancelling an order in WooCommerce does NOT automatically issue a refund through Stripe — refunds must be processed separately.Automatic (timeout) or ManualYes — “Cancelled Order” email (if order was previously Processing or On Hold)
FailedStripe (automatic)The payment attempt was declined or encountered a technical error. No money was charged. The customer can retry payment from their account area. Note: some failed orders may initially show as Pending Payment until Stripe confirms the failure.Automatic (Stripe)Yes — “Failed Order” email advising the customer to try again with a different payment method
RefundedStaff (manual)A full or partial refund has been issued through WooCommerce. When a refund is processed via the WooCommerce order screen, it is automatically submitted to Stripe. Important: changing the order status to “Refunded” manually does NOT send money back to the customer — you must use the Refund button inside the order.Manual (via Refund button in order)Yes — “Refunded Order” email

Important note about Stripe: Under normal operation, successful card payments move directly from Pending Payment to Processing automatically and immediately (thanks to the “Payment Plugins for Stripe WooCommerce” plugin the website uses). You should rarely need to intervene in this transition. If you notice orders stuck in Pending Payment after successful payment, see Section 6 (Troubleshooting).

Section 2: Subscription Statuses

Order subscriptions have their own set of statuses that are separate from regular order statuses. Subscriptions appear under WooCommerce → Subscriptions in your dashboard.

Each subscription generates an initial order (which follows the standard order statuses above) and then generates renewal orders on each billing cycle. The subscription itself tracks the subscriber’s ongoing status.

Subscription StatusWhat It MeansAuto or ManualWhat Happens / What Staff Should Do
PendingThe subscription has been created as part of a new checkout but payment has not yet been confirmed.AutomaticNo action needed. Once the initial payment processes successfully through Stripe, the status automatically advances to Active.
ActiveThe subscription is in good standing. Recurring payments are scheduled and will process automatically via Stripe on the next billing date.Automatic (after successful payment)No action needed during normal operation. Renewal orders are created automatically. Monitor for any that revert to On Hold.
On HoldThe subscription has been suspended. Recurring payments are paused. This happens automatically if a renewal payment fails, or can be set manually by staff or the customer.Automatic (failed payment) or ManualIf automatic (failed renewal payment): The customer receives an email with a link to update their payment method and pay for the renewal. Once they pay, the subscription automatically returns to Active.

If manually suspended: Staff must manually reactivate the subscription when ready.
Pending CancellationThe customer or a staff member has requested cancellation, but the subscription is still within its paid billing period. The customer retains access until the period ends.Automatic (after cancellation request)No action needed. The subscription will automatically move to Cancelled at the end of the paid period. Do not manually advance this to Cancelled unless immediate termination is required.
CancelledThe subscription has been fully terminated. No further renewals will be processed. The customer no longer has subscriber access.Automatic (end of prepaid term) or ManualCancelled subscriptions cannot be reactivated. If the customer wants to resubscribe, they must purchase the product again from the website.
ExpiredThe subscription reached its defined end date (if the product was set up with a fixed subscription length). No further action is needed.AutomaticNo action needed. The subscription simply ends. The customer loses subscriber access.

Note about subscription renewal orders: Each time a subscription renews, a new renewal order is created automatically. These renewal orders follow the same standard order statuses as regular orders (Processing, Completed, Failed, etc.) and should be handled by staff in the same way.

Section 3: Customer Email Notifications

WooCommerce automatically sends emails to customers when an order reaches certain statuses. Understanding which emails are sent and when helps you set customer expectations and avoid confusing or duplicate communication.

Emails Sent Automatically by WooCommerce

Email NameTriggered WhenWhat It ContainsNotes
Processing OrderOrder status changes to Processing (payment confirmed by Stripe)Full order summary: items, quantities, prices, billing/shipping address, payment method, order numberThis is your customer’s order confirmation email. It fires automatically — no staff action needed.
Completed OrderOrder status is manually changed to Completed by staffOrder summary plus a message indicating the order has been fulfilled/shippedThis email should be sent only after you have actually shipped the order. Do not mark Complete prematurely.
Order On HoldOrder status changes to On Hold from Pending, Cancelled, or FailedOrder details with a note that the order is on hold and may require payment or further actionFor 3DS subscription renewals, this email includes a link for the customer to authenticate and pay.
Cancelled OrderOrder status changes to Cancelled (only if previously Processing or On Hold)Notification that the order has been cancelledDoes NOT fire if the order was cancelled from Pending Payment status. Does not process any refund.
Failed OrderPayment fails (Stripe declines the charge)Notification that the payment was unsuccessful, with instructions to try againStripe sends this automatically. Customer can retry from their My Account page.
Refunded OrderA refund is processed through the order screen in WooCommerceConfirmation of the refund amount and order detailsOnly fires when refund is processed via the Refund button inside the order — not if status is manually set to Refunded.
Customer NoteStaff adds an order note and selects “Note to customer”The text of the note you enteredUse this to send custom shipping updates, tracking numbers, or other messages to the customer.
Email NameTriggered WhenWhat It ContainsNotes
New Renewal OrderA subscription renewal payment processes successfullyRenewal order details and confirmation of the chargeSent automatically by the Subscriptions plugin on each successful renewal.
Subscription Suspended / On HoldSubscription status changes to On Hold (e.g., failed payment)Notification that the subscription is paused, with instructions or a payment linkThe customer must take action to reactivate. Staff should not reactivate manually unless instructed.
Subscription CancelledSubscription reaches Cancelled statusConfirmation that the subscription has endedSent at end of prepaid term or upon immediate cancellation.
Subscription ExpiredSubscription reaches its end dateNotification that the subscription term has ended
Upcoming Renewal ReminderConfigured number of days before a renewal is due (if enabled in Subscriptions settings)Reminder that a charge is approachingCheck your Subscriptions settings to confirm this is enabled and set to the desired lead time.

Admin-Only Emails (Not Sent to Customers)

The following emails go only to the store administrator or designated staff email addresses:

  • New Order — sent to admin when any new order is placed
  • Cancelled Order (Admin) — sent to admin when an order is cancelled
  • Failed Order (Admin) — sent to admin when a payment fails

Section 4: Staff Workflow for Processing Orders

This section describes the step-by-step process to handle orders from placement through shipment. Follow these steps consistently to ensure customers receive the right emails at the right time and your online tracking stays current.

4.1 Standard Order Workflow (Physical Products Ordered Online)

This covers the normal flow for physical product orders paid by credit/debit card via Stripe or ACH bank transfer.

#ActionDetails
1Customer Places OrderThe customer completes checkout on your website and pays by card through Stripe. You do not need to do anything at this stage.
2Stripe Confirms PaymentStripe processes the payment automatically. Within seconds, the order status changes from Pending Payment to Processing. WooCommerce automatically sends the customer a “Processing Order” confirmation email containing their full order details. You will also receive a “New Order” notification email.
3Review the OrderLog into WordPress and navigate to WooCommerce → Orders. Locate the new order (it will show a green “Processing” status). Open the order and verify: items ordered, quantities, shipping address, and any customer notes. Confirm stock is available.
4Pick and PackPrepare the shipment according to your normal fulfillment process. Print any packing slips or pick lists as needed.
5Add Tracking Information (Optional)If you have a tracking number, add it to the order as a customer note. Inside the order, scroll to the “Order Notes” box on the right side. Type the tracking number and carrier details, select Note to Customer from the dropdown, and click Add. This sends the customer an email with the note.
6Mark as CompletedOnce the order has been handed to the carrier/shipped, change the order status to Completed. To do this: open the order, locate the “Order Status” dropdown at the top of the order details panel, select “Completed”, and click the Update button. WooCommerce will automatically send the customer a “Completed Order” email.

4.2 Phone Order Workflow (Manually Entered Orders)

When a customer places an order by phone, a staff member creates the order manually in WooCommerce. Payment by check is taken separately and the order remains in Pending Payment until the check is received and cleared.

#ActionDetails
1Take the Order by PhoneCollect all necessary information from the customer: full name, billing address, shipping address (if different), phone number, email address, and the items they wish to order (product names, quantities, and any variants such as size or color).
2Create the Order in WooCommerceLog into WordPress and go to WooCommerce → Orders. Click Add Order (top right). Set the order date, then click Add item(s) to search for and add the products. Enter the customer’s billing and shipping addresses. In the Customer Details section, enter their email address so they can receive notifications. Under Payment Method, you can enter a note such as “Check — pending receipt.”
3Set Status to Pending PaymentLeave the order status as Pending Payment (this is the default for manually created orders). Click Create to save the order. Do not mark it as Processing yet — no payment has been received.
4Add an Internal Order NoteInside the order, scroll to the Order Notes panel on the right. Add a private note (select Private note from the dropdown) recording that this was a phone order and payment by check is expected. Include any relevant details (e.g., customer spoke with whom, date of call). Private notes are not emailed to the customer.
5Notify the Customer (Optional)If the customer provided an email address, you may optionally send them an order summary. Inside the order, go to Order Actions (top right panel) and select “Email invoice / order details to customer,” then click the arrow button. This sends the customer their order details and the amount owed.
6Wait for the Check to ArriveHold the order in Pending Payment status. Do not pick, pack, or ship the order yet. Monitor incoming mail for the customer’s check. You can use the private Order Notes to log any follow-up contact with the customer.
7Record Receipt of CheckWhen the check arrives, verify the amount matches the order total. Add a private note to the order confirming receipt (e.g., “Check received [date], amount [amount], deposited.”). Change the order status to Processing and click Update. This sends the customer a “Processing Order” confirmation email and signals to your fulfillment team that the order is ready to ship.
8Pick, Pack, and ShipFulfill the order following your normal shipping process. Optionally add a tracking number as a customer note (select “Note to customer” so they receive it by email).
9Mark as CompletedOnce the order has been shipped, change the status to Completed and click Update. The customer receives a “Completed Order” email.

If a check is never received: If you have waited a reasonable time and the customer has not sent payment, change the order status to Cancelled. WooCommerce will restore the reserved stock automatically. Add a private note documenting the reason for cancellation.

4.3 How to Change an Order Status

You can change an order status in two ways:

Method A: From the Orders List (Quick Bulk Action)
  1. Go to WooCommerce → Orders.
  2. Locate the order you want to update.
  3. Click the order number to open it.
  4. In the Order Details panel at the top right, find the Status dropdown.
  5. Select the new status from the dropdown.
  6. Click Update to save.
Method B: Bulk Status Change (Multiple Orders at Once)
  1. Go to WooCommerce → Orders.
  2. Use the checkboxes on the left to select the orders you want to update.
  3. In the “Bulk Actions” dropdown at the top, select the desired status change (e.g., “Mark processing” or “Mark completed”).
  4. Click Apply.

Caution: Bulk actions affect all selected orders simultaneously and each status change triggers its corresponding customer email. Double-check your selection before applying.

4.4 Handling On Hold Orders

If an order appears with an On Hold status, investigate the reason before taking action. Check the Order Notes section inside the order for an explanation from Stripe or the system.

Reason for On HoldWhat Staff Should Do
Stripe “Authorize Only” mode (payment authorized, not captured)Verify the order details are correct. When ready to fulfill, open the order, change the status to Processing or Completed, and click Update. This triggers the capture of funds in Stripe. You have 7 days from the authorization before it expires.
Stripe Radar fraud review flagLog into your Stripe Dashboard and review the flagged payment. If you approve it, capture or release the hold in Stripe, then manually update the WooCommerce order status to Processing. If you decline it, set the order status to Cancelled in WooCommerce (the authorization will void in Stripe).
Subscription renewal awaiting 3D Secure authenticationThe customer has already been sent an email with a link to authenticate. No staff action is needed unless the customer contacts you for help. Once the customer completes authentication, Stripe will process the payment and update the subscription to Active automatically.
Manually placed on hold by staffInvestigate the reason it was placed on hold. Once the issue is resolved, change the status to Processing to resume normal fulfillment.

4.5 Cancelling an Order

Orders can be cancelled by staff at any point before shipment, or by the system if an unpaid order times out.

  1. Open the order in WooCommerce → Orders.
  2. Change the order status to Cancelled and click Update.
  3. If inventory tracking has been turned on, WooCommerce will automatically restore the stock for the cancelled items.
  4. If payment was captured by Stripe, you must separately issue a refund — see Section 4.6 below. Cancelling the order does NOT automatically refund the customer.
  5. The customer will receive a Cancelled Order email if the order was previously in Processing or On Hold status.

4.6 Processing Refunds

Important: To refund a customer and return money to their card, you must use the built-in Refund feature inside the order. Do NOT simply change the order status to “Refunded” — this only changes the status label and does not actually send any money back.

  1. Open the order in WooCommerce → Orders.
  2. Scroll down to the order items section and click the Refund button (below the item list).
  3. Enter the quantity and/or amount to refund for each applicable item.
  4. Ensure the Refund via Stripe button is shown (not “Refund manually”). Click it to submit the refund to Stripe.
  5. WooCommerce sends the customer a Refunded Order email and the status updates to Refunded automatically.
  6. For partial refunds, the order status remains as-is and the refund amount is logged in the Order Notes.

4.7 Managing Subscription Orders

Subscription-related orders appear in two places: the regular WooCommerce → Orders list (for the initial purchase and each renewal order), and in WooCommerce → Subscriptions (for the subscription record itself).

Handling a Failed Subscription Renewal
  1. The system automatically sets the subscription to On Hold and sends the customer a payment failure email with a link to update their payment method and pay.
  2. Wait for the customer to respond. The subscription will return to Active automatically once payment succeeds.
  3. If the customer contacts you for help, direct them to their My Account page on your website where they can update their payment method and pay the outstanding renewal.
  4. If the customer cannot resolve it, you can manually create a new renewal order from the Subscription screen. Go to WooCommerce → Subscriptions, open the relevant subscription, and use the Process Renewal action from the subscription action dropdown.
Suspending or Cancelling a Subscription (Staff-Initiated)
  1. Go to WooCommerce → Subscriptions and open the relevant subscription.
  2. In the Subscription Details panel, change the Subscription Status dropdown.
  3. To suspend temporarily: select On Hold and click Update. The customer retains access but no further renewals are charged.
  4. To cancel immediately: select Cancelled and click Update. The customer loses access right away.
  5. To cancel at end of period: select Pending Cancellation and click Update. The customer keeps access until the next billing date, then the subscription cancels automatically.

Section 5: Quick Reference — Common Scenarios

Use the table below as a quick decision guide for the most common situations you will encounter.

SituationWhat You See in WooCommerceWhat to Do
Customer placed and paid for an orderOrder status: ProcessingPick, pack, and ship. Mark as Completed when shipped.
Order is shippedOrder status: ProcessingChange status to Completed. Customer receives completion email.
Customer wants to cancel before shipmentOrder status: ProcessingChange status to Cancelled. Issue a refund via the Refund button if payment was captured.
Customer wants a refund after deliveryOrder status: CompletedUse the Refund button inside the order. Do not just change the status.
Order is stuck in Pending Payment after Stripe shows paymentOrder status: Pending PaymentCheck Order Notes for Stripe activity. If payment is confirmed in Stripe, manually change status to Processing. See Section 4, Troubleshooting.
Order is On Hold (authorize-only mode)Order status: On HoldVerify the order. Change status to Processing or Completed to capture the payment. Act within 7 days.
Order is On Hold (Stripe fraud review)Order status: On Hold, note from Stripe in Order NotesReview payment in Stripe Dashboard. Approve and capture, or decline and cancel.
Subscription renewal payment failsSubscription status: On HoldCustomer is notified automatically. Wait for them to pay. Help if they contact you.
Customer asks to cancel their subscriptionSubscription status: ActiveGo to WooCommerce → Subscriptions. Set to Pending Cancellation (keeps access to period end) or Cancelled (immediate).
Customer wants to add a tracking numberOrder status: ProcessingOpen order. In Order Notes, type the tracking info, select “Note to Customer,” click Add. Customer receives an email with the note.
Phone order just taken — awaiting check in the mailOrder status: Pending Payment (just created by staff)Leave in Pending Payment. Add a private note recording payment method and date. Do not ship yet.
Check received for a phone orderOrder status: Pending PaymentAdd a private note confirming receipt and amount. Change status to Processing. Customer receives a Processing Order email. Proceed with fulfillment.
Check never arrives for a phone orderOrder status: Pending Payment (aging)Change status to Cancelled. WooCommerce restores stock automatically. Add a private note documenting the reason.

Section 6: Troubleshooting Common Issues

Order Stuck in Pending Payment After Successful Stripe Charge

This occasionally happens due to a disrupted webhook communication between Stripe and your website. Note: this applies to online orders only — phone orders awaiting a check will normally stay in Pending Payment status until someone has verified the receipt of the check and manually changed the status to Processing or another relevant status.

  1. Confirm the payment actually succeeded by checking your Stripe Dashboard.
  2. Open the order in WooCommerce and review the Order Notes for any messages from Stripe.
  3. If Stripe shows the payment as successful but WooCommerce has no corresponding note, a webhook may have failed.
  4. You can safely manually change the order status to Processing. This will trigger the Processing Order email to the customer.
  5. Report the issue to your website administrator/developer to check webhook configuration (WooCommerce → Settings → Payments → Stripe → Webhooks).

Customer Did Not Receive an Order Email

  1. Verify the order status is what you expect (e.g., confirm it actually reached Processing or Completed).
  2. Ask the customer to check their spam/junk folder.
  3. Staff can resend most order emails from within the order screen. Open the order, scroll to Order Actions on the right side, and select the email you want to resend (e.g., “Resend new order notification” or “Email invoice / order details to customer”), then click the arrow button.

Subscription Renewal Order Not Created

  1. Go to WooCommerce → Subscriptions and open the subscription in question.
  2. Check the Next Payment date and the subscription notes for any error messages.
  3. Go to WooCommerce → Status → Scheduled Actions and check for any failed actions related to the subscription.
  4. Contact your website administrator if the issue persists.

Refund Does Not Appear in Stripe

This typically means the order status was changed to Refunded manually instead of using the Refund button. Changing the status label does not process a financial transaction.

  1. Open the order and use the Refund button (not the status dropdown) to process the actual refund through Stripe.
  2. If the customer has already been told a refund was issued, check with your Stripe Dashboard to confirm. Contact Stripe or your administrator if needed.

Technical note: These instructions include the following e-commerce plugins used by this WordPress website: WooCommerce • Payment Plugins for Stripe WooCommerce (by Payment Plugins) • Subscriptions for WooCommerce (by ThemeHigh)


Leave a Reply

Your email address will not be published. Required fields are marked *