• Resolved proteanwoodworking

    (@proteanwoodworking)


    Hi. I’m having a devil of a time answering this question. Is it when the customer hits ‘Place Order’?

    And if so, is this when the ‘Hold Stock’ timer starts?

    I sell unique items and am concerned that the same item might get purchased twice.

    Thanks, Jim

Viewing 9 replies - 1 through 9 (of 9 total)
  • Hi Jim @proteanwoodworking,

    Thank you for reaching out.

    I understand your concern about the possibility of an item being purchased twice.

    When a customer clicks ‘Place Order’, the system does indeed reserve the item for them. This is also when the ‘Hold Stock’ timer starts, you can adjust this timer under WooCommerce > Settings > Products > Inventory.

    The ‘Hold Stock’ feature is designed to prevent the same unique item from being purchased by another customer. It holds the item for a set amount of time (which you can define in your WooCommerce settings as described above), allowing the first customer to complete their purchase, therefore, WooCommerce reduces the product stock quantity when the order status is set to ‘processing’ or ‘on-hold’.

    If the first customer doesn’t complete the purchase within the set time, the item is released back into your inventory and becomes available for other customers to purchase.

    I hope this answers your question. If you have any more questions, feel free to ask.

    We’re here to help.

    Thread Starter proteanwoodworking

    (@proteanwoodworking)

    Thanks for your prompt and detailed response!

    Is it possible for there to be a “tie” in terms of two customers clicking on “Place Order”? Or is there always just one winner?

    -Jim

    Hi @proteanwoodworking,

    Thanks for getting back to us.

    Is it possible for there to be a “tie” in terms of two customers clicking on “Place Order”? Or is there always just one winner?

    WooCommerce is designed to handle such situations efficiently. When a customer clicks on “Place Order”, the system immediately reserves the item for that customer. It means if two customers click on “Place Order” at the same time for the same unique item, the system will process the requests in the order they were received. The first customer’s request will be processed, and the item will be reserved for them, making it unavailable for the second customer. So, there is always just one winner.

    However, should you wish to only limit the unique item to a single buyer,

    You can navigate to the Product edit page for the product you would like to restrict to one per order and scroll down to the Product Data → Inventory tab. Next, ensure that the Sold individually option is checked, like so:

    In the meantime, if you would like more advanced product restriction options, you can take a look at one of the below extensions:

    WooCommerce.com offers a 30-day refund policy which you can take advantage of, allowing you to test the extension, and make sure that it is what you are looking for.

    I hope this helps.

    Thread Starter proteanwoodworking

    (@proteanwoodworking)

    Thanks again for a rapid and thorough response. Great to hear that a single item can only be charged to a single person.

    My main problem is that I’ve gotten to a point where I do product “drops” of all unique items. This entails many people hitting the site at the same time — thousands of hits in the first 10 minutes — and frequently led to situations in which the same item would be in multiple carts, thus disappointing people (though indeed there were no double charges).

    I’ve been in search of a solution that involved temporarily removing an item from inventory when it was put in a cart. I came to learn that Woocommerce is not built for this situation. I tried the two plug-ins that purport to address this problem; the pay one didn’t work at all and the free one worked some of the time, but I still had cart clashes.

    I do have the box you mention checked for all my stock; I also track inventory and start at 1, and don’t allow backorders. But none of this helps my cart over-loading.

    So I’ve decided to go back to the “wild west” of the site behavior in which an item isn’t yours until you’ve paid for it. This will lead to much disappointment, but I’m getting that with the plug-in that “kind of works” anyway, and with other site-wide side-effects.

    -Jim

    Zee

    (@doublezed2)

    Hello proteanwoodworking,

    Thank you for your reply.

    You’re correct that WooCommerce doesn’t reduce the stock until payment is completed, so in high-demand scenarios like yours, adopting the “first to pay, first to own” approach might be the best option until a more effective solution or plugin is available.

    Please don’t hesitate to contact us again if you have more questions or concerns.
    We are here to help 🙂

    Best regards.

    Thread Starter proteanwoodworking

    (@proteanwoodworking)

    Thanks for your comment.

    I have to zoom in here to focus on something you said above that’s critical to my operation. You said “WooCommerce doesn’t reduce the stock until payment is complete.” Now I’m a little concerned. If WooCommerce doesn’t reduce stock until the payment is processed, then it seems like there’s ample oportunity for two people to put in for a CC charge and one not getting the (unique) item.

    I had thought it went something like this.

    • Customer clicks “Place Order”
    • Stock is consulted
      • If stock is 0, inform customer, abandon CC transaction
      • If stock is 1, reduce it (this is critical)
    • Process CC payment
    • If CC is not successful, wait “Hold Stock” minutes before incrementing stock

    Please let me know if I have this wrong.

    -Jim

    Plugin Support shahzeen(woo-hc)

    (@shahzeenfarooq)

    Hi there!

    I can see why this detail is so crucial for your operation.

    To clarify, WooCommerce only reduces stock when an order is created, which generally occurs after the “Place Order” button is clicked and the order moves to a “Pending Payment” status. This step reduces stock by 1 immediately upon creating the order, before payment is confirmed. If the payment fails, the stock is held for the duration of the “Hold Stock” period you’ve set in WooCommerce, then it’s automatically released back into inventory if the payment remains unsuccessful.

    Here’s the sequence:

    1. Customer clicks “Place Order.”
    2. Stock is reduced immediately by 1.
    3. Payment is processed (if it’s successful, the order status moves to “Processing” or “Completed”).
    4. If the payment fails and isn’t completed within the “Hold Stock” timeframe, the item is returned to inventory.

    So, as long as the “Hold Stock” time is active, it prevents others from purchasing that same item. However, during high-traffic events, if multiple users attempt to purchase the same item, some could still encounter stock unavailability if it sells out within seconds.

    Let me know if this helps clarify!

    Thread Starter proteanwoodworking

    (@proteanwoodworking)

    Very helpful, thank you!

    I anticipate that people will occasionally click ‘Place Order’ and be told the item is no longer available, and I’m going to try to prepare them for that.

    I appreciate all the Woocommerce support on this!

    -Jim

    Plugin Support shahzeen(woo-hc)

    (@shahzeenfarooq)

    Hi there!

    You’re very welcome! I’m glad that helped clarify things.

    It’s a great idea to prepare customers for the possibility of items selling out quickly during high-traffic drops. You could consider adding a note on the product pages or checkout page letting customers know that availability is limited and items may sell out even after they start the checkout process. This can help set expectations and make for a smoother experience.

    Alternatively, you can use some custom coding to adjust inventory when an item is added to the cart and restore it if the item is removed from the cart.

    If you need more in-depth support or want to consider professional assistance for customization, I can recommend WooExperts and Codeable.io as options for getting professional help. Alternatively, you can also ask your development questions in the  WooCommerce Community Slack as custom code falls outside our usual scope of support

    Thank you

Viewing 9 replies - 1 through 9 (of 9 total)

The topic ‘When exactly does stock get reduced?’ is closed to new replies.