[ADD] inventory: lifo removal strategy

closes odoo/documentation#7373

X-original-commit: fd598899c2
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
This commit is contained in:
Felicious 2024-01-05 17:40:38 +00:00
parent baab56946f
commit 6ec9eb1fcc
5 changed files with 70 additions and 4 deletions

View File

@ -18,5 +18,6 @@ Advanced operations
advanced_operations_warehouse/cluster_picking advanced_operations_warehouse/cluster_picking
advanced_operations_warehouse/removal advanced_operations_warehouse/removal
advanced_operations_warehouse/fifo advanced_operations_warehouse/fifo
advanced_operations_warehouse/lifo
advanced_operations_warehouse/fefo advanced_operations_warehouse/fefo
advanced_operations_warehouse/closest_location advanced_operations_warehouse/closest_location

View File

@ -9,7 +9,7 @@ The goal of this strategy is to save the warehouse worker from taking a long jou
shelf when the product is also available at a closer location. shelf when the product is also available at a closer location.
.. seealso:: .. seealso::
:doc:`Other removal strategies <removal>` :doc:`About removal strategies <removal>`
.. _inventory/warehouses_storage/sequence: .. _inventory/warehouses_storage/sequence:

View File

@ -0,0 +1,65 @@
============
LIFO removal
============
The *Last In, First Out* (LIFO) removal strategy picks the **newest** products on-hand, based on the
date they entered a warehouse's stock.
Every time an order is placed for products using the :abbr:`LIFO (Last In, First Out)` strategy, a
transfer is created for the lot/serial number that has most recently entered the stock (the **last**
lot/serial number that entered the warehouse's inventory).
.. seealso::
:doc:`About removal strategies <removal>`
.. warning::
In many countries, the :abbr:`LIFO (Last In, First Out)` removal strategy is banned, since it can
potentially result in old, expired, or obsolete products being delivered to customers.
Consider the following example, with the product, `Cinder Block`, which is tracked :guilabel:`By
Lots` in the :guilabel:`Inventory` tab of the product form. The :guilabel:`Force Removal Strategy`
for the cinder block's product category is set to :guilabel:`Last In, First Out (LIFO)`.
.. seealso::
- :ref:`Set up force removal strategy <inventory/warehouses_storage/removal-config>`
- :ref:`Enable lots tracking <inventory/warehouses_storage/lots-setup>`
- :ref:`Check arrival date <inventory/warehouses_storage/arrival_date>`
The following table represents the cinder blocks in stock, and their various lot number details.
.. list-table::
:header-rows: 1
:stub-columns: 1
* -
- LOT1
- LOT2
- LOT3
* - On-hand stock
- 10
- 10
- 10
* - :ref:`Created on <inventory/warehouses_storage/arrival_date>`
- June 1
- June 3
- June 6
To see the removal strategy in action, create a :ref:`delivery order <inventory/delivery/one-step>`
for seven cinder blocks by navigating to the :menuselection:`Sales app` and creating a new
quotation.
:guilabel:`Confirm` the sales order to create a delivery order. Doing so reserves the newest lot
numbers are using the :abbr:`LIFO (Last In, First Out)` removal strategy.
To view the detailed pickings, click the :guilabel:`⦙≣ (bulleted list)` icon, located on the
far-right of the cinder block's product line in the :guilabel:`Operations` tab of the delivery
order. Doing so opens the :guilabel:`Open: Stock move` pop-up window.
In the :guilabel:`Open: Stock move` pop-up window, the :guilabel:`Pick from` field displays where
the quantities to fulfill the :guilabel:`Demand` are picked from. Since the order demanded seven
cinder blocks, the newest cinder blocks from `LOT3` are selected, using the :abbr:`LIFO (Last In,
First Out)` removal strategy.
.. image:: lifo/cinder-block-picking.png
:align: center
:alt: The detailed operations shows which lots are being selected for the picking.

View File

@ -16,7 +16,7 @@ Odoo automatically select how products are selected for orders:
* - * -
- :doc:`FIFO <fifo>` - :doc:`FIFO <fifo>`
- LIFO - :doc:`LIFO <lifo>`
- :doc:`FEFO <fefo>` - :doc:`FEFO <fefo>`
- :doc:`Closest Location <closest_location>` - :doc:`Closest Location <closest_location>`
- Least Packages - Least Packages
@ -24,13 +24,13 @@ Odoo automatically select how products are selected for orders:
- :ref:`Incoming date <inventory/warehouses_storage/arrival_date>` - :ref:`Incoming date <inventory/warehouses_storage/arrival_date>`
- :ref:`Incoming date <inventory/warehouses_storage/arrival_date>` - :ref:`Incoming date <inventory/warehouses_storage/arrival_date>`
- :ref:`Removal date <inventory/warehouses_storage/removal-date>` - :ref:`Removal date <inventory/warehouses_storage/removal-date>`
- :ref:`Location sequence <inventory/warehouses_storage/sequence>` - Location sequence
- Package quantity - Package quantity
* - Selection order * - Selection order
- First in - First in
- Last in - Last in
- :ref:`First to expire <inventory/warehouses_storage/exp-date>` - :ref:`First to expire <inventory/warehouses_storage/exp-date>`
- :ref:`Alphanumeric name of location <inventory/warehouses_storage/location-name>` - Alphanumeric name of location
- Quantity closest to fulfilling demand - Quantity closest to fulfilling demand
For comprehensive examples for how to use each removal strategy, refer to each individual For comprehensive examples for how to use each removal strategy, refer to each individual