[IMP] inventory: merge resupply
closes odoo/documentation#11203
X-original-commit: 7f24a51d7d
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: Liz Bender <92882399+benderliz@users.noreply.github.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
@ -26,6 +26,8 @@ current stock level of the product being ordered.
|
||||
|
||||
Finally, click :guilabel:`Save` to save the change.
|
||||
|
||||
.. _inventory/warehouses_storage/unarchive-mto:
|
||||
|
||||
Unarchive MTO route
|
||||
===================
|
||||
|
||||
|
@ -95,6 +95,8 @@ For advanced usage of reordering rules, learn about the following reordering rul
|
||||
- :ref:`Visibility days <inventory/product_management/visibility-days>`
|
||||
- :ref:`Route <inventory/product_management/route>`
|
||||
|
||||
.. _inventory/warehouses_storage/zero-zero:
|
||||
|
||||
0/0/1 reordering rule
|
||||
---------------------
|
||||
|
||||
|
@ -1,70 +1,172 @@
|
||||
===============================
|
||||
Resupply from another warehouse
|
||||
===============================
|
||||
=============================
|
||||
Inter-warehouse replenishment
|
||||
=============================
|
||||
|
||||
A common use case for multiple warehouses is to have one central warehouse that resupplies multiple
|
||||
shops, and in this case, each shop is considered a local warehouse. When a shop wants to replenish
|
||||
a product, the product is ordered to the central warehouse. Odoo allows the user to easily set
|
||||
which warehouse(s) can resupply another warehouse.
|
||||
.. |MTO| replace:: :abbr:`MTO (Make to Order)`
|
||||
|
||||
When a business operates multiple locations, such as warehouses, retail shops, or manufacturing
|
||||
facilities, resupplying stock from a central warehouse is sometimes necessary. Odoo uses a *Route*
|
||||
configuration that enables locations to replenish from a central distribution center, automatically
|
||||
generating *inter-warehouse transfers*. Odoo :guilabel:`Inventory` manages these transfers to keep
|
||||
stores in stock.
|
||||
|
||||
This guide explains how to conduct inter-warehouse transfers using two replenishment strategies:
|
||||
|
||||
#. :ref:`Make to order (MTO) <inventory/warehouses_storage/MTO>`
|
||||
#. :ref:`Reordering rule <inventory/warehouses_storage/reordering-rule>`
|
||||
|
||||
.. seealso::
|
||||
:doc:`Difference between MTO and reordering rules <../replenishment>`
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
To resupply from another warehouse, first go to :menuselection:`Inventory --> Configuration -->
|
||||
Settings --> Warehouse` and activate :guilabel:`Multi-Step Routes`. Then, click :guilabel:`Save` to
|
||||
apply the setting.
|
||||
The initial configuration for both replenishment strategies is the same. First go to
|
||||
:menuselection:`Inventory app --> Configuration --> Settings`. In the :guilabel:`Warehouse` section,
|
||||
activate :guilabel:`Storage Locations`. Then, click :guilabel:`Save` to apply the setting.
|
||||
|
||||
.. image:: resupply_warehouses/virtual-warehouses-settings.png
|
||||
.. image:: resupply_warehouses/storage-locations.png
|
||||
:align: center
|
||||
:alt: Enable Multi-Step Routes in Inventory settings.
|
||||
:alt: Enable Storage Locations in Inventory settings.
|
||||
|
||||
View all the configured warehouses by going to :menuselection:`Inventory --> Configuration -->
|
||||
Warehouses`.
|
||||
Warehouses
|
||||
----------
|
||||
|
||||
Create a new warehouse by clicking :guilabel:`Create`. Then, give the warehouse a name and a
|
||||
:guilabel:`Short Name`. Finally, click :guilabel:`Save` to finish creating the warehouse.
|
||||
Configure the settings for the central warehouse and connecting storage locations by going to
|
||||
:menuselection:`Inventory app --> Configuration --> Warehouses`.
|
||||
|
||||
After that, go back to the :guilabel:`Warehouses` page and open the warehouse that will be
|
||||
resupplied by the second warehouse. Then, click :guilabel:`Edit`. In the :guilabel:`Warehouse
|
||||
Configuration` tab, locate the :guilabel:`Resupply From` field, and check the box next to the
|
||||
second warehouse's name. If the warehouse can be resupplied by more than one warehouse, make sure
|
||||
to check those warehouses' boxes too. Finally, click :guilabel:`Save` to apply the setting. Now,
|
||||
Odoo knows which warehouses can resupply this warehouse.
|
||||
.. important::
|
||||
Each central warehouse and other locations *must* have its own warehouse. For example, each shop
|
||||
is considered a local warehouse.
|
||||
|
||||
.. image:: resupply_warehouses/resupply-from-second-warehouse.png
|
||||
Select an existing warehouse, or create a new one to be resupplied from the central warehouse, by
|
||||
clicking :guilabel:`New`. Then, give the warehouse a name and a :guilabel:`Short Name`, which will
|
||||
appear on that warehouse's transfers.
|
||||
|
||||
In the :guilabel:`Warehouse Configuration` tab, locate the :guilabel:`Resupply From` field. Check
|
||||
the box next to the central warehouse's name. If the warehouse can be resupplied by more than one
|
||||
warehouse, make sure to check those warehouses' boxes too. Now, Odoo knows which warehouses can
|
||||
resupply this warehouse.
|
||||
|
||||
.. example::
|
||||
The central warehouse that will supply the shops is called `Central warehouse`. The
|
||||
:guilabel:`Resupply From` field is set to this warehouse on the shop's warehouse configuration
|
||||
page.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../inventory_management/warehouses`
|
||||
|
||||
.. image:: resupply_warehouses/warehouse.png
|
||||
:align: center
|
||||
:alt: Supply one warehouse with another in the Warehouse Configuration tab.
|
||||
|
||||
Set route on a product
|
||||
======================
|
||||
----------------------
|
||||
|
||||
After configuring which warehouse(s) to resupply from, a new route is now available on all product
|
||||
forms. The new route appears as :guilabel:`Supply Product from [Warehouse Name]` under the
|
||||
:guilabel:`Inventory` tab on a product form. Use the :guilabel:`Supply Product from [Warehouse
|
||||
Name]` route with a reordering rule or the make to order (MTO) route to replenish stock by moving
|
||||
the product from one warehouse to another.
|
||||
Products must also be configured properly in order for them to be transferred between warehouses.
|
||||
|
||||
.. image:: resupply_warehouses/product-resupply-route-settings.png
|
||||
:align: center
|
||||
:alt: Route setting which enables a product to resupplied from a second warehouse.
|
||||
Go to :menuselection:`Inventory app --> Products --> Products` and select the desired product.
|
||||
|
||||
When a product's reordering rule is triggered and the product has the :guilabel:`Supply Product
|
||||
from [Warehouse Name]` route set, Odoo automatically creates two pickings. One picking is a
|
||||
*delivery order* from the second warehouse, which contains all the necessary products, and the
|
||||
second picking is a *receipt* with the same products for the main warehouse. The product move from
|
||||
the second warehouse to the main warehouse is fully tracked in Odoo.
|
||||
In the :guilabel:`Inventory` tab, the new route appears as :guilabel:`X: Supply Product from Y` in
|
||||
the :guilabel:`Routes` section, where 'X' is the store's warehouse that receives products, and 'Y'
|
||||
is the warehouse that sends products.
|
||||
|
||||
On the picking/transfer records created by Odoo, the :guilabel:`Source Document` is the product's
|
||||
reordering rule. The location between the delivery order and the receipt is a transit location.
|
||||
Tick the :guilabel:`X: Supply Product from Y` checkbox, which is intended to be used with the |MTO|
|
||||
route or a reordering rule to replenish stock by moving the product from one warehouse to another.
|
||||
Proceed to the dedicated sections below to continue the process.
|
||||
|
||||
.. image:: resupply_warehouses/resupply-receipts-from-reordering-rule.png
|
||||
:align: center
|
||||
:alt: A reordering rule automatically creates two receipts for stock between warehouses.
|
||||
.. _inventory/warehouses_storage/MTO:
|
||||
|
||||
.. image:: resupply_warehouses/second-warehouse-delivery-order.png
|
||||
:align: center
|
||||
:alt: A warehouse order for resupplying one warehouse's stock with another.
|
||||
MTO
|
||||
~~~
|
||||
|
||||
To replenish products using the make-to-order method, go to the product form and ensure the
|
||||
:ref:`MTO route is unarchived <inventory/warehouses_storage/unarchive-mto>`, so it appears in the
|
||||
:guilabel:`Routes` section of the :guilabel:`Inventory` tab.
|
||||
|
||||
With the resupply and |MTO| routes ticked, jump to the section titled: :ref:`Replenish from another
|
||||
warehouse <inventory/warehouses_storage/resupply-workflow>`.
|
||||
|
||||
.. example::
|
||||
The product, sold at the warehouse, `Store`, is resupplied from the central warehouse, named
|
||||
`YourCompany`. To replenish the product using |MTO|, the following routes are selected:
|
||||
|
||||
- :guilabel:`Store: Supply Product from YourCompany`
|
||||
- :guilabel:`Replenish on Order (MTO)`
|
||||
|
||||
.. image:: resupply_warehouses/resupply-route.png
|
||||
:align: center
|
||||
:alt: Route setting which enables a product to resupplied from a second warehouse.
|
||||
|
||||
.. _inventory/warehouses_storage/reordering-rule:
|
||||
|
||||
Reordering rule
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
To replenish products using reordering rules, first ensure the :guilabel:`X: Supply Product from Y`
|
||||
route is selected in the :guilabel:`Inventory` tab of the product form.
|
||||
|
||||
Then, create a reordering rule to automate replenishment by clicking the :guilabel:`Reordering
|
||||
Rules` smart button.
|
||||
|
||||
Click :guilabel:`New`, and set:
|
||||
|
||||
- :guilabel:`Location`: the stock location of the retail store. For example, `SHOP/Stock`.
|
||||
- :guilabel:`Route`: :guilabel:`X: Supply Product from Y`.
|
||||
- :guilabel:`Min Quantity` and :guilabel:`Max Quantity` to trigger automatic stock transfers when
|
||||
inventory falls below the set threshold.
|
||||
|
||||
.. seealso::
|
||||
:doc:`reordering_rules`
|
||||
|
||||
.. example::
|
||||
A :ref:`0/0 reordering rule <inventory/warehouses_storage/zero-zero>` to replenish the shop's
|
||||
warehouse is created, with the :guilabel:`Location` set to `SHOP/Stock`, and the
|
||||
:guilabel:`Route` set to :guilabel:`Store: Resupply from YourCompany`.
|
||||
|
||||
.. image:: resupply_warehouses/reordering-rule.png
|
||||
:align: center
|
||||
:alt: Show reordering rule configurations.
|
||||
|
||||
.. _inventory/warehouses_storage/resupply-workflow:
|
||||
|
||||
Replenish one warehouse from another
|
||||
====================================
|
||||
|
||||
After completing the setup, trigger replenishment using one of several methods, such as:
|
||||
|
||||
- Navigate to the product form of the product that is resupplied from another warehouse.
|
||||
|
||||
Click the :guilabel:`Replenish` button on the top-left of the product page. In the pop-up window,
|
||||
set the warehouse to the retail shop, (e.g. `Store`), and click :guilabel:`Confirm`.
|
||||
|
||||
.. image:: resupply_warehouses/replenish.png
|
||||
:align: center
|
||||
:alt: Replenish pop-up window on the product form.
|
||||
|
||||
- Create a quotation, and in the :guilabel:`Other Info` tab, set the :guilabel:`Warehouse` to the
|
||||
retail shop (e.g. `Store`), when selling the product makes the on-hand quantity of the product go
|
||||
below the minimum set on the reordering rule.
|
||||
|
||||
.. image:: resupply_warehouses/warehouse-field.png
|
||||
:align: center
|
||||
:alt: Create a quote at the store.
|
||||
|
||||
Once triggered, Odoo creates two transfers: One is a *delivery order* from the central, supplying
|
||||
warehouse, which contains all the necessary products to the store, and the second is a *receipt* at
|
||||
the shop, from the main warehouse.
|
||||
|
||||
While in transit, the product is located at `Physical Locations/Inter-warehouse transit`.
|
||||
|
||||
.. example::
|
||||
A sales order for the product at the shop is created. To replenish the product at the shop and
|
||||
ship it from there, Odoo generates a delivery order from the central warehouse's stock,
|
||||
`WH/Stock` to the shop's warehouse `SHOP/Stock`. While the products are traveling between
|
||||
warehouses, they are in `Physical Locations/Inter-warehouse transit`.
|
||||
|
||||
The final delivery order is from the shop to the customer's delivery address, and is not
|
||||
pertinent to the workflow in this guide.
|
||||
|
||||
.. image:: resupply_warehouses/transfers.png
|
||||
:alt: Show shipments from warehouse to store.
|
||||
|
||||
.. image:: resupply_warehouses/second-warehouse-stock-receipt.png
|
||||
:align: center
|
||||
:alt: A receipt for stock received to one warehouse from another.
|
||||
|
After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 14 KiB |