This plugin is for those WooCommerce stores that operate with small amounts of stock and high demand.
Why do I need Reserved Stock Pro
Reducing product stock when a product is added to the cart will ensure that customers don’t end up disappointed. By default, WooCommerce will only reduce stock once an order is created. The problem is that multiple customers could have the same product in their cart. Customers won’t be able to purchase the product if it goes out of stock while they’re browsing the store or finishing the checkout process. Learn more about how WooCommerce handles stock reservations.
Most importantly Reserved Stock Pro prevents overselling on with large scale WooCommerce stores! No more negative stock for product inventory.
Show customers how popular your products are! When customers can see how many of your products are currently reserved, they know they better get theirs quickly so they don’t miss out!
Let customers know when popular products may be coming back into stock: If one product’s stock is completely reserved in other carts, customers might want to hang around to try to reserve one as soon as it expires or is removed from another customer’s cart.
Our solution is controlling the stock quantity from the cart. Once a customer adds a product with stock to their cart, the available product quantity will decrease and be marked as reserved. We’ve also included product expiry times, notifications, and made sure stock levels update to match product quantity changes in cart.
The features of Reserved Stock Pro include:
- Stock decreases when products are added to the cart.
- Stock increases when products are removed from the cart.
- Stock levels update to match cart changes.
- Set product expiry time.
- Updated expiry times when product quantity is changed in the cart.
- Stock is removed from the cart after your set time, whether customers are on the site or not.
- Customizable add to cart notice on the product page.
- Customizable automatically removed from cart notification.
- A customizable countdown for reservations.
Features in More Detail
Stock decreases when products are added to cart:
When a customer adds a product to their cart, the stock numbers are decreased on the product page and instead marked as reserved.
Example: Product A has 10 in stock. A customer adds 4 x Product A to their cart. The stock levels on Product A will now show 6 in stock.
Stock increases when products are removed from cart:
When a customer removes a product from their cart, its stock numbers are increased on the product page.
Example: You have 6 Product A in stock and 4 Product A held in a customer’s cart. The customer removes the 4 Product As from their cart. The stock levels of Product A will now show 10 in stock.
Stock levels update to match cart changes:
When a customer updates the product quantity in their cart, the stock quantity is also updated on the product page.
Example: Product A has 6 in stock and 4 are in a customer’s cart. The customer decides to add 4 more of Product A to their cart. Now the customer has 8 x Product A in their cart. Product A shows 2 left in stock.
Set product expiry time:
Set the amount of time you will allow customers to reserve the product in their cart. After this time, the product will be removed from their cart and released back into stock for other customers.
Example: You want customers to only hold products in cart for 60 minutes. A customer adds 5 x Product A into their cart. Five product As will be reserved for 60 minutes (you can change this amount of time to whatever you like). At the end of 60 minutes, the 5 Product As will be removed from the customer’s cart and Product A’s stock numbers will increase by 5.
If the customer goes through checkout and finishes their order before 60 minutes, then the product quantity stays the same. The product stock has already been decreased by 5 when they added it to the cart.
Updated expiry times when product quantity is changed in cart:
If customers decide to add more of a certain product from their cart, the expiry time will also refresh in their cart. The expiry time does not reset when customers decrease the quantity of a product in their cart.
It’s important to give customers extra time when shopping on your site. Let them add as many products as they like without time pressure.
Stock expires from the cart whether customers are on the site or not:
Stock reservations are tracked in the database using a custom database table. This means that stock will expire correctly whether customers are actively on the site or not. Stock will be restored and available for the next customer automatically.
Customizable add to cart notice on product page:
Easily add a notification message that will be shown on each product page telling customers that the product has limited stock and how long they can hold a product in cart before it expires. The notification message is fully customizable via the settings.
Note: This is one message that applies to all products. Developer filters are available for further customization.
Customizable automatically removed from cart notification:
Customers are notified using the WooCommerce notifications when a product under stock control has been automatically removed from their cart. This notification won’t be shown to customers who remove the product themselves. You can customize this message via the settings.
Note: This is one message that applies to all products when expired from cart. Developer filters are available for further customization.
Keep customers informed – Sticky Countdown
Customers need to know what is going on, that way nothing is unexpected and they will continue to have a great shopping experience. This is where the built-in countdown for reservations come in. Your customers will be able to see exactly how long they have to purchase their products. The countdown will automatically display at the bottom of each page while the customer has reserved stock in their cart. There are no unexpected surprises.
The countdown automatically refreshes and reflects any changes to the customer’s cart.
Made With Performance in Mind
Reserved Stock Pro uses a custom database table (
rsp_reserved_stock.) Using a custom database table allows for the best performance without making any changes to your data or products.
Product reservations are made for each guest customer or signed in customer. A customer visits your store and adds a few products to their cart, then those are products are reserved using their guest session ID (automatically generated by WooCommerce). If the customer logs in to their account, then their “guest” reservations will automatically be transferred to their customer id.
Product pages are normally cached and therefore can show the incorrect stock quantity. Reserved Stock Pro supports a few caching plugins out of the box. The product page cache will automatically be cleared when the reserved stock level changes.
- LiteSpeed Cache
- WP Rocket Cache
- WP Fastest Cache
- W3 Total Cache
- Redis Cache
All stock reservation database queries use object caching to reduce the about of database requests.
Need more information on caching? Read the cache documentation.
This plugin requires products to have manage stock enabled in the product settings. Reservations are only applied to stock managed products and will not affect non-stock managed products. Customers can have both normal and stock managed products in their cart.
Bookable products using WooCommerce Bookings are not affected. WC Boookings has their own management “in-cart” system. If you would like to change the WooCommerce Bookings “in-cart” expiry time, then have a look at our Clear Cart & Sessions plugin.
What product types are supported?
RSP supports reserving stock for the following product types:
- Simple Products
- Variation Products – Each variation will be reserved separately.
- Grouped Products – Any product with stock within a grouped product will be reserved.
Would you like another product type supported? Let us know and we’ll add it to the wishlist.
What happens if customers abandon their cart?
The timer starts as soon as a customer adds a product to their cart or changes the quantity in their cart. The product stock will be removed from the cart at your set expiry time, even if the customer leaves your site.
For example: you allow customers to hold products in a cart for 60 minutes. If a customer adds 5 x Product A to cart, they will have 60 minutes to complete the purchase. The customer then abandons the cart 20 minutes later, which means the 5 Product As will be reserved for the remaining 40 minutes. After the set expiry time, the stock levels will increase by 5 on Product A’s page.
How can I limit the product quantity in each cart?
You can make sure that a single person can only reserve a limited amount of each product per order with our Minimum & Maximum Quantities for WooCommerce plugin.
Can robots reserve inventory?
Technically bots can reserve products in their cart depending on if they can crawl your add to cart buttons. however, we’ve added additional protection by blocking reservation attempts made by common bots.
How can I customize RSP? Do you have developer hooks?
Yes, we have added documentation with hooks and code snippets to help you get started. See the documentation here https://puri.io/docs/reserved-stock-pro/hooks/
Upgrading from Cart & Stock Control?
Got a feature request or an awesome idea? Let us know via support!
We were using an outdated, poor performing ‘stock reducer’ plugin. This one has been a great replacement. Much better performance and reliability. Their support is very good, they were able to quickly answer all my questions!
Used other plugins for managing stock reduction, but they always caused more problems than the solved. Reserved Stock Pro is the answer we have been looking for. Its doesnt slow down your site, is fully customisable, and is constantly improving. Not to mention the support is outstanding!
This plugin is exactly what we needed. We manage a vinyl music webstore that sells very limited items, and in the past we had numerous feedbacks from our customers that their items where “snagged” out of their carts while they were going through the payment process. This is, as explained above by the plugin description, a problem within Woocommerce itself.
This plugin has fixed the issue for us with basically no further effort in terms of configuration. Clean and fast installation with immediate effect. The plugin already proved it’s worth during a pre-order rush where every customer got exactly what they wanted with no further problems.
The developer also quickly responded to us when we asked for a new feature which is now released as the plugin called “Min & Max Quantities”, where a store owner can set the minimum and maximum quantity for an item to be put into the basket of a customer.
We’re incredibly happy with this solution, as it has been straight forward and easy to use. Totally hassle-free, working as expected. Big ups for the great customer service the dev provided to us.
Fantastic service! 10/10 product can’t recommend Morgan and his software highly enough! Instant assistance
This plugin handles woocommerce product reservations perfectly! I had one customize need and they manage it super fast and just that way what I looking for. I highly recommend this 5/5
Amazing support and flawless plugin. This plugin helped me with limited edition drops.