Warehouses and Logistic Centers


A warehouse is an entity that contains a stock of products. This entity can be physical (with an actual address on the map) or virtual. It can contain stock for the whole inventory of products in the Commerce or only some of them. A Commerce can have as many warehouses as it needs, either because it has these actual physical locations from which stock is shipped and needs to show this in the Commerce or because its logistics require virtual warehouses (even if it does not have them physically). As warehouses can be virtual, there is an entity called a "logistic center" which groups warehouses together and gives them a physical source (an address on the map). Logistic centers are the starting points for outgoing goods and therefore need a physical address where the carrier can go to collect them.

The logistic center will be the departure point for deliveries, the entity that defines how the items of an order are shipped to the user who buys them. The different deliveries, i.e. the different ways of shipping an order, will depend on the warehouses, on the availability of physical locations and of carriers defined in the Commerce (see Multi-Shipment System). The warehouse is therefore a key point in understanding the phase that runs from completing the order to delivering the goods.

On the other hand, it is at the warehouses that goods are received and shipped, and where inventory management takes place (see Inventory Management System). Where it exists, this management is essential to the smooth functioning of the Commerce because it is what decides whether the goods can be purchased, in what quantities, whether they are in reserve and the possible delivery date.

Logistic Center

A logistic center is a group of warehouses with a common source or, to put it another way, a group of warehouses which, for logistical reasons, you want located at the same physical address. This address is what determines the source of shipments, i.e. the place where the carrier has to go to collect the goods in the order and deliver them to the buyer. One of the factors that influences the price of shipment is the distance the carrier has to travel and, as the logistic center defines the starting point, to a great extent it is the entity that will determine the price.

You can create as many logistic centers as necessary, bearing in mind that each of them must necessarily be made up of at least one active warehouse. If the warehouse is physical and the logistic center is made up of this warehouse alone, their addresses on the map will be the same. If it is made up of many physical warehouses, the address of the center will be that of the starting point defined by the Commerce.

A Commerce must have at least one logistic center and therefore at least one active warehouse. Even if the Commerce does not manage the stock, it must have a warehouse to establish the starting point of shipments and to calculate the costs arising from shipment.


To add stock to products, warehouses must be set up, as the entities that will contain this stock. But before setting up warehouses, logistic centers must be created, as these are the entities in which warehouses are grouped. The sequence will be:

  1. Set up logistic center

  2. Set up warehouse

  3. Add stock

For the logistic center you can define an area of influence if necessary. This will be the set of geographical areas where the logistic center can send shipments. This area of influence is important because it determines which places (user addresses) goods can be delivered to.

If an order has a delivery address outside the areas defined for the logistic center, it cannot be sent because the destination is incompatible with the areas the logistic center can serve.

The warehouse can have a feature called Compensation Days defined. Having this setting activated means the warehouse cannot supply stock immediately, but takes a few days (the number set) before it can supply it. The reasons for compensation may vary (products need making, are complicated to prepare, are ordered on demand from a supplier, etc.), but the result in all cases is that shipping of the order is calculated by adding the compensation days to the current date. This shipping date will determine the date the whole order is sent if there is no multi-shipment. In the case of multi-shipment, the order will be divided into at least two shipments (if there are products from other warehouses without compensation days; see Multi-Shipment System).

If an order takes stock from different warehouses with different values for compensation days, if there is no multi-shipment the shipping date will be calculated on the basis of the latest date the system finds between all the warehouses involved. In the case of multi-shipment, the order will be divided into as many shipments as there are warehouses, so that a shipment will be created automatically for each different shipping date. This means the order is broken down into different shipments which are sent according to the compensation days at each warehouse.

Relationship between Warehouse and Channel

