[ADD] inventory: fefo removal
closes odoo/documentation#7294 Signed-off-by: Felicia Kuan (feku) <feku@odoo.com> Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com> Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com> Co-authored-by: Zachary Straub <zst@odoo.com>
This commit is contained in:
parent
75734d8c6d
commit
8ebfc5cd2a
@ -18,3 +18,4 @@ Advanced operations
|
||||
advanced_operations_warehouse/cluster_picking
|
||||
advanced_operations_warehouse/removal
|
||||
advanced_operations_warehouse/fifo
|
||||
advanced_operations_warehouse/fefo
|
||||
|
@ -0,0 +1,126 @@
|
||||
============
|
||||
FEFO removal
|
||||
============
|
||||
|
||||
The *First Expired, First Out* (FEFO) removal strategy targets products for removal based on their
|
||||
assigned removal dates.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Other removal strategies <removal>`
|
||||
|
||||
.. _inventory/warehouses_storage/removal-date:
|
||||
|
||||
Removal date
|
||||
============
|
||||
|
||||
Products **must** be removed from inventory before their *removal date*, which is set as a certain
|
||||
number of days before the product's *expiration date*.
|
||||
|
||||
The user sets this number of days by navigating to the product form's :guilabel:`Inventory` tab.
|
||||
Under the :guilabel:`Traceability` section, ensure the :guilabel:`Tracking` field is set to either
|
||||
:guilabel:`By Lots` or :guilabel:`By Unique Serial Number`.
|
||||
|
||||
Next, select the :guilabel:`Expiration Date` option, which makes the :guilabel:`Removal Date` field
|
||||
(and other date fields) appear.
|
||||
|
||||
.. important::
|
||||
The :guilabel:`Lots and Serial Numbers` and :guilabel:`Expiration Dates` features **must** be
|
||||
enabled in :menuselection:`Inventory app --> Configuration --> Settings` to track expiration
|
||||
dates.
|
||||
|
||||
The expiration date of a product is determined by adding the date the product was received to the
|
||||
number of days specified in the :guilabel:`Expiration Date` field of the product form.
|
||||
|
||||
The removal date takes this expiration date, and subtracts the number of days specified in the
|
||||
:guilabel:`Removal Date` field of the product form.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Expiration dates <../../product_management/product_tracking/expiration_dates>`
|
||||
|
||||
.. example::
|
||||
In the :guilabel:`Inventory` tab of the product, `Egg`, the following :guilabel:`Dates` are set
|
||||
by the user:
|
||||
|
||||
- :guilabel:`Expiration Date`: `30` days after receipt
|
||||
- :guilabel:`Removal Date`: `15` days before expiration date
|
||||
|
||||
.. image:: fefo/user-set-date.png
|
||||
:align: center
|
||||
:alt: Display expiration and removal dates set on the product form.
|
||||
|
||||
A shipment of Eggs arrive at the warehouse on January 1st. So, the expiration date of the Eggs is
|
||||
**January 31st** (Jan 1st + 30). By extension, the removal date is **January 16th** (Jan 31 -
|
||||
15).
|
||||
|
||||
.. _inventory/warehouses_storage/exp-date:
|
||||
|
||||
To view the expiration dates of items in stock, navigate to the product form, and click the
|
||||
:guilabel:`On Hand` smart button.
|
||||
|
||||
Next, click the additional options icon, located on the far-right, and select the columns:
|
||||
:guilabel:`Expiration Date` and :guilabel:`Removal Date`.
|
||||
|
||||
.. image:: fefo/removal-date.png
|
||||
:align: center
|
||||
:alt: Show expiration dates from the inventory adjustments model accessed from the *On Hand*
|
||||
smart button from the product form.
|
||||
|
||||
Workflow
|
||||
========
|
||||
|
||||
Using the :abbr:`FEFO (First Expired, First Out)` removal strategy ensures that products with the
|
||||
nearest removal date are picked first.
|
||||
|
||||
To understand how this removal strategy works, consider the following example below about the
|
||||
product, `Carton of eggs`, which is a box containing twelve eggs.
|
||||
|
||||
The product is tracked :guilabel:`By Lots`, and the product category's :guilabel:`Force Removal
|
||||
Strategy` is set to :guilabel:`First Expired, First Out (FEFO)`.
|
||||
|
||||
.. seealso::
|
||||
- :ref:`Set up force removal strategy <inventory/warehouses_storage/removal-config>`
|
||||
- :ref:`Enable lots tracking <inventory/warehouses_storage/lots-setup>`
|
||||
- `Odoo Tutorials: Perishable Products <https://www.odoo.com/slides/slide/5324/share>`_
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* -
|
||||
- LOT1
|
||||
- LOT2
|
||||
- LOT3
|
||||
* - On-hand stock
|
||||
- 5
|
||||
- 2
|
||||
- 1
|
||||
* - Expiration date
|
||||
- April 4
|
||||
- April 10
|
||||
- April 15
|
||||
* - :ref:`Removal date <inventory/warehouses_storage/exp-date>`
|
||||
- February 26
|
||||
- March 4
|
||||
- March 9
|
||||
|
||||
To see the removal strategy in action, go to the :menuselection:`Sales app` and create a new
|
||||
quotation.
|
||||
|
||||
Clicking :guilabel:`Confirm` creates a delivery order for today, December 29th, and the lot numbers
|
||||
with the soonest expiration dates are reserved, using the :abbr:`FEFO (First Expired, First Out)`
|
||||
removal strategy.
|
||||
|
||||
To view the detailed pickings, click the :guilabel:`⦙≣ (bulleted list)` icon, located on the
|
||||
far-right of the Carton of egg'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 six Cartons of eggs, using the :abbr:`FEFO (First Expired, First Out)`
|
||||
removal strategy, all five Cartons from `LOT1`, with the removal date of February 26th, are picked.
|
||||
The remaining Carton is selected from `LOT2`, which has a removal date of March 4th.
|
||||
|
||||
.. image:: fefo/eggs-picking.png
|
||||
:align: center
|
||||
:alt: The stock moves window that shows the lots to be removed using FEFO.
|
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
Binary file not shown.
After Width: | Height: | Size: 5.1 KiB |
@ -17,19 +17,19 @@ Odoo automatically select how products are selected for orders:
|
||||
* -
|
||||
- :doc:`FIFO <fifo>`
|
||||
- LIFO
|
||||
- FEFO
|
||||
- :doc:`FEFO <fefo>`
|
||||
- Closest Location
|
||||
- Least Packages
|
||||
* - Based on
|
||||
- :ref:`Incoming date <inventory/warehouses_storage/arrival_date>`
|
||||
- :ref:`Incoming date <inventory/warehouses_storage/arrival_date>`
|
||||
- Removal date
|
||||
- :ref:`Removal date <inventory/warehouses_storage/removal-date>`
|
||||
- Location sequence
|
||||
- Package quantity
|
||||
* - Selection order
|
||||
- First in
|
||||
- Last in
|
||||
- First to expire
|
||||
- :ref:`First to expire <inventory/warehouses_storage/exp-date>`
|
||||
- Alphanumeric name of location
|
||||
- Quantity closest to fulfilling demand
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user