• Resolved hans410947

    (@hans410947)


    Hello,

    I have set WooCommerce > Settings > Products > Stock > Reserve stock to 60 minutes.

    Then I did the following test:

    I set the stock for one of my products to 2pcs.

    Then I went to the front end of the store from 3 different devices, using 3 different IP addresses.

    From each of the devices, I put I item in the basket.

    I would have expected this to work for the first device.

    For the second device, I would have expected to see an Empty stock warning, as I have set the limit for Empty stock to 1pcs.

    And for the third device, I would definitely have expected an Empty stock warning, because there were only 2pcs in stock, and these had already been put in the basket when I used device 1 and 2 above.

    What need I do to make the Reserve stock feature to work, so that when a customer places a product in the basket, the stock is temporarily reduced, so there is no risk of 2 customers buying the last product I have in stock?

    Or is this a caching problem? I am using Litespeed cache plugin. Maybe it does not clear cache for the product until the product is actually purchased?

    Thank you!

    Best regards,

    Hans

Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Support Zubair Zahid (woo-hc)

    (@doublezed2)

    Hello hans410947,

    Thank you for contacting Woo support.

    To help diagnose the issue, I need more information.
    Are you using the Block Checkout or Shortcode Checkout on your site?

    Could you share a screenshot of your stock settings, especially the “Reserve Stock” settings under WooCommerce > Settings > Products > Stock?

    Lastly, share your site’s URL so we can take a closer look.
    Looking forward to your response. ??

    Best regards.

    Thread Starter hans410947

    (@hans410947)

    Hello @doublezed2 and thank you for your response!

    I am using the shortcode checkout.

    My website URL is https://specialplasticparts.com/

    Here is a screenshot of the stock settings

    Thank you!

    Best regards,

    Hans

    Plugin Support Shameem R. a11n

    (@shameemreza)

    Hi. @hans410947

    Thank you for sharing the additional information.

    Your settings seem to be configured correctly. The reserve stock feature should temporarily reduce the stock when a customer places a product in their basket.

    However, the caching plugin you’re using could indeed be causing the issue. Litespeed cache plugin might not be updating the stock status in real-time, which could lead to the scenario you described.

    To confirm this, you could temporarily disable the Litespeed cache plugin and test the reserve stock feature again. If the problem persists even after disabling the plugin, some other issue might be at play.

    If the issue is resolved after disabling the plugin, you might need to consider using a different caching plugin or adjusting the settings of your current one to ensure it updates the stock status in real time.

    If this makes no difference, you can run a conflict test to help you identify the cause of the issue. More info: https://woocommerce.com/document/how-to-test-for-conflicts/

    I hope this helps! Please let us know how it goes or if you need further assistance.

    Thread Starter hans410947

    (@hans410947)

    Hello @shameemreza and thank you for your response.

    This is what I have done to troubleshoot:

    -Create a staging site

    -Disable all plugins except Woocommerce

    -Disable CDN

    I did the test purchases again like this:

    -I set the stock for one of my products to 3 pcs

    -I accessed the Woo-store from 3 different devices, using 3 different IP addresses

    -Device #1 puts one item in the basket

    -Device #2 puts one item in the basket

    -Device #3 puts one item in the basket

    All the devices above were able to place a product in the basket.

    Device #3 was even able to place 3 products in the basket. When trying to put a 4th product in the basket, a notification came up that there was only 3 items in stock.

    Problem #1: in my test, it seems like the Hold stock feature is not working. At least Device #3 should not have been able to place any products in the basket, as the Out of stock threshold is set to 1, and because Device # 1 and 2 had already placed one item each in the basket, the Device #3 should have been told that the product is out of stock. And the fact that Device #3 was able to place 3 items in the basket before being told that the stock is limited to 3 pcs, shows that the Hold Stock feature did not work.

    Problem #2: as mentioned above, even though I had set the Out of stock threshold to 1, Device #3 was still able to place 3 items in the basket. It should have been possible to place only 2 items in the basket, even though there are 3 items in stock (because of threshold set to 1).

    Tests I have done earlier for the Out of stock threshold has showed the following:

    If there are 3 pcs in stock, and customer #1 buys 2 pcs, then the product will be marked as out of stock in the store. Customer #2, who arrives to the store later, will not be able to buy that product.

    However, if there are 3 pcs in stock, and customer #1 puts 3 pcs in the basket, this is possible, even though it should only have been possible to buy 2 pcs (because of threshold set to 1).

    Where should I go from here?

    Can you please test the above 2 issues (Hold stock and Low stock threshold) on your own testing site? Maybe this is a bug?

    Thank you!

    Best regards,

    Hans

    Plugin Support Shameem R. a11n

    (@shameemreza)

    Hi @hans410947

    Thank you for sharing such a detailed explanation. I appreciate the steps you’ve taken to troubleshoot this problem.

    The Reserve Stock feature in WooCommerce is designed to hold stock for a certain period of time once a customer adds a product to their cart. However, this feature only applies if the customer proceeds to the checkout. If the customer simply adds a product to their cart but does not go to the checkout, the stock is not reserved.

    As for the second issue, the Out of Stock Threshold setting is designed to notify you when the stock for a product drops to a certain level. It’s not intended to limit the number of products a customer can add to their cart. The out-of-stock threshold setting does not prevent customers from purchasing more than the set threshold. It just notifies you when the stock level drops to the set threshold.

    More info: https://woocommerce.com/document/configuring-woocommerce-settings/products/#inventory

    So, to move further, make sure you’ve added stock for each product and variation and that your website’s session and cron job are working fine.

    Rest assured, I tested everything on my testing site and even created a new one. Everything seems to be working fine, as expected.

    I hope this provides some clarity on the matter. If you have any other questions or need further assistance, please don’t hesitate to ask.

    Thread Starter hans410947

    (@hans410947)

    Hello @shameemreza and thank you for the explanations, the behavior of my WooCommerce store makes sense to me now.

    May I add it as a feature request, that stock can be reserved as soon as a customer puts an item in the basket? To avoid that a customer arrives at the checkout only to find out that the items in the basket has just been bought by another customer.

    Best regards,

    Hans

    Plugin Support ckadenge (woo-hc)

    (@ckadenge)

    Hi @hans410947,

    We appreciate your suggestion to add a feature that reserves stock as soon as a customer adds an item to their cart. We understand how this could improve the shopping experience by preventing customers from finding out at checkout that their desired item is no longer available.

    In order to add a feature request, please follow this link here.

    In the meantime, I’ll go ahead and mark this thread as solved. Should you have any further questions, please feel free to reach out.

Viewing 7 replies - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.