The functionality described in this article is available in Shop-Script 7 or higher.
Shop-Script allows you to specify products' stock level quantities for one or more stocks. Add the necessary number of stocks in backend screen "Settings → Stocks".
You have the option to add either an ordinary or a virtual stock.
An ordinary stock corresponds to some real location where you actually store your products. For each of those stocks, you can specify whether it must or must not be visible to online shoppers. When hidden, a stock is visible only to you, the store administrator.
Virtual stocks provide the opportunity for you to group several real stock under a common title. For example, if you have several stocks in one city and some more stocks in another city, it will certainly be convenient for you to combine them into two groups, named by the corresponding cities, and to show only those group names to your customers.
If you have set up virtual stocks, then you can make them visible to customers and hide the real stocks' names so as not to encumber your online storefront with too many stock names; because a customer does not really care whether you have some item in stock #1 or in stock #2, important is only that the item is available in that particular city.
Updating products' stock levels
For every product, you can save its current quantity available in stock: either the total available quantity or, if you need precise values, individual quantities for each of your stocks.
You have several options for updating stock levels for your products:
- manually, by editing individual products or by using the "SKUs" mode in the backend's "Products" screen
- by using transfers
- by importing CSV files
- by using various data import plugins.
If you have non-empty stock level values specified for your products, their quantities are automatically reduced every time when customers place new orders or, which is up to your stock settings, when you mark orders as being processed.
Depending on your store's policy, you may receive orders only while products' quantities are positive, or also when you no longer have them in stock. This behavior is also defined by a setting in the "Settings → Stocks" screen.
Stock linking rules
You can set up in which of your stocks products must be written off depending on the customer country or region, or selected shipping method. This will allow you to flexibly manage product write-off when receiving orders from customer of different segments.
In this example, products ordered by customers from New York State will be written off the "New York" stock, and those ordered by all other customers will be written off a stock named "Other states".
You can even assign a virtual stock to a stock linking rule! In this case, an ordered item is written of the first real stock, counting from the top of the virtual stock contents, where that item is currently available.
For registering arrivals of new product batches or their movement between stocks, use transfers. A transfer is a single action of write-off of a product batch on one (source) stock followed by its arrival on another (target) stock.
You can update product stock levels using transfers only if you have stock quantities specified as individual values for each of your stocks in products' properties. If no stock quantities are specified for a product ("endless" stock level) or only a single total stock level value is specified, then you cannot update stock levels for such a product by means of transfers.
If no source stock is selected, then the product batch being transferred is supposed to be a new batch arrived in stock (from a supplier). In this case, products' total stock quantities are increased upon completion of such a transfer.
The advantage of using product transfers is that they maintain a history of all such actions for you to track product movements between stocks and arrivals of new product batches.