This internal staff reference guide covers order statuses, customer emails and staff workflow
- Section 1: WooCommerce Order Statuses Explained
- Section 2: Subscription Statuses
- Section 3: Customer Email Notifications
- Section 4: Staff Workflow for Processing Orders
- Section 5: Quick Reference — Common Scenarios
- Section 6: Troubleshooting Common Issues
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.
| Status | Set By | What It Means | Auto or Manual | Email Sent to Customer |
|---|---|---|---|---|
| Pending Payment | System / Stripe (online) or Staff (phone orders) | The order has been created but payment has not yet been confirmed. This occurs in two situations:
| 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) |
| Processing | Stripe (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 |
| Completed | Staff (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 shipping | Yes — “Completed Order” email notifying the customer their order has been fulfilled |
| On Hold | System, Stripe, or Staff | Payment has not been fully confirmed yet, but stock has already been reserved/reduced. This can occur when:
| Usually Automatic; can be Manual | Yes — “Order On Hold” email with order details and instructions to complete payment if needed |
| Cancelled | System or Staff | The 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 Manual | Yes — “Cancelled Order” email (if order was previously Processing or On Hold) |
| Failed | Stripe (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 |
| Refunded | Staff (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 Status | What It Means | Auto or Manual | What Happens / What Staff Should Do |
|---|---|---|---|
| Pending | The subscription has been created as part of a new checkout but payment has not yet been confirmed. | Automatic | No action needed. Once the initial payment processes successfully through Stripe, the status automatically advances to Active. |
| Active | The 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 Hold | The 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 Manual | If 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 Cancellation | The 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. |
| Cancelled | The subscription has been fully terminated. No further renewals will be processed. The customer no longer has subscriber access. | Automatic (end of prepaid term) or Manual | Cancelled subscriptions cannot be reactivated. If the customer wants to resubscribe, they must purchase the product again from the website. |
| Expired | The subscription reached its defined end date (if the product was set up with a fixed subscription length). No further action is needed. | Automatic | No 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 Name | Triggered When | What It Contains | Notes |
|---|---|---|---|
| Processing Order | Order status changes to Processing (payment confirmed by Stripe) | Full order summary: items, quantities, prices, billing/shipping address, payment method, order number | This is your customer’s order confirmation email. It fires automatically — no staff action needed. |
| Completed Order | Order status is manually changed to Completed by staff | Order summary plus a message indicating the order has been fulfilled/shipped | This email should be sent only after you have actually shipped the order. Do not mark Complete prematurely. |
| Order On Hold | Order status changes to On Hold from Pending, Cancelled, or Failed | Order details with a note that the order is on hold and may require payment or further action | For 3DS subscription renewals, this email includes a link for the customer to authenticate and pay. |
| Cancelled Order | Order status changes to Cancelled (only if previously Processing or On Hold) | Notification that the order has been cancelled | Does NOT fire if the order was cancelled from Pending Payment status. Does not process any refund. |
| Failed Order | Payment fails (Stripe declines the charge) | Notification that the payment was unsuccessful, with instructions to try again | Stripe sends this automatically. Customer can retry from their My Account page. |
| Refunded Order | A refund is processed through the order screen in WooCommerce | Confirmation of the refund amount and order details | Only fires when refund is processed via the Refund button inside the order — not if status is manually set to Refunded. |
| Customer Note | Staff adds an order note and selects “Note to customer” | The text of the note you entered | Use this to send custom shipping updates, tracking numbers, or other messages to the customer. |
Subscription-Related Emails
| Email Name | Triggered When | What It Contains | Notes |
|---|---|---|---|
| New Renewal Order | A subscription renewal payment processes successfully | Renewal order details and confirmation of the charge | Sent automatically by the Subscriptions plugin on each successful renewal. |
| Subscription Suspended / On Hold | Subscription status changes to On Hold (e.g., failed payment) | Notification that the subscription is paused, with instructions or a payment link | The customer must take action to reactivate. Staff should not reactivate manually unless instructed. |
| Subscription Cancelled | Subscription reaches Cancelled status | Confirmation that the subscription has ended | Sent at end of prepaid term or upon immediate cancellation. |
| Subscription Expired | Subscription reaches its end date | Notification that the subscription term has ended | |
| Upcoming Renewal Reminder | Configured number of days before a renewal is due (if enabled in Subscriptions settings) | Reminder that a charge is approaching | Check 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.
| # | Action | Details |
|---|---|---|
| 1 | Customer Places Order | The customer completes checkout on your website and pays by card through Stripe. You do not need to do anything at this stage. |
| 2 | Stripe Confirms Payment | Stripe 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. |
| 3 | Review the Order | Log 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. |
| 4 | Pick and Pack | Prepare the shipment according to your normal fulfillment process. Print any packing slips or pick lists as needed. |
| 5 | Add 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. |
| 6 | Mark as Completed | Once 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.
| # | Action | Details |
|---|---|---|
| 1 | Take the Order by Phone | Collect 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). |
| 2 | Create the Order in WooCommerce | Log 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.” |
| 3 | Set Status to Pending Payment | Leave 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. |
| 4 | Add an Internal Order Note | Inside 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. |
| 5 | Notify 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. |
| 6 | Wait for the Check to Arrive | Hold 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. |
| 7 | Record Receipt of Check | When 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. |
| 8 | Pick, Pack, and Ship | Fulfill 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). |
| 9 | Mark as Completed | Once 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)
- Go to WooCommerce → Orders.
- Locate the order you want to update.
- Click the order number to open it.
- In the Order Details panel at the top right, find the Status dropdown.
- Select the new status from the dropdown.
- Click Update to save.
Method B: Bulk Status Change (Multiple Orders at Once)
- Go to WooCommerce → Orders.
- Use the checkboxes on the left to select the orders you want to update.
- In the “Bulk Actions” dropdown at the top, select the desired status change (e.g., “Mark processing” or “Mark completed”).
- 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 Hold | What 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 flag | Log 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 authentication | The 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 staff | Investigate 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.
- Open the order in WooCommerce → Orders.
- Change the order status to Cancelled and click Update.
- If inventory tracking has been turned on, WooCommerce will automatically restore the stock for the cancelled items.
- 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.
- 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.
- Open the order in WooCommerce → Orders.
- Scroll down to the order items section and click the Refund button (below the item list).
- Enter the quantity and/or amount to refund for each applicable item.
- Ensure the Refund via Stripe button is shown (not “Refund manually”). Click it to submit the refund to Stripe.
- WooCommerce sends the customer a Refunded Order email and the status updates to Refunded automatically.
- 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
- 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.
- Wait for the customer to respond. The subscription will return to Active automatically once payment succeeds.
- 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.
- 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)
- Go to WooCommerce → Subscriptions and open the relevant subscription.
- In the Subscription Details panel, change the Subscription Status dropdown.
- To suspend temporarily: select On Hold and click Update. The customer retains access but no further renewals are charged.
- To cancel immediately: select Cancelled and click Update. The customer loses access right away.
- 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.
| Situation | What You See in WooCommerce | What to Do |
|---|---|---|
| Customer placed and paid for an order | Order status: Processing | Pick, pack, and ship. Mark as Completed when shipped. |
| Order is shipped | Order status: Processing | Change status to Completed. Customer receives completion email. |
| Customer wants to cancel before shipment | Order status: Processing | Change status to Cancelled. Issue a refund via the Refund button if payment was captured. |
| Customer wants a refund after delivery | Order status: Completed | Use the Refund button inside the order. Do not just change the status. |
| Order is stuck in Pending Payment after Stripe shows payment | Order status: Pending Payment | Check 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 Hold | Verify 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 Notes | Review payment in Stripe Dashboard. Approve and capture, or decline and cancel. |
| Subscription renewal payment fails | Subscription status: On Hold | Customer is notified automatically. Wait for them to pay. Help if they contact you. |
| Customer asks to cancel their subscription | Subscription status: Active | Go to WooCommerce → Subscriptions. Set to Pending Cancellation (keeps access to period end) or Cancelled (immediate). |
| Customer wants to add a tracking number | Order status: Processing | Open 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 mail | Order 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 order | Order status: Pending Payment | Add 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 order | Order 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.
- Confirm the payment actually succeeded by checking your Stripe Dashboard.
- Open the order in WooCommerce and review the Order Notes for any messages from Stripe.
- If Stripe shows the payment as successful but WooCommerce has no corresponding note, a webhook may have failed.
- You can safely manually change the order status to Processing. This will trigger the Processing Order email to the customer.
- Report the issue to your website administrator/developer to check webhook configuration (WooCommerce → Settings → Payments → Stripe → Webhooks).
Customer Did Not Receive an Order Email
- Verify the order status is what you expect (e.g., confirm it actually reached Processing or Completed).
- Ask the customer to check their spam/junk folder.
- 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
- Go to WooCommerce → Subscriptions and open the subscription in question.
- Check the Next Payment date and the subscription notes for any error messages.
- Go to WooCommerce → Status → Scheduled Actions and check for any failed actions related to the subscription.
- 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.
- Open the order and use the Refund button (not the status dropdown) to process the actual refund through Stripe.
- 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.
Questions or Issues? If you encounter a situation not covered in this guide, contact your website administrator/developer before making changes that could affect customer payments or order data.
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)
