Support » Plugin: WooCommerce » Hold Stock not working

  • Woocommerce docs say: “Hold Stock … if a person has a pending order, WooCommerce will remove the item from the global inventory amount until this time limit is up.” – but this does not work.

    I have ‘Hold Stock’ set to 60 minutes and a product with one item in stock. A customer adds that product to their cart then goes through checkout to PayPal. The order becomes ‘Pending’. But the item still appears as “1 Item In Stock” on the product page.

    What should happen is the stock for that item is put On Hold, and the item should appear as Out of Stock until payment is made (or cancelled after 60 minutes).

    Am I missing something?

Viewing 5 replies - 1 through 5 (of 5 total)
  • BUMP

    • This reply was modified 2 years, 10 months ago by kaydeeweb.

    The hold stock is a function that fires when it is checking a persons cart. For example if a person added or tried to add that product to their cart, it should issue a error that the product is unavailable.

    Hold stock only applies to orders that are in a “Pending” state, so if the order is on hold it will not count as “held”.

    On hold is a long term status while pending is a short term status that is waiting for payment result.

    When a order is in pending state it is because it is waiting for the payment. Order has started and possibly waiting for the gateway to notify your store that the payment was good. Depending on gateway there could be a lag, so let’s say a payment failed and the gateway has not told your store yet. It would be in pending, holding the product for a good response (successful payment).

    Once the payment gateway says the customer paid the order is then set to “Processing” and the item is removed from available stock.

    The hold stock does not alter the products page out of the box.
    You could alter your template to call the logic to check the stock status.

    The reason it does not do this is because if a customer adds product to their cart and starts the checkout process, with no intention of purchasing it could show your real customers that they are out of luck.

    BUT if your real customers can still add it to their cart, then it gives them a chance to be the first to checkout and get the product.

    Hi, our store uses a payment gateway that gives clients 5 days to finish the payment, orders stay on pending status in that time. I need the stock reduced in these days because if that doesnt happen we oversell the product.

    How can i activate the stock reducing for pending orders?

    I have the same problem.

    My husband tested my site by going in and placing an order and then proceeding to checkout, so that we could see if I got an email….

    My settings are to reserve orders for 60 minutes but since the order is cancelled the items are not returned to their original stock values.

    This is surely a glitch? If I leave the Hold Stock (minutes) blank…then will the stock never be returned to its original value.

    I just want a simple, straightforward answer on this as I have been googling myself blue in the face and since we aren’t premium Woocommerce customers, we cant get direct support from them.

    Thank you

    Hi, i have the same problem.

    Some of my product get stock-1. I try puting hold stock in blank, and with 5 min. But Pending payment status never get canceled, and hold the stock.

    I try to buy the same product in a incognito session, and i can finish the checkout. Thats brings me problem of stock.

    I think, that is necesary change the implementation of this. Make Pending payment status reduce the stock, and if get canceled then restore the stock.

    If someone have facillitys withs php snippets, please share here the codes!

    Thx a lots!

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘Hold Stock not working’ is closed to new replies.