<< Previous page

Next page >>

Table contents

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 stock 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" option.

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 multistore 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 multistore 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 both the "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 multistore 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 enable 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

In PrestaShop 1.4, you could manually set the quantity of product available for sale.

In PrestaShop 1.5, you can still set the quantity manually for each product. But once 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.

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.

This page opens with an explanatory section, which we urge you to fully read. That section is followed by the quantities management interface itself, which opens with three options:

By default, the third option is ("I want to specify available quantities manually") is enabled. As long as you haven't check the first option ("I want to use the advanced stock management system for this product"), quantities are managed the same way they were in version 1.4 of PrestaShop, which means that you have add the quantities manually, and PrestaShop will remove quantities for each sale.

If you'd rather synchronize the available quantities with your warehouse stock, you have to change the quantities management method:

  1. Check the "I want to use the advanced stock management system for this product" box in order the change method.
  2. This makes the second option, "Available quantities for current product and its combinations are based on stock in the warehouses", finally available. Select it in order to synchronize the available quantity for this product with your warehouse stock.

As soon as you have selected the second option, the table's "Quantity" column cannot be edited anymore: quantities are now directly handled from your stock.

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.

The rest of the page is explained in the "Adding Products and Product Categories" chapter of this guide.

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 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.

Each warehouse page also contains two links at the bottom:

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 (up arrow) 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 (down arrow, 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. Click on the "Transfer stock" action (sideways arrows, 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:

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:

The second step consists of adding actual products to the order. To make that second step, you can either:

The interface of the order creation form has been updated with a second form below the previously-filled fields. You must use that second form to add products to your order, 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.

Once the order is created, it appears in the list with the "Creation in progress" status. This status enables you to view and edit the information that were previously entered as well as add products to the order. You will not be able to change the order once you change its status to "Order validated".

You can never delete a supply order: you can only cancel it.

You need to follow through for the whole order process, always indicating its status change in PrestaShop's interface. This is what the first action button of the list ("Change state") is for: click on it to reach the status changing form. See the "Changing the status of a supplier order" section below for more information on the available statuses, and see the "Registering the reception of products" to understand how to follow through on a supply order.

The "+" icon in the supply order list displays the order's history, which enables you to see who did what and when.

Order template creation

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

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

Moreover, contrary to an ordinary supply 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 (in the "Actions" column of the order list). One of them enables you to edit the status: the "Change state" one. There are six possible default statuses, but you can add your own (see the "Configuration" section of this chapter).

An order's status helps you understand your stock movements at a glance thanks to their color code. 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 status validates the order and freezes the information it contains (purchase prices, quantities, etc.). At this step, a new action appears in the "Actions" column, which enables you to edit the invoice that is sent to the supplier in PDF format.
  3. Pending receipt. As soon as the supplier has received and validated your invoice, you have to change the supply order's status to "Pending receipt".
  4. Order received in part. As soon as a delivery is made, you must switch the order to this status. 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 canceled. This status is to be given to canceled 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 changes, in regard to the current status. The unavailable statuses are grayed out.

Details of a supplier order

Clicking the "View" icon from the list of supply orders enables you to get a synthetic view of your order.
You can also download the invoice generated as a PDF file (provided the order is validated by you) from the list of orders or 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

You must change the status of your supply order within PrestaShop as soon as actions are taken in the real world. This is done using the "Change state" icon in the "Actions" column from the list of orders. The form in this page always pre-selects the next logical status, but you are free to choose any of the other statuses available.

While you are preparing the supply order, keep its status to "Creation in progress". Once you are done preparing the order, switch it to "Order validated", then print the invoice PDF and send it to your supplier. As soon as your supplier confirms the reception of the invoice, change the status to "Pending receipt".

During the "Pending receipt" and "Order received in part" statuses, a new action is available in the "Actions" column. Using the "truck" icon, the "Update ongoing receipt of products" action enables you to register the reception of products for a given order during the current day.
The form that opens after clicking that "truck" action enables you to see how many items were expected, and to indicate the quantity of product delivered for each product that day. Click the "Update selected" 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 each 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, PrestaShop automatically changes the order's status to "Order received in part".

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

When all the products from the order have been received, you must manually change the supply order's status to "Order received completely". This ends the supply order process, and a new action appears: "Export" (with a Microsoft Excel icon), which you can use to download a CSV file of all the information pertaining to that order.

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.


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:

Stock 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.





Initial stock




















Instant state




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

The table below illustrates how the LIFO 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.





Initial stock




















Instant state




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 or null, in which case AVCO = UP.


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 UP


Exit UP


Stock valuation

Initial stock







X Date







Y Date







Z Date







*: Calculation details: ((8 remaining product in stock * 2) + (20 products to add * 3.4)) / 28 total products = 3.

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, which depends on the new AVCO.

<< Previous page

Next page >>