[IMP] Inventory: Updating LIFO removal strategy

Co-authored-by: meval1006 <meval@odoo.com>

Co-authored-by: meval1006 <meval@odoo.com>

Co-authored-by: Felicia Kuan <feku@odoo.com>
This commit is contained in:
erjer-odoo
2025-12-09 11:06:00 -08:00
parent 6874b14169
commit f5e5b4bcd3
8 changed files with 92 additions and 23 deletions

View File

@@ -9,23 +9,85 @@ Every time an order is placed for products using the :abbr:`LIFO (Last In, First
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_strategies>`
.. 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.
.. _inventory/warehouses_storage/lifo_enable:
Enabling the LIFO removal strategy
==================================
Lots and serial numbers differentiate identical products and track information like arrival or
expiration dates. To enable this feature, navigate to :menuselection:`Inventory --> Configuration
--> Settings`. Under the :guilabel:`Traceability` section, check the box beside :guilabel:`Lots &
Serial Numbers` to enable the feature.
.. image:: lifo/enable-lots-serial-numbers.png
:alt: Enable Lots & Serial Numbers in the Inventory settings.
Enable tracking by lots or serial numbers
-----------------------------------------
Next, ensure the intended product is tracked by lots or serial numbers by navigating to the product
form in the :menuselection:`Inventory app --> Products --> Products`, then selecting the desired
product. On the product form, open the :guilabel:`General Information` tab, select the checkbox next
to the :guilabel:`Track Inventory` field, then choose either :guilabel:`By Unique Serial Number` or
:guilabel:`By Lots`.
.. image:: lifo/track-by-serial-number.png
:alt: Enable tracking by serial number.
Assigning lots and serial numbers
---------------------------------
After enabling the features, assign lot or serial numbers to products using an :doc:`inventory
adjustment <../../warehouses_storage/inventory_management/count_products>` or :ref:`during reception
<inventory/product_management/assign-lots>`.
Setting removal strategies
--------------------------
After lots or serial numbers have been assigned, set the removal strategy on the product category or
storage location.
.. image:: lifo/location-categories.png
:alt: Find the Locations or Categories from the Configuration menu.
On the storage location
~~~~~~~~~~~~~~~~~~~~~~~
Open :menuselection:`Inventory app --> Configuration --> Locations`. Select the desired location. On
the location form, under the :guilabel:`Logistics` heading, select :guilabel:`Last In First Out
(LIFO)` from the list of removal strategies.
.. image:: lifo/lifo-on-location.png
:alt: Set Last In First Out as the location removal strategy.
On the product category
~~~~~~~~~~~~~~~~~~~~~~~
Configure removal strategies on product categories by going to :menuselection:`Inventory app -->
Configuration --> Categories` and selecting the intended product category. In the
:guilabel:`Logistics` section, specify :guilabel:`Last In First Out (LIFO)` in the :guilabel:`Force
Removal Strategy` field.
.. image:: lifo/lifo-on-category.png
:alt: Set Last In First Out as the product category removal strategy.
.. important::
When there are different removal strategies applied on both the location and product category for
a product, the value set on the :guilabel:`Force Removal Strategy` field set on a product
category form is applied as top priority.
Workflow
========
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)`.
Lots` in the :guilabel:`General Information` 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.
The following table lists the cinder blocks in stock and their respective lot numbers.
.. list-table::
:header-rows: 1
@@ -45,21 +107,28 @@ The following table represents the cinder blocks in stock, and their various lot
- 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.
for seven cinder blocks by navigating to the **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.
Click :guilabel:`Confirm` on the sales order form to create a delivery order. Doing so reserves the
newest lot numbers 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.
To view the detailed pickings, click the :guilabel:`Details` link at the far-right of the cinder
block's product line in the :guilabel:`Operations` tab of the delivery order.
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/details-link.png
:alt: Find the Details link in the Operations tab of the delivery order.
Clicking the :guilabel:`Details` link opens the :guilabel:`Detailed Operations` pop-up window.
In the :guilabel:`Detailed Operations` pop-up window, the :guilabel:`Pick From` field shows where
the quantities to fulfill the :guilabel:`Demand` are picked. 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.
.. seealso::
- :doc:`Removal strategies <../removal_strategies>`
- :ref:`Enable lots tracking <inventory/warehouses_storage/lots-setup>`
- :ref:`Check arrival date <inventory/warehouses_storage/arrival_date>`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB