[IMP] inventory: merge resupply

closes odoo/documentation#11202

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>
This commit is contained in:
Felicious 2024-10-01 01:03:17 +00:00
parent 2009a30bd2
commit f3f6e98055
17 changed files with 154 additions and 48 deletions

View File

@ -26,6 +26,8 @@ current stock level of the product being ordered.
Finally, click :guilabel:`Save` to save the change. Finally, click :guilabel:`Save` to save the change.
.. _inventory/warehouses_storage/unarchive-mto:
Unarchive MTO route Unarchive MTO route
=================== ===================

View File

@ -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:`Visibility days <inventory/product_management/visibility-days>`
- :ref:`Route <inventory/product_management/route>` - :ref:`Route <inventory/product_management/route>`
.. _inventory/warehouses_storage/zero-zero:
0/0/1 reordering rule 0/0/1 reordering rule
--------------------- ---------------------

View File

@ -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 .. |MTO| replace:: :abbr:`MTO (Make to Order)`
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 When a business operates multiple locations, such as warehouses, retail shops, or manufacturing
which warehouse(s) can resupply another warehouse. 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 Configuration
============= =============
To resupply from another warehouse, first go to :menuselection:`Inventory --> Configuration --> The initial configuration for both replenishment strategies is the same. First go to
Settings --> Warehouse` and activate :guilabel:`Multi-Step Routes`. Then, click :guilabel:`Save` to :menuselection:`Inventory app --> Configuration --> Settings`. In the :guilabel:`Warehouse` section,
apply the setting. 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 :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 Configure the settings for the central warehouse and connecting storage locations by going to
:guilabel:`Short Name`. Finally, click :guilabel:`Save` to finish creating the warehouse. :menuselection:`Inventory app --> Configuration --> Warehouses`.
After that, go back to the :guilabel:`Warehouses` page and open the warehouse that will be .. important::
resupplied by the second warehouse. Then, click :guilabel:`Edit`. In the :guilabel:`Warehouse Each central warehouse and other locations *must* have its own warehouse. For example, each shop
Configuration` tab, locate the :guilabel:`Resupply From` field, and check the box next to the is considered a local warehouse.
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.
.. 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 :align: center
:alt: Supply one warehouse with another in the Warehouse Configuration tab. :alt: Supply one warehouse with another in the Warehouse Configuration tab.
Set route on a product Set route on a product
====================== ----------------------
After configuring which warehouse(s) to resupply from, a new route is now available on all product Products must also be configured properly in order for them to be transferred between warehouses.
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.
.. image:: resupply_warehouses/product-resupply-route-settings.png Go to :menuselection:`Inventory app --> Products --> Products` and select the desired product.
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.
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.
.. _inventory/warehouses_storage/MTO:
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 :align: center
:alt: Route setting which enables a product to resupplied from a second warehouse. :alt: Route setting which enables a product to resupplied from a second warehouse.
When a product's reordering rule is triggered and the product has the :guilabel:`Supply Product .. _inventory/warehouses_storage/reordering-rule:
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.
On the picking/transfer records created by Odoo, the :guilabel:`Source Document` is the product's Reordering rule
reordering rule. The location between the delivery order and the receipt is a transit location. ~~~~~~~~~~~~~~~
.. image:: resupply_warehouses/resupply-receipts-from-reordering-rule.png 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 :align: center
:alt: A reordering rule automatically creates two receipts for stock between warehouses. :alt: Show reordering rule configurations.
.. image:: resupply_warehouses/second-warehouse-delivery-order.png .. _inventory/warehouses_storage/resupply-workflow:
:align: center
:alt: A warehouse order for resupplying one warehouse's stock with another.
.. image:: resupply_warehouses/second-warehouse-stock-receipt.png 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 :align: center
:alt: A receipt for stock received to one warehouse from another. :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.