Order-related challenges in WooCommerce, such as pending payments, inventory mismanagement, or incorrect order statuses, can disrupt your store’s functionality and customer experience. This guide helps you identify and resolve common issues, including orders stuck in “Processing” or “On Hold” status, duplicate orders, and stock discrepancies.
Order status issues
↑ Back to topIf you are not familiar with order statuses, review the order status documentation, which provides detailed information on the expected order status at each stage of the ordering process.
One of the first things you need to know when troubleshooting order status issues is which payment method and gateway were used. You can find that information in one of two places.
In the General order details section, following the order number:

The order screen above shows that payment was made via credit card and includes the transaction ID. In some cases, the specific payment gateway appears at the top of the order details alongside the method used. Because this is not always the case, you can also find the information in the Order notes panel:

Order status not updating
↑ Back to topWhen an order status does not update automatically, it could be expected behavior, a configuration issue, or something else entirely. The sections below cover the most common causes.
Orders stuck in Processing status
The Processing order status means that payment was successful and the order is ready to be fulfilled. Orders do not automatically change from Processing to Completed. You are responsible for fulfilling the order and manually updating the status to Completed once the products have been shipped. All orders require manual processing except those containing only products that are both Virtual and Downloadable.
Order stuck in On Hold status
If you placed an order and received payment, but the order did not automatically change from On Hold to Processing, one of the following scenarios may apply. These are also outlined in the Order Statuses table.
Offline payment methods
Orders paid with an offline payment method, such as Direct Bank Transfer (BACS), do not provide immediate payment confirmation. The order remains in On Hold status until you manually verify that payment was received and update the order status.
Delayed notification payment methods
If the order was paid with a delayed notification payment method, such as SEPA Direct Debit, it is expected to remain in On Hold status temporarily. Depending on the payment gateway, the order may move automatically to a different status once the payment clears. Check the order notes and your payment gateway’s documentation for details.
Authorize and capture
Verify that your payment gateway is set to both Authorize and Capture the charge, not (remove — avoid implying tasks are simple) authorize it. An authorization places a hold on funds but requires you to manually capture the charge before any money transfers. Authorize and Capture is a single-step process that immediately transfers funds from your customer to your payment gateway. You can check whether this is the issue by looking at the order notes for a message indicating the payment was authorized but not captured:

For detailed information about this setting, refer to your payment gateway’s documentation. The following links cover the Authorize and Capture setting for commonly used gateways:
Review order notes
Order notes can reveal specific issues such as insufficient funds, expired cards, authentication failures, or gateway timeouts. Look for entries that include error codes, decline reasons, or status updates from your payment gateway. These messages typically appear with timestamps showing when each event occurred during the payment process.
If you see no order notes related to the payment attempt, that itself indicates a potential problem. Missing notes often suggest that the payment gateway failed to communicate with WooCommerce or the payment process was interrupted before completing. Verify that your payment gateway is configured correctly. If you have debug logging enabled in your payment gateway settings, review the logs for additional clues.
Review logs
If the order notes do not reveal anything useful, check WooCommerce logs for errors or clues about communication issues between the payment gateway and your store. If logging is enabled in your payment gateway’s settings, you can find the logs at WooCommerce > Status > Logs. Look for logs from the payment gateway used in the affected order on the day the order was placed.
Once logging is enabled, the system only captures new transactions. You may need to place a test order to generate logs. If you find logs showing a payment initiation but no completion, this indicates the process was interrupted or failed silently after the initial request. In that case, contact your payment gateway’s support team or contact WooCommerce support for WooCommerce-developed payment gateways.

