This documentation is currently being worked on. Until the stable version of PrestaShop 1.5 is released, it should not be seen as definitive.

Table content

Advanced Stock Management

Version 1.5 of PrestaShop features a new stock management menu: more than just merely listing how much of a specific product you have currently available, this menu enables you to list warehouses and get a proper view of your stock, its movement, your coverage, your orders, etc.

Not all merchants will have a need for this feature. It is therefore optional, and the available quantity management tool from 1.4 is still available, and has been rethought.

You can enable the advanced management menu by going to the "Products" preferences page, at the bottom of which is the "Products stock" section. Select "Yes" for the "Enable advanced stock management
Yes".

General concepts

In order to avoid confusion with the stock management feature from version 1.4 and see the possibilities offered by the advanced management feature of v1.5, you should picture two distinct concepts: product quantity available for sale, and physical products.

Product quantity available for sale

This is the same as the stock management feature from PrestaShop 1.4.x. It is the product quantity that is displayed in the shop for each product and product combination. This is the quantity that defines whether the product can be ordered or not (unless the "Allow ordering of out-of-stock products" option is enabled). That quantity can be manually changed for each product and product combination.

In PrestaShop 1.5.x, that quantity can be automatically set according to the physical stock of the affected product. In a multishop scenario, the quantity is to be defined for each shop.

Consequently, what used to be called "stock" in PrestaShop 1.4.x is now called "quantity of product available for sale" in PrestaShop 1.5.x.

Product stocks (physically stored)

This is the physical management of the stored products from a warehouse (or more). This is the new concept introduced as "stock" in PrestaShop 1.5.x.

This new stock management feature includes stock movement, stock valuation, stock transfer between warehouses, integration in the multishop feature and supply order management.

It also makes it possible to take into account the notion of actual stock. At a given time, a product can be available as a physical stock, but not available for sale because some client orders are still waiting for shipping. That same product can also have a supply order in progress, and thus not yet accounted for in the physical stock.

Real stock is therefore made of stock that is physically available in a warehouse, to which we add the quantity presently ordered from suppliers, and from which we subtract the quantity presently ordered by clients and which have not yet been shipped.

Using the new stock management feature

Do I have to use the new stock management feature?

There is no obligation to use the new stock management feature, just as there is no obligation to use the "quantity available for sale" management feature.

To activate the both "quantity available for sale" management feature and the stock management feature, go to the "Products" preference page, scroll down to the "Products stock" section, and choose "Yes" for the two stock management options. You have to first enable basic stock management in order to enable advanced stock management.

The advanced stock management feature, or even the standard stock management feature and your warehouses, is independent from the multishop feature. Consequently, no matter which shop you are administrating in the PrestaShop back-office, when you use the "Stock" menu, you are always managing the stock in a global way.

I do not want to change anything to my settings in PrestaShop 1.4.x. What should I do?

If you would rather not use the new advanced stock management feature from PrestaShop 1.5, and simply are satisfied with the way PrestaShop 1.4 handles product quantity management, you just have to activate the old-style stock management manager, and not the advanced stock management feature: go to the "Products" preference page, scroll down to the "Products stock" section, and choose "Yes" for the "Enable stock management" option, leaving the "Enable advanced stock management" option set to "No".

The "available for sale quantity" management feature is now centralized in the "Quantities" tab from the product sheet: create a new product or edit an existing one, and the tab is available on the left, among the other tabs.

Does the new stock management feature apply to my needs?

The new stock management feature enables you to manage a stock of products. This feature applies to your business if:

This feature does not apply to your business if:

Presenting the back-office interface for the stock management

Improvement to the product sheet

Quantities management

When the "Enable stock management" option is enabled, all the products get a new tab in their administration page, called "Quantities". This clear and simple interface enables you to manage the available quantities for sale on your shop(s) for a given product, and any potential combination.

In PrestaShop 1.4, you could manually set the quantity of product available for sale.
Since PrestaShop 1.5, if advanced stock management is also enabled, you can also automatically set the quantity depending on the current quantity status of the physical product. Note that it is possible to enable advanced stock management globally, yet only use it for one product or just a few.

Product packs are a special case. Since it is not yet possible to add product combinations to a pack, the PrestaShop developers have decided that when necessary, PrestaShop would use the default combination when decrementing the physical stock.

Also, a notice indicates the recommended maximal number of packs.

Supplier management

You can now set more than one supplier for a given product. For each supplier associated to a product, you can set the supplier's reference number and a default purchase price for that product as well as its combination. This information is used when making an order to the supplier.

Warehouses management

If advanced stock management is enabled, a "Warehouses" tab appears in the product sheet, where you can indicate which warehouse(s) the product and each of its combinations can be stored in. You can even indicate the location for the product and its combinations.

You must first create at least one warehouse (see below) before associating a product to it and setting the product location in it. This step is essential: it is important to at least set one warehouse in which a product can be stored. This will have considerable impact on the order preparation in the multi-shipping context.

Warehouses management

In version 1.4.x, stock management was strictly tied to the quantity of product available for sale, which was set once then varied according to stock movement without taking any warehouse issue into account.

The advanced stock management feature makes it possible to create one or more warehouses. In order to create one, go to the "Warehouse" page under the "Stock" menu.

Once you start creating a new warehouse, you must at least fill in the following fields:

It is not possible to change a warehouse's valuation method and currency once it has been set. If you need to change that information, you will have to recreate the warehouse, and delete the wrong one. You can only delete a warehouse if it does not contain any product anymore.

Be careful of the carriers you choose to authorize, as this will a huge impact on the order preparation in the multishipping scenario.

In the situation where you manage more than one shop, you will also have to associate each shop to one or more warehouses. This enables you to set from which warehouse the client orders for a given shop can be sent.

Once the warehouse has been created, you are taken back to the list of warehouses. Click the "View" icon on the right of its row to access a bird's eye view of its information, including the references of all the products stored in it, the sum of all the available quantities, a global accounting valuation, details of the stored products, and the history of the stock movements for that warehouse.

It also contains two links:

Stock management

Now that you have created one or more warehouses, you have to set stock for each of them. To that end, go to the "Stock Management" page under the "Stock" menu.

All available products from your catalog are listed in this interface. If you have any combination of product, you can manage them from the "Details" action (the "+" icon).

In your daily activities, you can use this interface in order to manually:

The two last icons only appear if there already is some stock of the chosen product in any warehouse.

Adding stock to a warehouse

To add more stock to a product, use the "Add stock" action for said product or product combination. A new page opens, containing a form where the most important information is displayed in order to help you identify a product with certainty (reference, EAN13 and UPC code, and name). This information cannot be changed from this form, therefore it is grayed out.

You must then set:

When hovering the "Quantity to add" and "Unit price (tax excl.)" fields with the mouse cursor, the interface will display a reminder of their values the last time you added some stock.

Removing stock from a warehouse

When you want to remove a certain quantity of product stock, you must use the "Remove stock" action (available only when there already are products in stock). A new page opens, containing a form where the most important information is displayed in order to help you identify a product with certainty (reference, EAN13 and UPC code, and name). This information cannot be changed from this form, therefore it is grayed out.

You must then set:

Transferring stock from one warehouse to another

The stock transfer enables you to transfer stock from one warehouse to another, or from one status to another (usable in store / reserved) within a single warehouse. A new page opens, containing a form where the most important information is displayed in order to help you identify a product with certainty (reference, EAN13 and UPC code, and name). This information cannot be changed from this form, therefore it is grayed out.

You must then set:

For these operations, all that is related to valuations is run automatically according to the management method chosen for each warehouse. Currency conversions work the same.

Stock movement

This interface enables you to view the stock movement history. You can display all of the stock movements, or only those tied to one warehouse. Filters can be applied to refine your search.

When the "Filter movements by warehouse" drop-down list is set to a warehouse, you can make a CSV export of the obtained list.

Stock instant status

This interface enables you to have an instant overview of your stock, either globally or per warehouse. The numbers are current.

For each product or product combination in stock, the following indicators are available:

As appropriate, and depending on the chosen valuation method, the breakdown of the unit prices and of the associated valuations is available by clicking on the "Details" action (the "+" icon).

Moreover, for a given warehouse, you have two ways to export the current list in CSV format:

Stock coverage

