[IMP] Inventory: Update inter-warehouse replenishment
closes odoo/documentation#4046
X-original-commit: 6f6e018db4
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
@ -10,7 +10,6 @@ Warehouse Management
|
||||
|
||||
management/products
|
||||
management/warehouses
|
||||
management/replenishment_strategies
|
||||
management/inventory_adjustments
|
||||
management/delivery
|
||||
management/incoming
|
||||
|
@ -1,11 +0,0 @@
|
||||
:nosearch:
|
||||
|
||||
========================
|
||||
Replenishment strategies
|
||||
========================
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
:glob:
|
||||
|
||||
replenishment_strategies/virtual_warehouses
|
@ -1,53 +0,0 @@
|
||||
===============================
|
||||
Resupply from another Warehouse
|
||||
===============================
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
In order to be able to resupply from another warehouse, you need to
|
||||
activate \*multi-step routes\*.
|
||||
|
||||
.. image:: virtual_warehouses/virtual-warehouses-settings.png
|
||||
:align: center
|
||||
:alt: Enable Multi-Step Routes in an Odoo database's settings
|
||||
|
||||
You can then access your warehouses via :menuselection:`Inventory --> Configuration -->
|
||||
Warehouses`.
|
||||
Enter the warehouse which should be resupplied by another one. You will
|
||||
have the possibility to directly indicate through which warehouse it
|
||||
gets resupplied.
|
||||
|
||||
.. image:: virtual_warehouses/virtual_warehouses_02.png
|
||||
:align: center
|
||||
|
||||
By activating this option, a new route will now be available on your
|
||||
products \*Supply Product from Second warehouse\*. It can now be
|
||||
selected, along with either a \*reordering rule\* or a \*make to
|
||||
order\*.
|
||||
|
||||
.. image:: virtual_warehouses/virtual_warehouses_03.png
|
||||
:align: center
|
||||
|
||||
For the demonstration, I set a reordering rule with a minimum of 5 units
|
||||
in stock and a maximum of 10 units in stock, having currently 0 units on
|
||||
hand. I will run the scheduler by going to :menuselection:`Inventory --> Operations -->
|
||||
Run scheduler`.
|
||||
|
||||
.. image:: virtual_warehouses/virtual_warehouses_04.png
|
||||
:align: center
|
||||
|
||||
The system automatically creates two pickings, one \*delivery order\*
|
||||
from my Second Warehouse which contains the necessary products, and a
|
||||
receipt in my main warehouse WH/Stock for the same products. The source
|
||||
document is the \*reordering rule\* which triggered the route \*Supply
|
||||
Product from Second warehouse\*.
|
||||
|
||||
.. image:: virtual_warehouses/virtual_warehouses_05.png
|
||||
:align: center
|
||||
|
||||
.. image:: virtual_warehouses/virtual_warehouses_06.png
|
||||
:align: center
|
||||
|
||||
.. image:: virtual_warehouses/virtual_warehouses_07.png
|
||||
:align: center
|
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 17 KiB |
@ -8,5 +8,6 @@ Warehouses
|
||||
:titlesonly:
|
||||
:glob:
|
||||
|
||||
warehouses/warehouses_locations
|
||||
warehouses/resupply_warehouses
|
||||
warehouses/warehouse_replenishment_transfer
|
||||
warehouses/warehouses_locations
|
||||
|
@ -0,0 +1,150 @@
|
||||
========================================================
|
||||
Transfer products between warehouses using replenishment
|
||||
========================================================
|
||||
|
||||
For companies that use multiple warehouses, it is often necessary to transfer items between them.
|
||||
This is referred to as an *inter-warehouse transfer*. Odoo *Inventory* handles the administrative
|
||||
process of inter-warehouse transfers to ensure that inventory counts remain accurate during and
|
||||
after the transfer. This document will detail the method for conducting an inter-warehouse transfer
|
||||
using replenishment.
|
||||
|
||||
Configure warehouses for inter-warehouse replenishment
|
||||
======================================================
|
||||
|
||||
First, ensure the :guilabel:`Multi-Step Routes` setting is enabled by navigating to
|
||||
:menuselection:`Inventory --> Configuration --> Settings`, and then check the box under the
|
||||
:guilabel:`Warehouse` tab. This will provide additional configuration options when creating a second
|
||||
warehouse that are needed for inter-warehouse replenishment.
|
||||
|
||||
By default, Odoo comes with a main warehouse already configured. If an additional warehouse has not
|
||||
already been created, do so now from the :guilabel:`Inventory` module by selecting
|
||||
:menuselection:`Configuration --> Warehouses --> Create`. Otherwise, select the warehouse that
|
||||
products will be transferred to from the :guilabel:`Warehouses` page and then click :guilabel:`Edit`
|
||||
to change its settings. Configure the warehouse as follows:
|
||||
|
||||
- :guilabel:`Warehouse`: choose a name that is not already being used for another warehouse (e.g.
|
||||
`Alternative Warehouse`)
|
||||
- :guilabel:`Short Name`: choose a short name by which the warehouse will be identified (e.g.
|
||||
`ALT_WH`)
|
||||
|
||||
Click :guilabel:`Save` and the new warehouse will be created. In addition, a new :guilabel:`Resupply
|
||||
From` field will appear on the warehouse's form. Click :guilabel:`Edit` and then check the box next
|
||||
to the warehouse that will be used to resupply the warehouse that is currently being configured.
|
||||
|
||||
.. image:: warehouse_replenishment_transfer/new-warehouse-configuration.png
|
||||
:align: center
|
||||
:alt: A warehouse settings form configured to allow resupplying between warehouses.
|
||||
|
||||
.. note::
|
||||
For the purposes of this demonstration, the warehouse that products are transferred from
|
||||
(outgoing) will be titled "San Francisco", and the warehouse that products are transferred to
|
||||
(incoming) will be titled "San Francisco 2".
|
||||
|
||||
Configure products for inter-warehouse replenishment
|
||||
====================================================
|
||||
|
||||
Products must also be configured properly in order for them to be transferred between warehouses.
|
||||
Navigate to :menuselection:`Inventory --> Products --> Products` and select an existing product or
|
||||
:guilabel:`Create` a new one, if necessary.
|
||||
|
||||
Then, on the product form, go to the :guilabel:`Inventory` tab and enable the checkbox for
|
||||
:guilabel:`X: Supply Product from Y`, with *X* being the warehouse receiving the transferred
|
||||
products and *Y* being the warehouse that products are transferred from.
|
||||
|
||||
.. image:: warehouse_replenishment_transfer/product-transfer-configuration.png
|
||||
:align: center
|
||||
:alt: Enable the checkbox to resupply one warehouse from another.
|
||||
|
||||
Replenish one warehouse from another
|
||||
====================================
|
||||
|
||||
Starting in the :menuselection:`Inventory` module, select :menuselection:`Products --> Products` and
|
||||
then choose the product that will be replenished. Click the :guilabel:`Replenish` button on the top
|
||||
left of the product page and fill out the pop-up form as follows:
|
||||
|
||||
- :guilabel:`Quantity`: the number of units that will be sent to the warehouse being replenished
|
||||
- :guilabel:`Scheduled Date`: the date that the replenishment is scheduled to take place
|
||||
- :guilabel:`Warehouse`: the warehouse that will be replenished
|
||||
- :guilabel:`Preferred Routes`: select `X: Supply Product from Y`, with *X* being the warehouse to
|
||||
be replenished and *Y* being the warehouse that the product will be transferred from
|
||||
|
||||
.. image:: warehouse_replenishment_transfer/product-replenishment-form.png
|
||||
:align: center
|
||||
:alt: The form for replenishing a product.
|
||||
|
||||
Click :guilabel:`Confirm` and a delivery order will be created for the outgoing warehouse along with
|
||||
a receipt for the warehouse that will receive the product. Depending on the configuration settings
|
||||
for the outgoing and incoming warehouses, processing delivery orders and receipts will require
|
||||
between one and three steps. This document will detail how to process one-step deliveries and
|
||||
receipts.
|
||||
|
||||
Process the delivery order
|
||||
--------------------------
|
||||
|
||||
The first stage of a replenishment order is processing the delivery from the warehouse that the
|
||||
product is being transferred from. On the :menuselection:`Inventory` dashboard, select the
|
||||
:guilabel:`X to Process` button on the :guilabel:`Delivery Orders` card for the outgoing warehouse,
|
||||
then the delivery order created for the replenishment. On the delivery order page, click the
|
||||
:guilabel:`Check Availability` button in the top left to reserve the quantity of the product to be
|
||||
transferred. Once the delivery has been dispatched, click the :guilabel:`Validate` button to
|
||||
register the quantities shipped.
|
||||
|
||||
.. image:: warehouse_replenishment_transfer/delivery-orders-card.png
|
||||
:align: center
|
||||
:alt: The delivery orders card for the outgoing warehouse.
|
||||
|
||||
Process the receipt
|
||||
-------------------
|
||||
|
||||
Once the goods arrive at the incoming warehouse, the receipt created for that warehouse must be
|
||||
processed as well. Return to the :menuselection:`Inventory` dashboard and select the :guilabel:`X to
|
||||
Process` button on the :guilabel:`Receipts` card for the incoming warehouse, then the receipt
|
||||
created for the replenishment. On the receipt page, click the :guilabel:`Validate` button in the top
|
||||
left of the page to register the quantities received.
|
||||
|
||||
.. image:: warehouse_replenishment_transfer/receipts-card.png
|
||||
:align: center
|
||||
:alt: The delivery orders card for the outgoing warehouse.
|
||||
|
||||
After processing the receipt, the products transferred will now appear in the inventory of the
|
||||
incoming warehouse. The stock numbers for both warehouses can be viewed by returning to the product
|
||||
page and selecting the :guilabel:`X Units On Hand` button at the top of the screen.
|
||||
|
||||
Automate inter-warehouse replenishment
|
||||
======================================
|
||||
|
||||
Using reordering rules, it is possible to automate the process of replenishing one warehouse from
|
||||
another.
|
||||
|
||||
To get started, navigate to :menuselection:`Inventory --> Products --> Products`, and then
|
||||
choose the product that will be replenished. From the product page, select the :guilabel:`Reordering
|
||||
Rules` smart button at the top of the form, and then on the next page, click :guilabel:`Create` to
|
||||
configure the form as follows:
|
||||
|
||||
- :guilabel:`Location`: the location that the reordering rule will replenish when triggered, in this
|
||||
case, the incoming warehouse
|
||||
- :guilabel:`Min Quantity`: when the quantity on hand at the incoming warehouse falls below this
|
||||
number, the reordering rule will be triggered
|
||||
- :guilabel:`Max Quantity`: when the reordering rule is triggered, the product will be replenished
|
||||
at the incoming warehouse up to this quantity
|
||||
- :guilabel:`Multiple Quantity`: specify if the product should be replenished in batches of a
|
||||
certain quantity; for example, a product could be replenished in batches of 20
|
||||
- :guilabel:`UoM`: the unit of measure used for reordering the product; this value can simply be
|
||||
`Units`, or a specific unit of measurement for weight, length, etc.
|
||||
|
||||
.. image:: warehouse_replenishment_transfer/reordering-rule-configuration.png
|
||||
:align: center
|
||||
:alt: A fully configured reordering rule.
|
||||
|
||||
Finish by clicking :guilabel:`Save` and the reordering rule will be created. Now, when the scheduler
|
||||
runs automatically each day, a transfer will be created for each reordering rule that has been
|
||||
triggered.
|
||||
|
||||
.. tip::
|
||||
To manually trigger reordering rules, start from the :menuselection:`Inventory` module and select
|
||||
:menuselection:`Operation --> Run Scheduler`, then click the green :guilabel:`Run Scheduler`
|
||||
button in the pop-up that appears.
|
||||
|
||||
After the scheduler runs, a delivery order and receipt will be created for the outgoing and incoming
|
||||
warehouses, respectively. Both the delivery order and receipt should be processed using the same
|
||||
method as detailed above.
|
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 10 KiB |
@ -9,6 +9,5 @@ Concepts
|
||||
:glob:
|
||||
|
||||
concepts/use_routes
|
||||
concepts/inter_warehouse
|
||||
concepts/cross_dock
|
||||
concepts/stock_warehouses
|
||||
|
@ -1,71 +0,0 @@
|
||||
=========================
|
||||
Inter-warehouse transfers
|
||||
=========================
|
||||
|
||||
When owning several warehouses, goods might need to be transferred from one warehouse to another.
|
||||
This type of transfer is called an *inter-warehouse transfer*. While physically performing the
|
||||
inter-warehouse transfer might be simple, the administrative part can be complex. Fortunately, Odoo
|
||||
comes with an intuitive flow that helps save time when registering inter-warehouse transfers.
|
||||
|
||||
Create an internal transfer
|
||||
===========================
|
||||
|
||||
The following paragraphs detail a sample inter-warehouse transfer, referred to as an *internal
|
||||
transfer*, use case. The sample use case assumes that the user has already configured their second
|
||||
warehouse.
|
||||
|
||||
To transfer eight units of a product from the first warehouse to another one, proceed as follows:
|
||||
|
||||
From the :guilabel:`Inventory` dashboard, select an internal movement operation of one of the two
|
||||
warehouses. To do so, click on the three vertical dots icon on the top right corner of the
|
||||
operation card and select :guilabel:`Planned Transfer`.
|
||||
|
||||
.. image:: inter_warehouse/internal-transfer-choice.png
|
||||
:align: center
|
||||
:alt: View of the choice between planned transfer and immediate transfer.
|
||||
|
||||
On the new planned transfer form, select the :guilabel:`Source Location` (in this case, the first
|
||||
warehouse) and the :guilabel:`Destination Location` (in this case, the second warehouse).
|
||||
|
||||
Next, add the products that will be transferred by clicking on :guilabel:`Add a line`, then click
|
||||
on :guilabel:`Save` and :guilabel:`Mark as ToDo` once done. After that, Odoo puts the transfer in
|
||||
the :guilabel:`Waiting` status. Then, click on :guilabel:`Reserve` to reserve the number of
|
||||
products in the source warehouse.
|
||||
|
||||
.. image:: inter_warehouse/planned-internal-transfer.png
|
||||
:align: center
|
||||
:alt: View of the internal transfer form.
|
||||
|
||||
.. note::
|
||||
If :guilabel:`Immediate Transfer` was selected instead of :guilabel:`Planned Transfer`, Odoo
|
||||
processes the transfer automatically after the :guilabel:`Validate` button is clicked on the
|
||||
internal transfer form.
|
||||
|
||||
It is also possible to manually transfer each product:
|
||||
|
||||
#. On the :guilabel:`Inventory` dashboard, open the souce location's internal transfer operation
|
||||
page.
|
||||
|
||||
.. image:: inter_warehouse/in-progress-internal-transfer.png
|
||||
:align: center
|
||||
:alt: View of the dashboard with a zoom of the pending internal transfer.
|
||||
|
||||
#. Open the desired transfer order form.
|
||||
|
||||
.. image:: inter_warehouse/internal-transfers-list.png
|
||||
:align: center
|
||||
:alt: View of the pending internal transfers list.
|
||||
|
||||
#. Click on the pencil icon in the lower right corner to open the operation details window. In this
|
||||
new window, the quantity of products can be manually set.
|
||||
|
||||
.. image:: inter_warehouse/backorder.png
|
||||
:align: center
|
||||
:alt: View of a backorder pop-up window because all products are not moved at the same time.
|
||||
|
||||
.. note::
|
||||
To process the transfer order partially (e.g., a part of the products can't be shipped yet due
|
||||
to an unexpected event), Odoo automatically asks if a *backorder* should be created.
|
||||
|
||||
- Create a backorder if it is expected that the remaining products will be processed later.
|
||||
- Do not create a backorder if the remaining products will not be supplied/received.
|
Before Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 17 KiB |
@ -35,6 +35,11 @@ applications/finance/accounting/fiscal_localizations/overview/localizations_list
|
||||
applications/finance/accounting/getting_started/memento.rst applications/finance/accounting/getting_started/cheat_sheet.rst # memento -> cheat_sheet
|
||||
applications/finance/accounting/payables/supplier_bills/manage.rst applications/inventory_and_mrp/purchase/manage_deals/manage.rst # (#3302)
|
||||
|
||||
# applications/inventory
|
||||
|
||||
applications/inventory_and_mrp/inventory/routes/concepts/inter_warehouse.rst applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst
|
||||
applications/inventory_and_mrp/inventory/management/replenishment_strategies/virtual_warehouses.rst applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst
|
||||
|
||||
# applications/sales
|
||||
|
||||
applications/sales/crm/acquire_leads/generate_from_email.rst applications/sales/crm/acquire_leads/generate_leads.rst # (#986)
|
||||
|