[IMP] Inventory: Inventory doc improvement to fit Odoo 13
@ -7,8 +7,7 @@ Concepts
|
||||
:glob:
|
||||
|
||||
concepts/use_routes
|
||||
concepts/procurement_rule
|
||||
concepts/push_rule
|
||||
concepts/pull_push_rules
|
||||
concepts/inter_warehouse
|
||||
concepts/cross_dock
|
||||
concepts/stock_warehouses
|
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 10 KiB |
BIN
inventory/routes/concepts/media/pull_push_rules_01.png
Normal file
After Width: | Height: | Size: 8.0 KiB |
BIN
inventory/routes/concepts/media/pull_push_rules_02.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
inventory/routes/concepts/media/pull_push_rules_03.png
Normal file
After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 16 KiB |
BIN
inventory/routes/concepts/media/use_routes_01.png
Normal file
After Width: | Height: | Size: 8.0 KiB |
BIN
inventory/routes/concepts/media/use_routes_02.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
inventory/routes/concepts/media/use_routes_03.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
inventory/routes/concepts/media/use_routes_04.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
BIN
inventory/routes/concepts/media/use_routes_05.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
inventory/routes/concepts/media/use_routes_06.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
BIN
inventory/routes/concepts/media/use_routes_07.png
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
inventory/routes/concepts/media/use_routes_08.png
Normal file
After Width: | Height: | Size: 5.4 KiB |
BIN
inventory/routes/concepts/media/use_routes_09.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
inventory/routes/concepts/media/use_routes_10.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
inventory/routes/concepts/media/use_routes_11.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
inventory/routes/concepts/media/use_routes_12.png
Normal file
After Width: | Height: | Size: 10 KiB |
@ -1,73 +0,0 @@
|
||||
===========================
|
||||
What is a procurement rule?
|
||||
===========================
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
The procurement inventory control system begins with a customer's order.
|
||||
With this strategy, companies only make enough product to fulfill
|
||||
customer's orders. One advantage to the system is that there will be no
|
||||
excess of inventory that needs to be stored, thus reducing inventory
|
||||
levels and the cost of carrying and storing goods. However, one major
|
||||
disadvantage to the pull system is that it is highly possible to run
|
||||
into ordering dilemmas, such as a supplier not being able to get a
|
||||
shipment out on time. This leaves the company unable to fulfill the
|
||||
order and contributes to customer dissatisfaction.
|
||||
|
||||
An example of a pull inventory control system is the make-to-order. The
|
||||
goal is to keep inventory levels to a minimum by only having enough
|
||||
inventory, not more or less, to meet customer demand. The MTO system
|
||||
eliminates waste by reducing the amount of storage space needed for
|
||||
inventory and the costs of storing goods.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Procurement rules are part of the routes. Go to the Inventory
|
||||
application>Configuration>Settings and tick "Advance routing of products
|
||||
using rules".
|
||||
|
||||
.. image:: media/procurement_rule01.png
|
||||
:align: center
|
||||
|
||||
Procurement rules settings
|
||||
==========================
|
||||
|
||||
The procurement rules are set on the routes. In the inventory
|
||||
application, go to :menuselection:`Configuration --> Routes`.
|
||||
|
||||
In the Procurement rules section, click on Add an item.
|
||||
|
||||
.. image:: media/procurement_rule02.png
|
||||
:align: center
|
||||
|
||||
Here you can set the conditions of your rule. There are 3 types of
|
||||
action possible :
|
||||
|
||||
- Move from another location rules
|
||||
|
||||
- Manufacturing rules that will trigger the creation of manufacturing
|
||||
orders
|
||||
|
||||
- Buy rules that will trigger the creation of purchase orders
|
||||
|
||||
.. note::
|
||||
The Manufacturing application has to be installed in order to
|
||||
trigger manufacturing rules.
|
||||
|
||||
.. note::
|
||||
The Purchase application has to be installed in order to trigger
|
||||
**buy** rules.
|
||||
|
||||
.. image:: media/procurement_rule03.png
|
||||
:align: center
|
||||
|
||||
.. note::
|
||||
Some Warehouse Configuration creates routes with procurement
|
||||
rules already defined.
|
||||
|
||||
.. seealso::
|
||||
* :doc:`push_rule`
|
||||
* :doc:`inter_warehouse`
|
||||
* :doc:`cross_dock`
|
116
inventory/routes/concepts/pull_push_rules.rst
Normal file
@ -0,0 +1,116 @@
|
||||
===========================
|
||||
What are Pull & Push Rules?
|
||||
===========================
|
||||
|
||||
In inventory management, the supply chain strategy determines when
|
||||
products should be fabricated, delivered to distribution centers and
|
||||
made available in the retail channel.
|
||||
|
||||
Under a pull supply chain, actual customer demand drives the process,
|
||||
while push strategies are driven by long-term projections.
|
||||
|
||||
Pull Inventory Control System
|
||||
=============================
|
||||
|
||||
The *procurement inventory control system* begins with a customer's
|
||||
order. With this strategy, companies only produce enough to fulfill their
|
||||
customer's orders. One advantage is that there are no
|
||||
extra goods that need to be stored, thus reducing inventory levels
|
||||
and the cost of carrying and storing. However, one major
|
||||
disadvantage to the pull system is that it is highly possible to run
|
||||
into ordering dilemmas, such as a supplier not being able to get a
|
||||
shipment out on time. This leaves the company unable to fulfill the
|
||||
order and contributes to customer dissatisfaction.
|
||||
|
||||
An example of a pull inventory control system is the make-to-order. The
|
||||
goal is to keep inventory levels to a minimum by only having enough
|
||||
inventory to meet customer's demand. The :abbr:`MTO (Make-to-order)` system
|
||||
eliminates waste by reducing the amount of storage space needed for
|
||||
inventory and the costs of storing goods.
|
||||
|
||||
Push Inventory Control System
|
||||
=============================
|
||||
|
||||
The *push system of inventory control* involves forecasting inventory
|
||||
needs to meet customer's demand. Companies must predict which products
|
||||
customers will purchase along with determining what quantity of goods
|
||||
will be purchased. The company will, in turn, produce enough product to
|
||||
meet the forecast demand and sell, or push, the goods to the consumer.
|
||||
Disadvantages of the push inventory control system are that forecasts
|
||||
are often inaccurate as sales can be unpredictable and vary from one
|
||||
year to the next, but it also increases the company's costs for storing
|
||||
these goods if the minimum stock isn’t well defined. An advantage of the push system is that the
|
||||
company is fairly assured it will have enough product on hand to complete customer orders,
|
||||
preventing the inability to meet customer demand for the product.
|
||||
|
||||
A push flow indicates how locations are chained with other ones. As soon
|
||||
as a given quantity of products is moved in the source location, a
|
||||
chained move is automatically foreseen according to the parameters set
|
||||
on the flow specifications (destination location, delay, type of move).
|
||||
It can be triggered automatically or manually.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Pull and push rules are part of the routes. Go to :menuselection:`Inventory --> Configuration -->
|
||||
Settings` and tick *Multi-Step Routes*.
|
||||
|
||||
.. image:: media/pull_push_rules_01.png
|
||||
:align: center
|
||||
:alt: Enabling multi-step routes to use pull and push rules
|
||||
|
||||
.. Note::
|
||||
Storage Locations are automatically activated at the same time as
|
||||
Multi-Step Routes.
|
||||
|
||||
Rules settings
|
||||
==============
|
||||
|
||||
The rules are defined on the routes. In the inventory application, go to
|
||||
:menuselection:`Inventory --> Configuration --> Routes`. In the *Rules* section, click on *Add a line*.
|
||||
|
||||
.. image:: media/pull_push_rules_02.png
|
||||
:align: center
|
||||
:alt: Add a line on Odoo routes to use Pull & Push rules
|
||||
|
||||
Here you can set the action to be triggered by the rule. Choose from:
|
||||
|
||||
- **Pull From**: this rule will be triggered by a need for the product in a specific stock
|
||||
location. The need can come from a sale order which has been validated or for a manufacturing order
|
||||
which requires a specific component. When the need appears in the source location, Odoo generates a
|
||||
picking to fulfill this need thanks to the pull rule.
|
||||
- **Push To**: this rule will be triggered by the arrival of some products in the defined source
|
||||
location. In case you move products to the source location, Odoo generates a picking to move those
|
||||
products to the destination location.
|
||||
- **Push & Pull**: it allows to generate a picking in the two different situations explained above,
|
||||
when products are required in a specific source location as well as when they are pushed to a
|
||||
specific source location.
|
||||
- **Buy**: when products are needed the source location, a request for quotation is created to
|
||||
fulfill the need.
|
||||
- **Manufacture**: when products are needed in the source location, a manufacturing order is
|
||||
created to fulfill the need.
|
||||
- Many translated example sentences containing
|
||||
|
||||
.. image:: media/pull_push_rules_03.png
|
||||
:align: center
|
||||
:alt: Creating rules inside of Routes
|
||||
|
||||
The *Operation Type* allows you to define which kind of picking will
|
||||
be created from this rule, in the example, I would like to create an
|
||||
internal transfer.
|
||||
The *Supply Method* allows you to define what happens at the source
|
||||
location:
|
||||
|
||||
- **Take From Stock**: the products will be taken from the available stock of the source location.
|
||||
- **Trigger Another Rule**: the system will try to find a stock rule to bring the products in the
|
||||
source location. The available stock will be ignored.
|
||||
- **Take From Stock, if Unavailable, Trigger Another Rule**: the products will be taken from the
|
||||
available stock of the source location. If there is no stock available, the system will try to find
|
||||
a rule to bring the products in the source location.
|
||||
|
||||
In the *Scheduling* section, you can determine how will Odoo behave
|
||||
when one of the pickings of the chain is rescheduled. In case you decide
|
||||
to Propagate Rescheduling, the next move will also be rescheduled. In
|
||||
case you prefer to have the choice to manually reschedule the next move
|
||||
or not, you can decide to receive an alert about it under the form of
|
||||
the next activity.
|
@ -1,81 +0,0 @@
|
||||
====================
|
||||
What is a push rule?
|
||||
====================
|
||||
|
||||
Overview
|
||||
=========
|
||||
|
||||
The push system of inventory control involves forecasting inventory
|
||||
needs to meet customer demand. Companies must predict which products
|
||||
customers will purchase along with determining what quantity of goods
|
||||
will be purchased. The company will in turn produce enough product to
|
||||
meet the forecast demand and sell, or push, the goods to the consumer.
|
||||
Disadvantages of the push inventory control system are that forecasts
|
||||
are often inaccurate as sales can be unpredictable and vary from one
|
||||
year to the next. Another problem with push inventory control systems is
|
||||
that if too much product is left in inventory, this increases the
|
||||
company's costs for storing these goods. An advantage to the push system
|
||||
is that the company is fairly assured it will have enough product on
|
||||
hand to complete customer orders, preventing the inability to meet
|
||||
customer demand for the product.
|
||||
|
||||
A push flow indicates how locations are chained with the other ones. As
|
||||
soon as a given quantity of products is moved in the source location, a
|
||||
chained move is automatically foreseen according to the parameters set
|
||||
on the flow specification (destination location, delay, type of move,
|
||||
journal). It can be triggered automatically or manually.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Push rules are part of the routes. Go to the menu
|
||||
:menuselection:`Inventory --> Configuration --> Settings`
|
||||
and tick **Advance routing of products using rules**.
|
||||
|
||||
.. image:: media/push_rule01.png
|
||||
:align: center
|
||||
|
||||
Push rules settings
|
||||
===================
|
||||
|
||||
The push rules are set on the routes.
|
||||
Go to :menuselection:`Configuration --> Routes`.
|
||||
|
||||
In the push rule section, click on **Add an item**.
|
||||
|
||||
.. image:: media/push_rule02.png
|
||||
:align: center
|
||||
|
||||
Here you can set the conditions of your rule. In this example, when a
|
||||
good is in **Input location**, it needs to be moved to the quality control.
|
||||
In the 3 steps receipts, another push rule will make the goods that are
|
||||
in the quality control location move to the stock.
|
||||
|
||||
.. image:: media/push_rule03.png
|
||||
:align: center
|
||||
|
||||
.. note::
|
||||
Some warehouse configuration creates routes with push rules
|
||||
already defined.
|
||||
|
||||
Stock transfers
|
||||
===============
|
||||
|
||||
The push rule will trigger stock transfer. According to the rule set on
|
||||
your route, you will see that some transfers might be ready and other
|
||||
are waiting.
|
||||
|
||||
The push rule that was set above will create moves from **WH/Input**
|
||||
location to the **WH/Quality Control** location.
|
||||
|
||||
.. image:: media/push_rule04.png
|
||||
:align: center
|
||||
|
||||
In this example, another move is waiting according to the second push
|
||||
rule, it defines that when the quality control is done, the goods will
|
||||
be moved to the main stock.
|
||||
|
||||
.. seealso::
|
||||
* :doc:`procurement_rule`
|
||||
* :doc:`inter_warehouse`
|
||||
* :doc:`cross_dock`
|
@ -1,154 +1,144 @@
|
||||
==================
|
||||
How to use routes?
|
||||
==================
|
||||
==========
|
||||
Use Routes
|
||||
==========
|
||||
|
||||
Overview
|
||||
========
|
||||
A route is a collection of :doc:`push and pull rules <pull_push_rules>`. In Odoo, you can manage
|
||||
advanced push/pull routes configurations, like:
|
||||
|
||||
A route is a collection of procurement rules and push rules. Odoo can
|
||||
manage advanced push/pull routes configuration, for example:
|
||||
- Manage product manufacturing chains;
|
||||
- Manage default locations per product;
|
||||
- Define routes within your warehouse according to the business needs, such as quality control, after-sales services or supplier returns;
|
||||
- Help rental management, by generating automated returning moves for rented products.
|
||||
|
||||
- Manage product manufacturing chains
|
||||
|
||||
- Manage default locations per product
|
||||
|
||||
- Define routes within your warehouse according to business needs, such
|
||||
as quality control, after sales services or supplier returns
|
||||
|
||||
- Help rental management, by generating automated return moves for
|
||||
rented products
|
||||
.. note::
|
||||
- You can find documentation about those subjects :doc:`../../inventory`
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Procurement rules are part of the routes. Go to the **Inventory**
|
||||
application, :menuselection:`Configuration --> Settings` and tick
|
||||
**Advance routing of products using rules**.
|
||||
To configure routes, go to :menuselection:`Inventory --> Configuration --> Settings` and enable
|
||||
the *Multi-Step Routes* feature.
|
||||
|
||||
.. image:: media/use_routes01.png
|
||||
.. note::
|
||||
Enabling the *Multi-Step Routes* automatically enables the *Storage Location* feature too.
|
||||
|
||||
.. image:: media/use_routes_01.png
|
||||
:align: center
|
||||
:alt: Enabling multi-step routes to work with routes
|
||||
|
||||
Pre-configured routes
|
||||
Pre-Configured Routes
|
||||
=====================
|
||||
|
||||
Odoo has some pre-configured routes for your warehouses.
|
||||
Of course, Odoo offers some pre-configured routes for your warehouses. To
|
||||
see them, open the *Warehouses* menu, under *Configuration*.
|
||||
|
||||
In the Inventory application, go to
|
||||
:menuselection:`Configuration --> Warehouses`.
|
||||
In the *Warehouse Configuration* tab, some routes are automatically
|
||||
created based on your choices for *Incoming Shipments* and *Outgoing
|
||||
Shipments*.
|
||||
|
||||
In the **Warehouse Configuration** tab, **Incoming Shipments** and **Outgoing
|
||||
Shippings** options set some routes according to your choices.
|
||||
|
||||
.. image:: media/use_routes02.png
|
||||
.. image:: media/use_routes_02.png
|
||||
:align: center
|
||||
:alt: automatically generated routes for incoming and outgoing shipments
|
||||
|
||||
Custom Routes
|
||||
=============
|
||||
|
||||
In the **Inventory** application, go to
|
||||
:menuselection:`Configuration --> Routes`.
|
||||
|
||||
.. image:: media/use_routes03.png
|
||||
:align: center
|
||||
|
||||
First, you have to select the places where this route can be selected.
|
||||
You can combine several choices.
|
||||
In the *Inventory* application, open :menuselection:`Configuration --> Routes`. Then,
|
||||
you have to select the places where this route can be selected. You can
|
||||
combine several choices if needed.
|
||||
|
||||
Routes applied on warehouses
|
||||
----------------------------
|
||||
|
||||
If you tick **Warehouses**, you have to choose on which warehouse it will
|
||||
be applied. The route will be set for all transfer in that warehouse
|
||||
that would meet the conditions of the procurement and push rules.
|
||||
If you tick *Warehouses*, you have to choose on which warehouse it
|
||||
will be applied. The route will be set for all transfers in that
|
||||
warehouse that would meet the conditions of the pull and push rules.
|
||||
|
||||
.. image:: media/use_routes04.png
|
||||
.. image:: media/use_routes_03.png
|
||||
:align: center
|
||||
:alt: Applicable routes on warehouse
|
||||
|
||||
Routes applied on products
|
||||
---------------------------
|
||||
Routes applied to products
|
||||
--------------------------
|
||||
|
||||
If you tick **Products**, you have to manually set on which product it
|
||||
will be applied.
|
||||
If you choose *Products*, you have to manually set on which product it
|
||||
is applied.
|
||||
|
||||
.. image:: media/use_routes05.png
|
||||
.. image:: media/use_routes_04.png
|
||||
:align: center
|
||||
:alt: Applicable routes on products
|
||||
|
||||
Open the product on which you want to apply the routes
|
||||
(:menuselection:`Inventory --> Control --> Products`).
|
||||
In the Inventory Tab, select the route(s):
|
||||
To do so, open the product on which you want to apply the routes. Open
|
||||
the *Inventory tab* and select the route you’ve created.
|
||||
|
||||
.. image:: media/use_routes06.png
|
||||
.. image:: media/use_routes_05.png
|
||||
:align: center
|
||||
:alt: Choosing products the route is applicable on
|
||||
|
||||
Routes applied on Product Category
|
||||
----------------------------------
|
||||
|
||||
If you tick **Product Categories**, you have to manually set on which
|
||||
categories it will be applied.
|
||||
Then, you can also choose to apply routes to *product categories*.
|
||||
Just like you did for products, you have to manually set on which
|
||||
categories it must be applied.
|
||||
|
||||
.. image:: media/use_routes07.png
|
||||
.. image:: media/use_routes_06.png
|
||||
:align: center
|
||||
:alt: Applicable routes on product categories
|
||||
|
||||
Open the product on which you want to apply the routes
|
||||
(:menuselection:`Configuration --> Product Categories`).
|
||||
Select the route(s) under the **Logistics** section :
|
||||
To do so, open the product category you want to apply the route to.
|
||||
Then, select the route under the *Logistic* section.
|
||||
|
||||
.. image:: media/use_routes08.png
|
||||
.. image:: media/use_routes_07.png
|
||||
:align: center
|
||||
:alt: Routes registration in the product category logistics field
|
||||
|
||||
Routes applied on Sales Order lines
|
||||
Routes applied on Sales Order Lines
|
||||
-----------------------------------
|
||||
|
||||
If you tick **Sales order lines**, you have to manually set the route
|
||||
every time you make a sale order.
|
||||
You can also apply routes on sales order lines. For that, tick *Sales
|
||||
Order Lines* on your route form.
|
||||
|
||||
.. image:: media/use_routes09.png
|
||||
.. image:: media/use_routes_08.png
|
||||
:align: center
|
||||
:alt: Applicable routes on sales order lines
|
||||
|
||||
In order to make it work, you also have to activate the use of the
|
||||
routes on the sales order.
|
||||
Next, open a sale order. You can now add the *Route* in the view. Once
|
||||
done, you can choose the routes for each of your sales orders’ lines.
|
||||
|
||||
In the Sales application, go to
|
||||
:menuselection:`Configuration --> Settings` and tick
|
||||
**Choose specific routes on sales order lines (advanced)**.
|
||||
|
||||
.. image:: media/use_routes10.png
|
||||
.. image:: media/use_routes_09.png
|
||||
:align: center
|
||||
:alt: Enabling the routes on sales order lines
|
||||
|
||||
You can now choose the routes for each lines of your sales orders:
|
||||
|
||||
.. image:: media/use_routes11.png
|
||||
.. image:: media/use_routes_10.png
|
||||
:align: center
|
||||
:alt: Sales orders showing the routes between the description and quantity
|
||||
|
||||
Procurement and push rules
|
||||
==========================
|
||||
Pull and Push Rules
|
||||
-------------------
|
||||
|
||||
Please refer to the documents:
|
||||
For detailed explanations about *Pull and Push Rules*, please refer to the following
|
||||
documentation: :doc:`pull_push_rules`.
|
||||
|
||||
- :doc:`procurement_rule`
|
||||
Pull Configuration
|
||||
------------------
|
||||
|
||||
- :doc:`push_rule`
|
||||
When making a procurement request, you can force the route you want to
|
||||
use. On the product form, click on *Replenish*. Then, choose the route you
|
||||
want to use.
|
||||
|
||||
Procurement configuration
|
||||
=========================
|
||||
|
||||
When doing a procurement request, you can force the route you want to
|
||||
use. On the product (:menuselection:`Inventory Control --> Products`),
|
||||
click on **Procurement Request**. Choose the route you want to use next to
|
||||
**Preferred Routes**:
|
||||
|
||||
.. image:: media/use_routes12.png
|
||||
.. image:: media/use_routes_11.png
|
||||
:align: center
|
||||
:alt: Product replenishment
|
||||
|
||||
Make-to-Order Route
|
||||
===================
|
||||
.. image:: media/use_routes_12.png
|
||||
:align: center
|
||||
:alt: Replenishment with preferred routes and chosen quantity
|
||||
|
||||
If you work with no stock, or with minimum stock rules, it is better to
|
||||
use the **Make To Order** route. Combine it with the route **Buy** or
|
||||
**Manufacture** and it will trigger automatically the purchase order or
|
||||
the Manufacturing Order when your products are out-of-stock.
|
||||
Replenish on Order (MTO) Route
|
||||
------------------------------
|
||||
|
||||
.. seealso::
|
||||
* :doc:`push_rule`
|
||||
* :doc:`inter_warehouse`
|
||||
* :doc:`cross_dock`
|
||||
If you do not work with stock, it is better to use the *Replenish on Order
|
||||
(MTO)* route. Combined with the *Buy* or *Manufacturing* routes, it
|
||||
automatically triggers the purchase order or manufacturing order
|
||||
when your products are out-of-stock.
|
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 24 KiB |
BIN
inventory/routes/strategies/media/removal_01.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
inventory/routes/strategies/media/removal_02.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
inventory/routes/strategies/media/removal_03.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
inventory/routes/strategies/media/removal_04.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
BIN
inventory/routes/strategies/media/removal_05.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
inventory/routes/strategies/media/removal_06.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
inventory/routes/strategies/media/removal_07.png
Normal file
After Width: | Height: | Size: 8.0 KiB |
BIN
inventory/routes/strategies/media/removal_08.png
Normal file
After Width: | Height: | Size: 14 KiB |
@ -1,192 +1,136 @@
|
||||
==================================================
|
||||
What is a removal strategy (FIFO, LIFO, and FEFO)?
|
||||
What is a Removal Strategy (FIFO, LIFO, and FEFO)?
|
||||
==================================================
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
Removal strategies are usually in picking operations to select the best
|
||||
products in order to optimize the distance for the worker, for quality
|
||||
control purpose or due to reason of product expiration.
|
||||
Removal strategies are a set of rules defined in picking operations that change which products
|
||||
are moved first. A removal strategy can optimize the distance for the worker, for
|
||||
quality control purposes or to first move the products with the closest
|
||||
expiration date.
|
||||
|
||||
When a product movement needs to be done, Odoo will find available
|
||||
products that can be assigned to shipping. The way Odoo assign these
|
||||
products depend on the **removal strategy** that is defined on the **product
|
||||
category** or on the **location**.
|
||||
products that can be assigned to the transfer. The way Odoo assigns
|
||||
these products depends on the *removal strategy* that is defined in
|
||||
the *product category* or on *the location*.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
In the **Inventory** application, go to :menuselection:`Configuration
|
||||
--> Settings`:
|
||||
In order to be able to identify some units from other ones, in Odoo, you
|
||||
need to track them either by lot or by serial number. Go to
|
||||
:menuselection:`Inventory --> Configuration --> Settings`.
|
||||
|
||||
.. image:: media/removal01.png
|
||||
Activate *Storage Locations*, *Multi-Step Routes* and *Lots &
|
||||
Serial Numbers*.
|
||||
|
||||
.. image:: media/removal_01.png
|
||||
:align: center
|
||||
:alt: Enabling lots and serial numbers to use FIFO, LIFO and FEFO strategies
|
||||
|
||||
.. image:: media/removal02.png
|
||||
In case you want to work with FEFO, *Expiration Dates* should also be
|
||||
activated.
|
||||
|
||||
You can then define your removal strategy, either on *Product
|
||||
Categories* via the :menuselection:`Inventory --> Configuration --> Product
|
||||
Categories`, or on *Locations*, in :menuselection:`Inventory -->
|
||||
Configuration --> Locations`.
|
||||
|
||||
.. image:: media/removal_02.png
|
||||
:align: center
|
||||
:alt: Selecting the good removal strategy on the product category form
|
||||
|
||||
Check **Track lots or serial numbers**, **Manage several location per
|
||||
warehouse** and **Advanced routing of products using rules**, then click
|
||||
on **Apply**.
|
||||
|
||||
Then, open :menuselection:`Configuration --> Locations`
|
||||
and open the location on which you want to apply a removal strategy.
|
||||
|
||||
.. image:: media/removal03.png
|
||||
.. image:: media/removal_03.png
|
||||
:align: center
|
||||
:alt: Selecting the removal strategy on the location form
|
||||
|
||||
Types of removal strategy
|
||||
=========================
|
||||
Removal Strategy Types
|
||||
======================
|
||||
|
||||
FIFO ( First In First Out )
|
||||
---------------------------
|
||||
FIFO (First In First Out)
|
||||
-------------------------
|
||||
|
||||
A **First In First Out** strategy implies that the products that were
|
||||
stocked first will move out first. Companies should use FIFO method if
|
||||
they are selling perishable goods. Companies selling products with
|
||||
A First In First Out strategy implies that the products that were
|
||||
stocked first are moved out first. Companies should use the FIFO method
|
||||
if they are selling perishable goods. Companies selling products with
|
||||
relatively short demand cycles, such as clothes, also may have to pick
|
||||
FIFO to ensure they are not stuck with outdated styles in inventory.
|
||||
|
||||
Go to :menuselection:`Inventory --> Configuration --> Locations`,
|
||||
open the stock location and set **FIFO** removal strategy.
|
||||
Go to :menuselection:`Inventory > Configuration > Locations`, open the Stock location and
|
||||
set FIFO as the removal strategy.
|
||||
|
||||
Let's take one example of FIFO removal strategy.
|
||||
In your stock location (WH/Stock), there are 3 lots of Hand Cream
|
||||
available.
|
||||
|
||||
In your warehouse stock (``WH/Stock``) location, there are ``3`` lots of ``iPod
|
||||
32 Gb`` available.
|
||||
|
||||
You can find details of available inventory in inventory valuation
|
||||
report.
|
||||
|
||||
.. image:: media/removal04.png
|
||||
.. image:: media/removal_04.png
|
||||
:align: center
|
||||
:alt: View of stock location with products in it
|
||||
|
||||
Create one sales order ``25`` unit of ``iPod 32 GB`` and confirm it.
|
||||
Create a sales order for 25 units of Hand Cream and validate it. If you
|
||||
go on the delivery order linked to the picking, you can see that the
|
||||
oldest lot numbers have been automatically reserved thanks to the FIFO
|
||||
removal strategy.
|
||||
|
||||
You can see in the outgoing shipment product that the ``Ipod 32
|
||||
Gb`` are assigned with the **oldest** lots, using the FIFO removal
|
||||
strategy.
|
||||
|
||||
.. image:: media/removal05.png
|
||||
.. image:: media/removal_05.png
|
||||
:align: center
|
||||
:alt: View of reserved products to deliver a customer thanks to removal strategies
|
||||
|
||||
LIFO (Last In First Out)
|
||||
------------------------
|
||||
|
||||
In this warehouse management, the products which are brought in the
|
||||
last, moves out the first. LIFO is used in case of products which do not
|
||||
have a shelf life.
|
||||
In LIFO, the products which are brought the last move out the first.
|
||||
LIFO is used when products do not have a shelf life.
|
||||
|
||||
Go to :menuselection:`Inventory --> Configuration --> Locations`,
|
||||
open the stock location and set **LIFO** removal strategy.
|
||||
Go to :menuselection:`Inventory --> Configuration --> Locations`, open the location WH/Stock
|
||||
and set the LIFO removal strategy. With the exact same data in the
|
||||
database, we can now see that on the picking, the lot numbers which are
|
||||
privileged are the ones created the last.
|
||||
|
||||
In our example, let's check the current available stock of ``Ipod 32 Gb``
|
||||
on ``WH/Stock`` location.
|
||||
|
||||
.. image:: media/removal06.png
|
||||
.. image:: media/removal_06.png
|
||||
:align: center
|
||||
:alt: Vie of reserved products thanks to removal strategies
|
||||
|
||||
Create a sale order with ``10`` units of ``Ipod 32 Gb``.
|
||||
|
||||
You can see in the outgoing shipment product that the ``Ipod 32
|
||||
Gb`` are assigned with the **newest** lots, using the LIFO removal
|
||||
strategy.
|
||||
|
||||
.. image:: media/removal07.png
|
||||
:align: center
|
||||
|
||||
FEFO ( First Expiry First Out )
|
||||
--------------------------------
|
||||
FEFO (First Expiry First Out)
|
||||
-----------------------------
|
||||
|
||||
In FEFO warehouse management, the products are dispatched from the
|
||||
warehouse according to their expiration date.
|
||||
|
||||
Go to :menuselection:`Inventory --> Configuration --> Setting`.
|
||||
Check the option **Define Expiration date on serial numbers**.
|
||||
Then click on **Apply** to save changes.
|
||||
In case you want more information about Expiration Dates, please have a
|
||||
look at :doc:`manage expiration dates <../../management/lots_serial_numbers/expiration_dates>` documentation.
|
||||
|
||||
.. image:: media/removal08.png
|
||||
The activation of the *Expiration Dates* functionality allows you to
|
||||
define different dates on the serial/lot numbers, which are used in
|
||||
FEFO. These dates can be set from :menuselection:`Inventory --> Master Data --> Lots/Serial
|
||||
Numbers`.
|
||||
|
||||
.. image:: media/removal_07.png
|
||||
:align: center
|
||||
:alt: View of removal date when using a FEFO strategy
|
||||
|
||||
This will allow you to set four expiration fields for each lot or serial number:
|
||||
**best before date**, **end of life date**, **alert date** and **removal date**.
|
||||
These dates can be set from :menuselection:`Inventory Control --> Serial Numbers/Lots`.
|
||||
Lots are picked based on their removal date, from earliest to
|
||||
latest. Lots without a removal date defined are picked after lots
|
||||
with removal dates.
|
||||
|
||||
.. image:: media/removal09.png
|
||||
:align: center
|
||||
All dates except *removal dates* are for informational and reporting
|
||||
purposes only. Lots that are past any or all of the above expiration
|
||||
dates may still be picked for delivery orders.
|
||||
|
||||
- **Best Before Date**: This is the date on which the goods with this
|
||||
serial/lot number start deteriorating, without being dangerous yet.
|
||||
|
||||
- **End of Life Date:** This is the date on which the goods with this
|
||||
serial/lot number may become dangerous and must not be consumed.
|
||||
|
||||
- **Removal Date:** This is the date on which the goods with this
|
||||
serial/lot number should be removed from the stock. Using the FEFO
|
||||
removal strategy goods are picked for delivery orders using this date.
|
||||
|
||||
- **Alert Date:** This is the date on which an alert should be sent
|
||||
about the goods with this serial/lot number.
|
||||
|
||||
Lots will be picked based on their **removal date**, from earliest
|
||||
to latest. Lots without a removal date defined will be picked after
|
||||
lots with removal dates.
|
||||
|
||||
All dates except **removal date** are for informational and reporting purposes only.
|
||||
Lots that are past any or all of the above expiration dates may still be picked
|
||||
for delivery orders, and no alerts will be sent when lots pass their **alert date**.
|
||||
|
||||
Expiration dates on lots can also be set automatically when goods are received into stock.
|
||||
After enabling expiration dates on serial numbers, four new fields will become available
|
||||
in the inventory tab of the product form: **product life time**, **product use time**,
|
||||
**product removal time**, and **product alert time**. When an integer is entered into one
|
||||
of these fields, the expiration date of a lot/serial of the product in question will be set
|
||||
to the creation date of the lot/serial number plus the number of days entered in the time
|
||||
increment field. If the time increment field is set to zero, then the expiration date of
|
||||
a lot/serial must be defined manually after the lot has been created.
|
||||
|
||||
Each of these time increment fields is used to generate one of the lot expiration date fields as follows:
|
||||
|
||||
Product Use Time --> Best Before Date
|
||||
|
||||
Product Removal Time --> Removal Date
|
||||
|
||||
Product Life Time --> End of Life Date
|
||||
|
||||
Product Alert Time --> Alert Date
|
||||
|
||||
To set the removal strategy on location, go to
|
||||
:menuselection:`Configuration --> Locations` and choose FEFO.
|
||||
|
||||
.. image:: media/removal10.png
|
||||
:align: center
|
||||
|
||||
Let's take an example, there are ``3`` lots of ``ice cream`` available in
|
||||
``WH/Stock`` location: ``LOT0001``, ``LOT0002``, ``LOT0003`` with
|
||||
different expiration date.
|
||||
To set the removal strategy on location, go to :menuselection:`Inventory --> Configuration -->
|
||||
Locations`, open WH/Stock and choose FEFO.
|
||||
|
||||
+-----------------------+---------------+-----------------------+
|
||||
| **Lot / Serial No** | **Product** | **Expiration Date** |
|
||||
+=======================+===============+=======================+
|
||||
| LOT0001 | Ice Cream | 08/20/2015 |
|
||||
| 0000001 | Hand Cream | 09/30/2019 |
|
||||
+-----------------------+---------------+-----------------------+
|
||||
| LOT0002 | Ice Cream | 08/10/2015 |
|
||||
| 0000002 | Hand Cream | 11/30/2019 |
|
||||
+-----------------------+---------------+-----------------------+
|
||||
| LOT0003 | Ice Cream | 08/15/2015 |
|
||||
| 0000003 | Hand Cream | 10/31/2019 |
|
||||
+-----------------------+---------------+-----------------------+
|
||||
|
||||
We will create a sale order with ``15kg`` of ``ice cream`` and confirm it.
|
||||
When we sell for 25 units of Hand Cream, we can see that the
|
||||
lot numbers which have been automatically reserved by Odoo are the ones
|
||||
with the closest expiration date, meaning 0000001 and 0000003.
|
||||
|
||||
The outgoing shipment related to sale order will make the move based on
|
||||
removal strategy **FEFO**.
|
||||
|
||||
It will take ``10kg`` from ``LOT0002`` and ``5kg`` from ``LOT0003`` based on the
|
||||
removal dates.
|
||||
|
||||
.. image:: media/removal11.png
|
||||
.. image:: media/removal_08.png
|
||||
:align: center
|
||||
|
||||
.. seealso::
|
||||
|
||||
* :doc:`../../management/reporting/inventory_valuation_config`
|
||||
:alt: View of which lots are reserved when using a FEFO strategy
|