This interface enables you to overview the coverage of your stock. The coverage indicates how many days your current stock can last. This information is very useful, as it helps you predict the necessary restocking. Coverage is calculated according to previously registered stock movements.

You can get the stock coverage for all the warehouses, or for a single warehouse.
You can also set the time period (one week, two weeks, three weeks, one month, six months, a year) of registered stock movement which is to be taken into account when calculating the coverage.
Finally, you can highlight the stock coverage which is below a given number of days. This will highlight the relevant products, helping you identify them quicker.

In order to view the stock coverage of product combinations, you have to click the "Details" action of the product (the "+" icon).

It is possible de receive notifications of the stock coverage for a product. The e-mail notification module (mail alerts) has been updated in order to take product stock coverage into account. It is thus possible to set a number of coverage days below which you will receive a notification. See the configuration for this module.

Supply orders

One of the major features of the stock manager is the ability to place orders to suppliers so as to better manage your restocking.
This interface enables you to manage all your supplier orders, as well as reusable order templates.
The order template creation process is the same as the order creation process (except for the "Expected delivery date" field). We will therefore only explain the order creation process.

Creating a new order

The creation of an order for a supplier can be broken down in two steps: creating the order, then adding products to it.

So, the first step is to define the order's headers:

Once the order is created, it appears in the list with the "Creation in progress" status. The status bar enables you to view and edit the information that were previously entered as well as add products to the order, which is the second step.

To make that second step, just click on the "Edit" action for the order you just created. The displayed interface is the same as the one for the order creation, with a new form below the previous fields, which you can use to add product using the integrated search engine. The products that you add appear in a new list.

For each product, you must set or update the unit purchase price (tax excluded), the quantity to order, any applicable tax rate, and any product-specific discount.

You can never delete an order: you can only cancel it.

Once the order is created, you need to follow it through for the whole process, always indicating its status change in PrestaShop's interface. This is what the first action button of the list is for. Click on the "Change status" icon to reach the status changing form. See the "Changing the status of a supplier order" section below for more information.

Order template creation

The whole point of creating a template is to serve as a basis for new orders.

The order template creation process is the same as the one for a real order, except that:

Moreover, contrary to an ordinary order:

Once you have created your template, you only need to use the "Use this template to create a supply order" action from the template list (the "two windows" icon) to start creating an order.

Changing the status of a supply order

Each order has many available actions. One of them enables you to edit the status. There are six possible default statuses, but you can add your own (see the "Configuration" section of this chapter).

Here is the significance of the six default statuses:

  1. Creation in progress. This is when you are in the first step of the creation step, where you can edit everything.
  2. Order validated. This step enables you to validate the order and freeze the information it contains (purchase price, quantity, etc.). At this step, a new action appears in the list, which enables you to edit the invoice that is sent to the supplier, in PDF format.
  3. Pending receipt. You have to change the status to this one as soon as the supplier has received and validated the invoice. From then on, it is possible to register the products delivery.
  4. Order received in part. As soon as a delivery is made, the order switches to this state. There can be multiple deliveries, and a delivery history is logged for each product. The restocking is made with each delivery.
  5. Order received completely. Once an order is completely delivered, or partially because of a partial cancellation, it should be switched to this status. Stocks are unaffected in this case, and it is possible to perform actions on the order.
  6. Order cancelled. This status is to be given to cancelled orders, whatever the reason. Stocks are unaffected in this case, and it is not possible to perform actions on the order.

With each status change, the status drop-down selector evolves in order to present only the possible status change, according to the current status. The unavailable statuses are grayed out.

Details of a supplier order

The list of orders enables you to get a synthetic view of your order, and download the invoice generated as a PDF file (which is made available as soon as the order is validated by you).
You can also download the supply order form PDF from the status change page.

The "Details" action (the "+" icon) enables you to display the status change history for the current order.

Registering the reception of products

Once your order reaches the "Pending receipt" status, a new action is available. Using a "truck" icon, the "Update ongoing receipt of products" action enables you to register the reception of products for a given order.