A Commerce must also have at least one channel (see Multi-Channel System). Channels must have warehouses linked to them, which means that only the warehouses in the assigned channel can supply stock for orders placed through this channel. The relationship between channel and warehouse has a priority, which determines the order in which stock comes out (the system will always follow the order from the lowest to the highest value specified in the Priority property). Therefore, among all the warehouses in the channel, stock will be taken first from the warehouse set as the first (e.g. with priority 1). If there is not enough stock in this warehouse, the system will look in the one set as the second (e.g. with priority 2), and so on. If not all the stock can be supplied because there is not enough stock among all the warehouses, the product will go into reserve, if this is enabled (the units that cannot be supplied are left in reserve). Otherwise, the order cannot be fulfilled with the quantity of product requested.

In the channel you can also define an area of influence, i.e. a set of geographical areas where the channel works. The logistic center also has an area of influence, which means that all the warehouses it includes are also linked to this area. If this area is not compatible with that of the channel, the logistic center and the warehouses it includes are invalidated in this channel and cannot supply stock.


  • You have warehouses W1 (priority 1), W2 (priority 2), W3 (priority 3) and W4 (priority 4).

  • You have the logistic centers L1 and L2, where L1 is made up of W1 and W2, and L2 is made up of W3 and W4.

  • You have the channels CH1 and CH2, where CH1 has W1, W2, W3 and W4 linked to it, and CH2 has W1 and W2 linked to it.

  • CH1 has the areas of influence G1 and G2 linked to it, and CH2 only G2.

  • L1 has G1 linked to it and L2 has G2 linked to it.

Imagine an order is assigned to channel CH1. The warehouses that can supply it are, at the outset, W1, W2, W3 and W4, but L1 only operates in G1, so W1 and W2 (whichbelong to L1) only supply stock in G1; also, L2 only operates in G2, so W3 and W4 (which belong to L2) only supply stock in G2.

  • If the delivery address for the order is G1 stock can be supplied: first from W1, and if W1 does not have enough stock, from W2.

  • If the delivery address for the order is G2 stock can be supplied: first from W3, and if A3 does not have enough stock, from W4.

Imagine now that the order is assigned to channel CH2. The warehouses that can supply are, at the outset, W1 and W2, but L1 only operates in G1, so W1 and W2 (which belong to L1) only supply stock in G1; also, CH2 only operates in G2.

  • The order cannot have a delivery address in G1 because CH2 is not compatible with this area of influence.

  • As the delivery address in the order is G2, but the warehouses supply G1, it is not possible to fulfil this order.

As you can see, it is very important to configure the parameters properly to meet the Commerce's needs. If not, the results and behavior might not be those you expect.

Customizations by Channel

The relationship between channel and warehouse allows you to configure some features of the warehouse and add other new ones (see Multi-Channel System):

  • Compensation days can be set in the relationship between channel and warehouse; these will replace those defined for the warehouse when the channel and the warehouse operate together.

  • You can define a priority in the relationship between channel and warehouse. This will replace that defined for the warehouse when the channel and its linked warehouse work together. You can therefore specify, for example, that a particular warehouse should be the first to take stock from when working with a particular channel, or the last when operating with a different channel.

  • A relationship between channel and warehouse can also have a (three-way) relationship with a physical location. This means that the physical location set as a pick-up or return point has its own warehouse. Therefore, in the event that an order is to be collected at a pick-up point with its own warehouse, the stock to fulfil this order will in the first instance come from this warehouse.

  • When the delivery of an order is to a collection point, you can define the Shipments for transfer feature (you need to create shipments for internal material transfers). This indicates that the units that are extracted from the warehouse of origin with this active characteristic must be transferred to the pick-up point and, therefore, shipments are generated. If the origin warehouse does not have this feature active it means that, in case it is necessary to move material, Commerce will manage it by other means that do not require the explicit generation of shipments. Otherwise, if the warehouse of origin is not that own of the pick-up point, the system will generate the shipments necessary to send the extracted units. The costs derived from the transport will be calculated taking into account that the origin will be the logistics center to which the origin warehouse belongs, but the destination will be the pick-up point.

    Example: You have a P1 pick-up point with its own warehouse, but insufficient stock or, for simplicity, a P1 pick-up point without a linked warehouse. To complete the order, the system determines that you must extract stock from warehouse A1, which has the Shipments for transfer feature active. To fulfill an order that the user would pick up in P1, the products of the order must be transported from A1 to P1 and the costs of this transport will be reflected by the system in the purchase process (of course, these costs can be 0 if so configured in the transport type that moves material between the logistic center of A1 and P1). If, on the other hand, A1 does not have this feature active, it means that Commerce will move the material from A1 to P1 without the need to create shipments or register this action in the order.