Pending payment issues
↑ Back to topThe Pending payment order status indicates that WooCommerce received an order but payment has not yet been confirmed. Certain payment gateways, such as Direct Bank Transfer (BACS) or check payments, require you to manually verify that payment was received before moving the order to Processing or Completed status.
Most payment gateways automatically update the order status to Processing once payment is received. If orders are not updating automatically, check the following areas.
Note: If you are using the deprecated and hidden-by-default PayPal Standard functionality and orders remain in Pending payment status after successful payment, you may have an IPN issue. See Debugging IPN Issues for troubleshooting steps.
Check order notes
↑ Back to topPayment gateway messages often appear in order notes and can reveal why a payment was not completed. Look for entries that include error codes, decline reasons, or status updates from your payment gateway. These messages typically appear with timestamps showing when each event occurred during the payment process.
Missing order notes
If you see no order notes related to the payment attempt, that itself indicates a potential problem. Missing notes often suggest that the payment gateway failed to communicate with WooCommerce or the payment process was interrupted before completing. Verify that your payment gateway is configured correctly. If you have debug logging enabled in your payment gateway settings, review the logs for additional clues.
Check webhooks
↑ Back to topA webhook is a real-time notification system that allows your payment gateway to communicate with your WooCommerce store when a payment status changes. Some payment gateways require you to manually set up webhooks, while others handle this automatically.
For example, Stripe for WooCommerce requires manual webhook configuration. If you use Stripe and see pending payment issues, try reconfiguring your webhooks.
Duplicate order issues
↑ Back to topIf you observe duplicate orders in your WooCommerce store, several potential causes may be responsible. This section provides a detailed breakdown of each cause and how to investigate it.
Customer communication
↑ Back to topIf you identify suspected duplicate orders, contact the customer to verify their intent. Ask whether they intended to place multiple orders. In many cases, seemingly duplicate orders result from a second intentional purchase.
Browser and network issues
↑ Back to topDuplicate orders can occur if a customer accidentally double-clicks the Place Order button or refreshes the checkout page while waiting for the transaction to complete. This can create multiple order attempts for the same items. Ask your customer whether they experienced any delays or errors that led them to refresh the page or click Place Order more than once.
Order number verification
↑ Back to topCheck whether the suspected duplicate orders share the same order number. If the order numbers are unique, the customer may have placed separate, legitimate orders. It is common for a customer to make multiple purchases, especially if they forgot to add items to their initial order.
Order note examination
↑ Back to topReview the order notes for each suspected duplicate. Compare customer details, payment methods, and timestamps. Pay particular attention to payment gateway-specific notes. If the payment went through at the same time in both orders (or within a very short span), the second order may not be a legitimate separate purchase.
Staging site influence
↑ Back to topIf you maintain a staging or development version of your WooCommerce site, ensure the staging site is completely isolated from your production environment. An improperly configured staging site might process live orders inadvertently, leading to apparent duplicates. Be especially cautious if you use an extension that creates recurring orders automatically on a schedule.
Payment gateway dashboard review
↑ Back to topLog in to your payment gateway’s dashboard and locate the corresponding transactions for the potentially duplicate orders. If two transactions appear, the customer may have made the same purchase twice, especially if WooCommerce also shows two transactions. If only one transaction is listed in the gateway, further troubleshooting in WooCommerce is required.
Recent changes audit
↑ Back to topIf the duplicate order issue surfaced recently, consider any recent changes to your store, including extension installations, updates, gateway configurations, or theme modifications. Reverting recent changes may resolve the issue or highlight the source of the problem.
Server and hosting evaluation
↑ Back to topSlow server response times or hosting issues can lead to duplicate orders. If a customer experiences delays during checkout, they might resubmit the order form multiple times. Contact your hosting provider to investigate server performance and check for known issues. Consult the WooCommerce server recommendations to ensure your environment is properly configured.
Log review
↑ Back to topCheck WooCommerce logs for duplicate webhook calls or responses. If logging is enabled in your payment gateway’s settings, you can find the logs at WooCommerce > Status > Logs. Look for the logs of the payment gateway used in the affected order on the day the order was placed.
Extension conflict diagnosis
↑ Back to topExtension conflicts are a common source of unexpected behavior. If you can reproduce the issue in a testing environment such as a local or staging site, temporarily deactivate all plugins except WooCommerce and your active payment gateways. Place a test order. If the duplicates disappear, reactivate each plugin one by one, testing after each activation to identify the source. See the WooCommerce conflict testing guide for more details.
Stock-related issues
↑ Back to topWooCommerce automatically tracks and updates product inventory as customers make purchases. When functioning correctly, the system reduces stock levels during checkout and maintains accurate inventory counts across your product catalog.
To prevent overselling, enable the stock management option in both your global WooCommerce settings and individual product settings. This ensures that the quantities displayed on your store match what you have available.
To verify that stock management is enabled, go to WooCommerce > Settings > Products > Inventory and confirm the following settings:
- Enable stock management is checked.
- Hold stock duration is set appropriately (recommended: 60 minutes).

For additional information, see Product settings: Inventory.
Stock not reducing after order
↑ Back to topWooCommerce may not reduce stock levels after an order if stock management is not enabled in both the global WooCommerce settings and the individual product settings. Ensure that stock management is active in both locations. If either setting is disabled, automatic stock reduction does not occur when an order is placed.
Simple products
To enable stock tracking for a simple product, follow these steps:
- Go to Products in your WordPress dashboard.
- Select a product to edit.
- Scroll to the Product data section.
- Enable Track stock quantity for this product.

- Set the Quantity field to the number of items in stock.
Note: If you want customers to order items that are currently out of stock, select Allow backorders from the dropdown options.
Variable products
You can manage inventory for variable products at the product level, the variation level, or a combination of both. The following options are available:
- Product-level inventory management
- Variation-level inventory management
- Combined inventory management (variation level and product level)
For additional information, see Inventory management for variable products.
Incorrect stock display
If customers cannot see stock inventory on your website, verify the stock display format at WooCommerce > Settings > Products > Inventory.

Select one of the following options for how stock quantities are displayed on your store:
- Always show stock — displays “12 in stock.”
- Only show stock when low — displays “Only 2 left in stock” when stock is low, or “In stock” otherwise.
- Never show stock amount — hides stock quantities entirely.
For additional information, see Product settings: Inventory.
Sequential order issues
↑ Back to topWhile every order uses a unique order ID, the IDs are not necessarily sequential. Order IDs in WooCommerce are not sequential by default because the system assigns IDs to various types of content, not (remove — avoid implying tasks are simple) orders. When other content is created between orders, the order IDs skip the numbers that were already assigned.
To assign sequential order numbers, you can use an extension such as Sequential Order Numbers Pro.
Questions and support
↑ Back to topDo you still have questions and need assistance?
This documentation is about the free, core WooCommerce plugin, for which support is provided in our community forums on WordPress.org. By searching this forum, you’ll often find that your question has been asked and answered before.
If you haven’t created a WordPress.org account to use the forums, here’s how.
- If you’re looking to extend the core functionality shown here, we recommend reviewing available extensions in the WooCommerce Marketplace.
- Need ongoing advanced support or a customization built for WooCommerce? Hire a Woo Agency Partner.
- Are you a developer building your own WooCommerce integration or extension? Check our Developer Resources.
If you weren’t able to find the information you need, please use the feedback thumbs below to let us know.