The form that opens after clicking that action enables you to see how many items were expected, and indicate the quantity of product delivered for each product. Click the "Update select" button to mark the selected products as received with the number of items you indicated in the "Quantity received today?" field. The checkbox on the left of the row must be checked for PrestaShop to take that line into account.
This step can be done as many times as necessary, and it is possible to receive and incorporate more stock than planned.
If you receive less stock than expected, the order's status changes automatically to "Order received in part".

For each product, a reception history is available ("Details" action), as well as an indication of the received quantity, the expected one, and the remaining one. If the "received quantity" is equals to the "expected quantity", the corresponding row is highlighted in green. If you received more than expected, it is in red.

When all the product from the order have been received, you must change the order status to "Order received completely"

CSV export

Using the supply orders interface, you can filter the list of orders or the details of these orders so that you may export it, according to the current filters (reference, supplier, etc.).
Moreover, you can choose not to display the orders that are completed or canceled, using the appropriate checkbox.

Configuration

The configuration page enables you to customize the way certain parts of the advanced stock manager work:

Adding a new default order status

You can add custom statuses corresponding to your business line. You cannot delete a default status.

The list on the main page enables you to get a better perspective of the available statuses, and how they can impact an order.

Click the "Add new" button to reach the creation form.

A status has a label, a color, and enables you to define whether:

Adding a stock movement label

It is possible to add more labels to stock movements. Click the "Add new" button from the "Stock movement labels" section to access the creation form.

You simply have to set a name for the label, and indicate whether it pertains to stock increase or decrease. Those labels can be used when adding/removing/transferring stock manually (as explained earlier).

Changing default supply order labels

It is possible to choose the default stock movement labels in the following standard cases:

Management rules

In this section, we will explain the management rules that are automatically applied to stock management.

Each stock entry and exit must be valued. That is why each unit product stock must be associated with a tax-excluded unit price (either purchase price or production cost), whether through supplier order, or manual entry. Each product exit must also be valued.

There are three main valuation methods that you can choose, depending on your business activity or on the tax laws of each warehouse's country or origin:

With the FIFO and LIFO methods, each unit product from the stock has a purchase price that has been fixed when it entered the stock. This way, for a given reference available in 100 units, 40 units can have a purchase price of X, and 60 can have a purchase price of Y. When an order is made, and depending on the chosen method, you know which product to use and with which purchase price, which enables you to precisely manage a potential order return and put the products back into stock with their original purchase price.

The table below gives you an example of the FIFO method of stock valuation. In this example, you have a two-input table (price and quantity per type of stock movement). You add more columns as we receive new products with new prices.

Price

4

6

7

Initial stock

1000

 

 

Entry

 

500

 

Exit

(700)

 

 

Exit

(300)

(400)

 

Entry

 

 

900

Instant state

0

100

900

The stock value during the instant state in this case is 6,900.

The table below illustrates how the FIFO method can be used to value stock. We use the same entry and exit values as in the previous example. The principle remains the same as in the FIFO example, except that during exits, we primarily use the units that were the last to be entered in the stock.

Price

4

6

7

Initial stock

1000

 

 

Entry

 

500

 

Exit

(200)

(500)

 

Exit

(700)

 

 

Entry

 

 

900

Instant state

100

0

900

The stock value during the instant state in this case is of 6,700.

The third most frequently used method for stock valuation is Weighted Average Cost (AVCO). The AVCO calculation is done after each new entry in the stock.

For a given product, the AVCO calculation is done using this formula:

AVCO = (QS * previous AVCO + QA * UP ) / QS + QA)
Unless QS is negative, in which case AVCO = UP.

With:

The table below illustrates the evolution of the AVCO with the example of a product initially with 20 units in stock, and purchased at a price of 2. The new entry/exit will be valued as follows:

 

Entry

Entry UP

Exit

Exit UP

AVCO

Stock valuation

Initial stock

20

2

 

 

2

40

X Date

 

 

12

2

2

16

Y Date

20

3.4

 

 

3*

84

Z Date

 

 

10

3

3

54

At the Y date, we calculated the AVCO according to the number of products added in the stock their unit prices. Therefore, all products in stock now have a reassigned unit value, according to the new AVCO.

Beyond these three calculation methods, it would be great to provide an open system, enabling the addition of other, more country-specific valuation methods, through modules for instance.