• Resolved dvmorris1

    (@dvmorris1)


    Hi. We have woocommerce for managing enrolments to classes at an art group. All products are virtual, inventory controlled and have the setting to allow only 1 per order. It gets busy at enrolment time and several people can be ordering places in a class (a product) at the same time. The general product setting of “Hold Stock” was defaulted to 60 minutes. However when there is only 1 stock item left in inventory and two people are trying to order it, both can add it to their basket. The first person to pay for it gets the last place and stock levels are (correctly) reduced to zero. The other person(s) get an error message when they try to pay saying the stock item is no longer available. AM I misunderstanding the “Hold stock” setting? ie shouldn’t the system prevent the second person from adding it to their basket as it is “Held” while the first person attempts to complete.

    • This topic was modified 3 months, 2 weeks ago by dvmorris1.
Viewing 4 replies - 1 through 4 (of 4 total)
  • Plugin Support Zubair Zahid (woo-hc)

    (@doublezed2)

    Hello dvmorris1,

    Thank you for contacting Woo support.

    when there is only 1 stock item left in inventory and two people are trying to order it, both can add it to their basket. The first person to pay for it gets the last place and stock levels are (correctly) reduced to zero. The other person(s) get an error message when they try to pay saying the stock item is no longer available.

    What you have described here is correct.

    Shouldn’t the system prevent the second person from adding it to their basket as it is “Held” while the first person attempts to complete.

    The second person can add the product to their cart because the first person has not yet purchased the product by completing the checkout process.

    Hold Stock option determines how long WooCommerce will hold inventory for unpaid orders.
    These are orders that have a Pending Payment status.

    Could you tell me if you are using Checkout Blocks or Legacy Checkout method on your checkout page?
    The Checkout Block works slightly differently from the Legacy Checkout.
    It would be helpful if you share the URL of your site.

    Looking forward to your response. ??

    Best regards.

    Thread Starter dvmorris1

    (@dvmorris1)

    WOw. Thanks for the quick response! Website is https://www.thepacc.org.uk Most classes are behind a secure page accessible only by members, however Workshops are open to the public and you can see the checkout pages for these at https://thepacc.org.uk/workshops/ .

    Sorry i’m not sure what the difference is between Checkout Blocks or Legacy Checkout.

    I also discovered with some background reading that Virtual stock orders end in a status of Processing while Virtual +Download end in a status of Completed. I’ve tended to just leave our orders at Processing because I couldnt see what difference it made. I may change the proucts to virtual + download just for neatness even though they don’t have any downloads, unless there is some option I am missing to have virtuals end in status Completed without any further intervention from me.

    Plugin Support omarfpg a11n

    (@omarfpg)

    Hi @dvmorris1,

    Sorry i’m not sure what the difference is between Checkout Blocks or Legacy Checkout.

    The checkout blocks is the new checkout flow for WooCommerce since 8.3 and it uses Blocks to set up the Cart and Checkout pages (stores set up before this would continue to use the default checkout experience which is handled through the checkout and cart shortcodes).

    You can learn more about this here: https://woocommerce.com/document/cart-checkout-blocks-status/.

    I also discovered with some background reading that Virtual stock orders end in a status of Processing while Virtual +Download end in a status of Completed. I’ve tended to just leave our orders at Processing because I couldnt see what difference it made. I may change the proucts to virtual + download just for neatness even though they don’t have any downloads, unless there is some option I am missing to have virtuals end in status Completed without any further intervention from me.

    The difference between Processing and Completed is that processing orders still need to be fulfilled (for instance, shipping a product). In the case of digital goods, this may involve sending the digital goods or granting access to the classes, as in your case. You can mark those orders as completed manually after the classes have been completed, or you could opt to make your products virtual + downloadable to do this automatically.

    Regarding reserving the stock for when a product is added to the cart (instead of a pending order status), you can review this extension from our marketplace which can help you achieve this: https://woocommerce.com/products/reserve-stock-for-woocommerce/.

    Keep in mind, if you want to try our products, you can leverage our 30-day refund policy. In a nutshell, it gives you 30 days to try it out, and if the product doesn’t work the way you need or you think another product would work better, we are more than happy to offer a full refund. You’ll find the details of [our refund policy here](https://woocommerce.com/refund-policy/).

    Cheers!
    -OP

    Thread Starter dvmorris1

    (@dvmorris1)

    THanks for the advice. I will consider the reserve stock add-in and see if we adopt that.

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