The stock is the number of units (stock) of a particular product. The Inventory Management System (see Inventory Management System) handles stock control, but as products are located in warehouses, it is the warehouses that report on stocks of each product and withdraw units when an order is completed.

In general, there are two ways of reporting on stock, depending on whether a product has options or not. If a product has no options, stock will be the number of units of this product. If a product has options to choose from, this means that the end product as sent out has certain features due to these options. For example, a T-shirt is a product, but this T-shirt may come in different sizes and colors (options). The specific size and color combination (the combination of the option values) will determine the right item to be sent, and therefore the item that must be in stock. If the T-shirt comes in 3 colors (3 values for the color option) and 3 sizes (3 values for the size option), the Commerce must provide for stock of all the size and color combinations (a total of 9 variants).

It can also happen that the product has options, but these do not combine, i.e. the end product is not a different item; or from a stock point of view, no different stock is needed. For example, a product can have size and color options, but for logistical reasons the final items are not distinguished by specific sizes and colors. In this case, stock of the generic product is provided for, without pointing to a specific combination. This kind of management is valid, but can cause problems if a specific combination runs out: the system might say that there is stock (because other sizes and colors are left) but an order containing a particular size and color cannot be fulfilled because this combination has run out. Another type of non-combinable option is that where the nature of the item does not change, like for example an extended warranty (the values would be the different numbers of years' extension), or an option that allows choice of whether the product includes assembly or not. For these non-combinable options there is no need to break down stock; it is enough to assign stocks to the main product.

As mentioned above, if a product has combinable options, stock is topped up in terms of combinations of option values.

Example: Product1 has size and color options, and size (S, M, XL) and color (Black, White) combinations, so stock would be topped up for each combination, as follows:

  • Product1 - S - White

  • Product1 - S - Black

  • Product1 - M - White

  • Product1 - M - Black

  • Product1 - XL - White

  • Product1 - XL - Black

If it has no options or they are not combinable, stock is topped up at the product level, for example:

  • Product1

In each of these lines (combinations) stock can be added from whichever warehouse is required. For example, if Product1 is stocked at W1 and W2, stock can be determined as follows:

  • W1 - Product1 - S - White: 10 units

  • W1 - Product1 - S - Black: 10 units

  • W1 - Product1 - M - White: 5 units

  • W1 - Product1 - M - Black: 10 units

  • W1 - Product1 - XL - White: 10 units

  • W1 - Product1 - XL - Black: 10 units

  • W2 - Product1 - S - White: 18 units

  • W2 - Product1 - S - Black: 8 units

  • W2 - Product1 - M - White: 10 units

  • W2 - Product1 - M - Black: 10 units

  • W2 - Product1 - XL - White: 12 units

  • W2 - Product1 - XL - Black: 10 units

If you have an order of withdrawal whereby W1 provides first (priority 1), then W2 (priority 2), the system will first use up the stock in W1 of each combination and then, when it can no longer take stock in this combination, it will do so from W2. For example, if 15 units of Product1 - S - White are ordered, it will take 10 units from W1 and 5 units from W2 in this combination.

If there are only stocks for White in W1 and only for Black in W2:

  • W1 - Product1 - S - White: 10 units

  • W2 - Product1 - S - Black: 10 units

  • W1 - Product1 - M - White: 10 units

  • W2 - Product1 - M - Black: 10 units

  • W1 - Product1 - XL - White: 10 units

  • W2 - Product1 - XL - Black: 10 units

Because White is only supplied by W1 and Black by W2, once a combination runs out it can no longer be supplied. For example, if 15 units of Product1 - S - White are ordered, only 10 units can be supplied; the other 5 units are left in reserve, if Product1 has this option activated. Otherwise, the order cannot be fulfilled due to lack of stock.