All Collections
FAQ
Setting up a safety stock strategy
Setting up a safety stock strategy

Steps for enabling safety stock reservation

Updated over a week ago

SKULabs recommends implementing a safety stock reservation strategy to eliminate overselling by customizing stock rules per store as well as per listing. Stock rules control the quantities that are synced to sales channels. Once you opt in to stock sync, you're given the chance to review these rules.

The default stock rule is "free", meaning we sync the amount of on hand inventory that is not reserved for open (unshipped) orders. This default rule leaves no margin for error so it's important to come up with an safety stock strategy.


In this guide you'll learn how to set up both "fixed" reserves and "dynamic" reserves in addition to what you already owe to customers in your unfulfilled orders.

Fixed reserves act as buffers for things like undocumented exchanges, loss, and damage. If you know your product defect rates, these can also be used to set aside a reasonable amount of inventory for documented exchanges in RMAs.

Dynamic reserves adapt to the behavior of your buyers or your account configuration including through velocity, reserves, and flash sale detection.

How do I set up stock rules?

Stock rules are easy to configure, view our article on where to find and how to update the settings for listing and store stock rules.

What stock rule should I use to reserve safety stock?

We have a few great examples here but you can always speak with our team for a catered recommendation based on your sales volume, order history, and stocking preferences.

no_more_than(free - 5 - (reserved * 0.15), 100)

This is our all-in-one solution based on best-practices we've discovered across thousands of ecommerce stores.

  • reserves 5 stock across the board that will never be released for sale. This accounts for loss due to damage, misplacement, or theft in the warehouse. Remember to make this higher for your Amazon/eBay/Walmart store compared to your main shopping cart software to avoid seller performance penalties.

  • reserves an extra 15% based on open orders that will automatically be released for sale as you fulfill those orders.

  • never advertises more than 100 units available, useful for preventing competitors from seeing how much inventory you have available at that price. Stock sync runs regularly and should replenish to near 100 every few minutes.

Reserve-based safety stock

free - (reserved * 0.10)

This rule adds 10% to your reserved inventory so there is room for exchanges, damage, and overselling. This is especially useful for flash sales. As you fulfill your orders, the additional reserved inventory will be slowly released for sale.

Fixed safety stock

free - 10

This rule sets aside a fixed amount of inventory. If you have 10 units on hand and no open orders, we would advertise 0 on your sales channel.

This is useful for selling out on Amazon before you sell out on your own personal stores. You should preemptively sell out first on Amazon, Jet, Walmart, eBay, and then other channels in that order to avoid the worst seller performance penalties.

This is useful when you know you have unaccounted in-house damage, loss, or exchanges but you should still regularly cycle count to make up for inventory accuracy issues. When using a rule like this as your store rule, you may want to set individual listings to just "free" to allow those items to sell completely out of stock.

free

This is like not wearing a seat belt. This rule advertises all of your unsold inventory (on hand inventory minus reserved (unshipped) inventory).

Mistakes can happen, despite this being how all shopping carts work out of the box you will occasionally oversell in this configuration and you should adopt a different stock rule from this page.

FAQ

How do I set a strong reservation strategy for my store while still allowing specific items to sell completely out of stock?

First update your store's stock rule setting to the rule representing your safety stock. Next, go to any individual listings you'd like to completely sell out of and change their listing stock rule to "free". These rules can be imported in bulk from the imports/exports tab.

How do I create additional reserves for specific products?

Go to any individual listing you'd like to add additional safety stock for and override their listing stock rule based on the recommendations here. These rules can be imported in bulk across multiple listings using the imports/exports page.

How do I sell out on Amazon first so I greatly reduce my risk of overselling?

Sell out faster on marketplaces requiring you meet very high deliverability guidelines for seller performance using stock rules. Preferably stock out first on Amazon then Jet, Walmart, eBay, and others in that order.


The simplest rule is "free - 1" but you can remove one or more inventory from any of the rules listed in this guide.

How do I set up a reserve / backup warehouse?

This is an alternative strategy to using fixed safety stock.

Add a new warehouse on your Inventory tab and when you receive you can manually set aside fixed amounts of inventory each time you receive. Sometimes this is an preferable strategy to ensure you can fulfill 100% of your Amazon orders without delay or seamlessly provide exchanges on-demand if your business model allows for it.

Don't link your backup warehouse to any of your sales channels then release it after you're sure you don't have pending exchanges in the wild or consider only linking your backup warehouse to your in-house operations like on Shopify.

Who can I speak with about managing my reservation strategy and preventing overselling when I need more than an out-of-the-box solution?

SKULabs offers managed reservation management to optimize sales while minimizing reserved inventory under our Enterprise plan. Special strategies for managing your stock levels in the face of high-profile flash sales are available to Enterprise accounts so talk with our team about Enterprise options today.

Looking for recommendations on flash sales?

Did this answer your question?