diff --git a/inventory/routes/concepts.rst b/inventory/routes/concepts.rst index 3d84df18f..3de662b61 100644 --- a/inventory/routes/concepts.rst +++ b/inventory/routes/concepts.rst @@ -10,4 +10,5 @@ Concepts concepts/procurement_rule concepts/push_rule concepts/inter_warehouse - concepts/cross_dock \ No newline at end of file + concepts/cross_dock + concepts/stock_warehouses \ No newline at end of file diff --git a/inventory/routes/concepts/cross_dock.rst b/inventory/routes/concepts/cross_dock.rst index 44f207e4e..86e3a3fec 100644 --- a/inventory/routes/concepts/cross_dock.rst +++ b/inventory/routes/concepts/cross_dock.rst @@ -1,96 +1,74 @@ -=============================================== -How to organize a cross-dock in your warehouse? -=============================================== +===================================== +Organize a cross-dock in a warehouse +===================================== -Cross dock area is temporarily area where we are not storing any product -instead just managing place according to delivery for further customer. -This will save lot of time for inter warehouse transfer and storing -process. We are managing our products with docking area where product -directly place from supplier location and transfer this to gate pass for -customer delivery. +Cross-docking is the process of sending products that are received directly to the customers, without making them enter the stock. The trucks are simply unloaded in a *Cross-Dock* area in order to reorganize products and load another truck. -.. image:: media/cross01.jpg - :align: center +.. image:: media/cross1.png + :align: center .. note:: - - For more information on how to organise your warehouse, read - `What is cross docking and is it for me? `_ + For more information on how to organize your warehouse, read our blog: `What is cross-docking and is it for me? `__ Configuration -============= +============== +In the *Inventory* app, open *Configuration > Settings* and activate the *Multi-Step Routes*. -Warehouse and routes --------------------- +.. image:: media/cross2.png + :align: center + +.. note:: + Doing so will also enable the *Storage Locations* feature. -In the **Inventory** module, open :menuselection:`Configuration --> Settings --> -Location & Warehouse`, then in **Routes**, select **Advanced routing of -products using rules**, then click on **Apply**. +Now, both *Incoming* and *Outgoing* shipments should be configured to work with 2 steps. To adapt the configuration, go to *Inventory > Configuration > Warehouses* and edit your warehouse. -.. image:: media/cross02.png - :align: center +.. image:: media/cross3.png + :align: center -Open :menuselection:`Configuration --> Warehouse Management --> Warehouses`, -then open the warehouse you want to cross-dock from and click on **Edit**. +This modification will lead to the creation of a *Cross-Docking* route that can be found in *Inventory > Configuration > Routes*. -In the **Warehouse Configuration** tab, select: +.. image:: media/cross4.png + :align: center -- **Incoming Shipments**: Unload in input location then go to stock (2 - steps) +Configure products with Cross-Dock Route +========================================= -- **Outgoing Shipments**: Ship directly from stock (Ship only) +Create the product that uses the *Cross-Dock Route* and then, in the inventory tab, select the routes *Buy* and *Cross-Dock*. Now, in the purchase tab, specify the vendor to who you buy the product and set a price for it. -then click on **Save**. +.. image:: media/cross5.png + :align: center -.. image:: media/cross03.png - :align: center +.. image:: media/cross6.png + :align: center -This steps has generated a cross-docking route that you can see in -:menuselection:`Inventory --> Configurations --> Routes --> Routes`. +Once done, create a sale order for the product and confirm it. Odoo will automatically create two transfers which will be linked to the sale order. The first one is the transfer from the *Input Location* to the *Output Location*, corresponding to the move of the product in the *Cross-Dock* area. The second one is the delivery order from the *Output Location* to your *Customer Location. Both are in state *Waiting Another Operation* because we still need to order the product to our supplier. -Cross Docking Route -------------------- +.. image:: media/cross7.png + :align: center -We will use the route **Buy** for first part of the flow and create a route for -the remaining part: +.. image:: media/cross8.png + :align: center -.. image:: media/cross04.png - :align: center +Now, go to the *Purchase* app. There, you will find the purchase order that has been automatically triggered by the system. Validate it and receive the products in the *Input Location*. -Each of the procurement rule will now be configured. Cross Dock location is -created as an internal physical location. +.. image:: media/cross9.png + :align: center -.. figure:: media/cross05.png - :figclass: figure - :align: center +.. image:: media/cross10.png + :align: center - :menuselection:`Input --> Cross Dock` +When the products have been received from the supplier, you can go back to your initial sale order and validate the internal transfer from *Input* to *Output*. -.. figure:: media/cross06.png - :figclass: figure - :align: center +.. image:: media/cross11.png + :align: center - :menuselection:`Cross Dock --> Output` +.. image:: media/cross12.png + :align: center -.. figure:: media/cross07.png - :figclass: figure - :align: center +The delivery order is now ready to be processed and can be validated too. - :menuselection:`Output --> Customer` +.. image:: media/cross13.png + :align: center -Product with cross dock ------------------------ - -We have created the Vegetable Fennel product and assigned the routes created above -as well as the **Buy** route. - -We have also specified a supplier and a minimum order rule which is needed for -replenishment of a stockable product. - -.. image:: media/cross08.png - :align: center - -.. seealso:: - - * :doc:`use_routes` - * :doc:`../../management/incoming/two_steps` \ No newline at end of file +.. image:: media/cross14.png + :align: center diff --git a/inventory/routes/concepts/media/cross01.jpg b/inventory/routes/concepts/media/cross01.jpg deleted file mode 100644 index 8a40f5ef9..000000000 Binary files a/inventory/routes/concepts/media/cross01.jpg and /dev/null differ diff --git a/inventory/routes/concepts/media/cross02.png b/inventory/routes/concepts/media/cross02.png deleted file mode 100644 index b041e19ae..000000000 Binary files a/inventory/routes/concepts/media/cross02.png and /dev/null differ diff --git a/inventory/routes/concepts/media/cross03.png b/inventory/routes/concepts/media/cross03.png deleted file mode 100644 index adf7977b6..000000000 Binary files a/inventory/routes/concepts/media/cross03.png and /dev/null differ diff --git a/inventory/routes/concepts/media/cross04.png b/inventory/routes/concepts/media/cross04.png deleted file mode 100644 index e262b6499..000000000 Binary files a/inventory/routes/concepts/media/cross04.png and /dev/null differ diff --git a/inventory/routes/concepts/media/cross05.png b/inventory/routes/concepts/media/cross05.png deleted file mode 100644 index 0dcbf4c78..000000000 Binary files a/inventory/routes/concepts/media/cross05.png and /dev/null differ diff --git a/inventory/routes/concepts/media/cross06.png b/inventory/routes/concepts/media/cross06.png deleted file mode 100644 index 963b78490..000000000 Binary files a/inventory/routes/concepts/media/cross06.png and /dev/null differ diff --git a/inventory/routes/concepts/media/cross07.png b/inventory/routes/concepts/media/cross07.png deleted file mode 100644 index b57ea57d1..000000000 Binary files a/inventory/routes/concepts/media/cross07.png and /dev/null differ diff --git a/inventory/routes/concepts/media/cross08.png b/inventory/routes/concepts/media/cross08.png deleted file mode 100644 index 5bc5b7d7c..000000000 Binary files a/inventory/routes/concepts/media/cross08.png and /dev/null differ diff --git a/inventory/routes/concepts/media/cross1.png b/inventory/routes/concepts/media/cross1.png new file mode 100644 index 000000000..cc485445b Binary files /dev/null and b/inventory/routes/concepts/media/cross1.png differ diff --git a/inventory/routes/concepts/media/cross10.png b/inventory/routes/concepts/media/cross10.png new file mode 100644 index 000000000..3a6c66de2 Binary files /dev/null and b/inventory/routes/concepts/media/cross10.png differ diff --git a/inventory/routes/concepts/media/cross11.png b/inventory/routes/concepts/media/cross11.png new file mode 100644 index 000000000..116e12e5e Binary files /dev/null and b/inventory/routes/concepts/media/cross11.png differ diff --git a/inventory/routes/concepts/media/cross12.png b/inventory/routes/concepts/media/cross12.png new file mode 100644 index 000000000..7a8a7917f Binary files /dev/null and b/inventory/routes/concepts/media/cross12.png differ diff --git a/inventory/routes/concepts/media/cross13.png b/inventory/routes/concepts/media/cross13.png new file mode 100644 index 000000000..035e1155d Binary files /dev/null and b/inventory/routes/concepts/media/cross13.png differ diff --git a/inventory/routes/concepts/media/cross14.png b/inventory/routes/concepts/media/cross14.png new file mode 100644 index 000000000..aaf8966b5 Binary files /dev/null and b/inventory/routes/concepts/media/cross14.png differ diff --git a/inventory/routes/concepts/media/cross2.png b/inventory/routes/concepts/media/cross2.png new file mode 100644 index 000000000..9259563c6 Binary files /dev/null and b/inventory/routes/concepts/media/cross2.png differ diff --git a/inventory/routes/concepts/media/cross3.png b/inventory/routes/concepts/media/cross3.png new file mode 100644 index 000000000..bbbdbb2d9 Binary files /dev/null and b/inventory/routes/concepts/media/cross3.png differ diff --git a/inventory/routes/concepts/media/cross4.png b/inventory/routes/concepts/media/cross4.png new file mode 100644 index 000000000..8988f4319 Binary files /dev/null and b/inventory/routes/concepts/media/cross4.png differ diff --git a/inventory/routes/concepts/media/cross5.png b/inventory/routes/concepts/media/cross5.png new file mode 100644 index 000000000..2fd28c6a4 Binary files /dev/null and b/inventory/routes/concepts/media/cross5.png differ diff --git a/inventory/routes/concepts/media/cross6.png b/inventory/routes/concepts/media/cross6.png new file mode 100644 index 000000000..0d6dbe84b Binary files /dev/null and b/inventory/routes/concepts/media/cross6.png differ diff --git a/inventory/routes/concepts/media/cross7.png b/inventory/routes/concepts/media/cross7.png new file mode 100644 index 000000000..de1e7655c Binary files /dev/null and b/inventory/routes/concepts/media/cross7.png differ diff --git a/inventory/routes/concepts/media/cross8.png b/inventory/routes/concepts/media/cross8.png new file mode 100644 index 000000000..035e1155d Binary files /dev/null and b/inventory/routes/concepts/media/cross8.png differ diff --git a/inventory/routes/concepts/media/cross9.png b/inventory/routes/concepts/media/cross9.png new file mode 100644 index 000000000..c3cea7c64 Binary files /dev/null and b/inventory/routes/concepts/media/cross9.png differ diff --git a/inventory/routes/concepts/media/ware1.png b/inventory/routes/concepts/media/ware1.png new file mode 100644 index 000000000..fe6377295 Binary files /dev/null and b/inventory/routes/concepts/media/ware1.png differ diff --git a/inventory/routes/concepts/media/ware2.png b/inventory/routes/concepts/media/ware2.png new file mode 100644 index 000000000..2fdbda350 Binary files /dev/null and b/inventory/routes/concepts/media/ware2.png differ diff --git a/inventory/routes/concepts/media/ware3.png b/inventory/routes/concepts/media/ware3.png new file mode 100644 index 000000000..af211e29d Binary files /dev/null and b/inventory/routes/concepts/media/ware3.png differ diff --git a/inventory/routes/concepts/media/ware4.png b/inventory/routes/concepts/media/ware4.png new file mode 100644 index 000000000..4c5299130 Binary files /dev/null and b/inventory/routes/concepts/media/ware4.png differ diff --git a/inventory/routes/concepts/stock_warehouses.rst b/inventory/routes/concepts/stock_warehouses.rst new file mode 100644 index 000000000..cd3e13312 --- /dev/null +++ b/inventory/routes/concepts/stock_warehouses.rst @@ -0,0 +1,34 @@ +======================================= +Taking stock from different warehouses +======================================= + +When you plan to deliver a customer, you don’t know in advance if the products will come from Warehouse A or Warehouse B. You may, in some cases, need to take stock from different warehouses. With *Odoo*, you can configure this by using the concept of virtual warehouses. Let us show you how to set those virtual warehouses. + +Set up virtual warehouses +=========================== + +Let’s say you have two warehouses: Warehouse A and Warehouse B. Create a new warehouse, that will be a virtual one. It will allow you to take the stock from A or B. To do so, go to your inventory app settings and enable the multi-warehouses feature. Then, go to the warehouses menu and click on create. + +.. image:: media/ware1.png + :align: center + +.. note:: + The *Storage Location* feature will be automatically enabled. Good news, because you will need it later in the process. + +Now, you have to make sure that the main stock locations of warehouse A and warehouse B are children locations of the main stock location of warehouse A + B. Go to the locations menu, and edit the main location of your two warehouses. Then, change their parent location to main location of warehouse A+B. + +.. image:: media/ware2.png + :align: center + +Sell a product from the virtual warehouse +========================================== + +Let’s say you have two products, one stored in warehouse A and one stored in warehouse B. Now, you can create a new quotation for one of each product. Go to other information and choose Warehouse A+B in the shipping information. + +.. image:: media/ware3.png + :align: center + +Once you have done it, you can convert it to a sales order. Then, a delivery order will be automatically generated, with a product reserved in warehouse A and one in warehouse B. + +.. image:: media/ware4.png + :align: center diff --git a/inventory/routes/strategies/media/putaw1.png b/inventory/routes/strategies/media/putaw1.png new file mode 100644 index 000000000..9259563c6 Binary files /dev/null and b/inventory/routes/strategies/media/putaw1.png differ diff --git a/inventory/routes/strategies/media/putaw2.png b/inventory/routes/strategies/media/putaw2.png new file mode 100644 index 000000000..7b9ed1d4b Binary files /dev/null and b/inventory/routes/strategies/media/putaw2.png differ diff --git a/inventory/routes/strategies/media/putaw3.png b/inventory/routes/strategies/media/putaw3.png new file mode 100644 index 000000000..27d50bcea Binary files /dev/null and b/inventory/routes/strategies/media/putaw3.png differ diff --git a/inventory/routes/strategies/media/putaw4.png b/inventory/routes/strategies/media/putaw4.png new file mode 100644 index 000000000..1cfc4505a Binary files /dev/null and b/inventory/routes/strategies/media/putaw4.png differ diff --git a/inventory/routes/strategies/media/putaw5.png b/inventory/routes/strategies/media/putaw5.png new file mode 100644 index 000000000..a0e0bdc62 Binary files /dev/null and b/inventory/routes/strategies/media/putaw5.png differ diff --git a/inventory/routes/strategies/media/putaway01.png b/inventory/routes/strategies/media/putaway01.png deleted file mode 100644 index 6e544a61e..000000000 Binary files a/inventory/routes/strategies/media/putaway01.png and /dev/null differ diff --git a/inventory/routes/strategies/media/putaway02.png b/inventory/routes/strategies/media/putaway02.png deleted file mode 100644 index dda59b7bf..000000000 Binary files a/inventory/routes/strategies/media/putaway02.png and /dev/null differ diff --git a/inventory/routes/strategies/media/putaway03.png b/inventory/routes/strategies/media/putaway03.png deleted file mode 100644 index d0052437d..000000000 Binary files a/inventory/routes/strategies/media/putaway03.png and /dev/null differ diff --git a/inventory/routes/strategies/media/putaway04.png b/inventory/routes/strategies/media/putaway04.png deleted file mode 100644 index fc7275740..000000000 Binary files a/inventory/routes/strategies/media/putaway04.png and /dev/null differ diff --git a/inventory/routes/strategies/putaway.rst b/inventory/routes/strategies/putaway.rst index 4c033829d..059f2b649 100644 --- a/inventory/routes/strategies/putaway.rst +++ b/inventory/routes/strategies/putaway.rst @@ -1,70 +1,41 @@ -=========================== -What is a putaway strategy? -=========================== +======================== +What is a Putaway Rule? +======================== -Overview -======== +A good warehouse implementation takes care that products automatically move to their appropriate destination location. To make that process easier, Odoo uses *Putaway rules*. But what is a putaway rule? Putaway is the process of taking products off the receiving shipments and directly putting them into the most appropriate location. -A good warehouse implementation takes care that products automatically -move to their appropriate destination location. Putaway is the process -of taking products off the receiving shipment and putting them into the -most appropriate location. - -If for instance a warehouse contains volatile substances, it is -important to make sure that certain products are not stored close to -each other because of a potential chemical reaction. - -A putaway strategy follows the same principle as removal strategies but -affects the destination location. Putaway strategies are defined at -the location level (unlike removal strategies which are defined at the -product level). +If, for example, a warehouse contains volatile substances, it is important to make sure that certain products are not stored close to each other because of a potential chemical reaction. That’s where putaway rules intervene, to avoid storing products wrongly. Configuration -============= +============== -Go to :menuselection:`Inventory --> Configuration --> Settings` and check option -**Manage several location per warehouse & Advance routing of products using -rules**, then click on **Apply**. +In the *Inventory* app, go to *Configuration > Settings* and activate the *Multi-Step Routes*. By doing so, the *Storage Locations* will be automatically activated. -.. image:: media/putaway01.png - :align: center +.. image:: media/putaw1.png + :align: center -Setting up a strategy -===================== +Setting up a Putaway Rule +========================== -Let's take as an example a retail shop where we store vegetables and -fruits. +In some cases, like for a retail shop storing vegetables and fruits, we have to store products in different locations to maintain product quality. -We have to store this type of product in different locations to maintain -product quality. +Let’s suppose there are one warehouse location *WH/Stock* and two sub-locations *WH/Stock/Vegatable* and *WH/Stock/Fruits*. -Suppose there is one warehouse location **WH/Stock** and there is -sub location **WH/Stock/Vegetables** & **WH/Stock/Fruits**. +To manage those locations, we will create putaway rules. To do so, open the *Inventory* app and go to *Configuration > Putaway Rules*. Then, click on create and configure your first rule indicating the main location the product will enter before being redirected to the right location. -You can create a putaway strategy from -:menuselection:`Inventory --> Configuration --> Locations`. -Open any location where you want to set a putaway strategy, -click on **Edit** and locate the option **Put Away Strategy**. +.. note:: + The putaway rules can be defined either per product or per product category. -.. image:: media/putaway02.png - :align: center +.. image:: media/putaw2.png + :align: center + +Now, if I purchase apples and carrots to my supplier, they will be grouped in the same receipt but redirected to the right location automatically, thanks to putaway rules. This information is available from *Inventory Report*, under the reporting menu. -Open the roll-down menu and click on **Create and Edit**. This will open a -form view of put away strategy on which you have to set a name for the -strategy, and set the method and fixed location for each category. +.. image:: media/putaw3.png + :align: center -.. image:: media/putaway03.png - :align: center +.. image:: media/putaw4.png + :align: center -When you have entered all the necessary information, click on **Save**. - -Now, when you purchase products with those categories, they will -automatically be transferred to the correct location. - -To check current inventory, Go to -:menuselection:`Inventory --> Inventory Control --> Current Inventory` - -There you can see current inventory by location. - -.. image:: media/putaway04.png - :align: center +.. image:: media/putaw5.png + :align: center