Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,133 @@ 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.

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)`.
.. _inventory/warehouses_storage/lifo_enable:

.. 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>`
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 through :menuselection:`Inventory --> Products --> Products` and selecting the desired product.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
form through :menuselection:`Inventory --> Products --> Products` and selecting the desired product.
form in the :menuselection:`Inventory app --> Products --> Products` , then selecting the desired product.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The style convention is to include 'app' in the menuselection code.

On the product form, open the :guilabel:`General Information` tab and select the check box next to
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
On the product form, open the :guilabel:`General Information` tab and select the check box next to
On the product form, open the :guilabel:`General Information` tab, select the checkbox next to

the :guilabel:`Track Inventory` field, then select either :guilabel:`By Unique Serial Number` or
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
the :guilabel:`Track Inventory` field, then select either :guilabel:`By Unique Serial Number` or
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 inventory adjustment
or during reception.

By inventory adjustment
~~~~~~~~~~~~~~~~~~~~~~~

Open the :guilabel:`Physical Inventory` page by clicking :menuselection:`Inventory app -->
Operations --> Adjustments --> Physical Inventory`.

To change an existing lot or serial number, click the lot or serial number for the product. On the
:guilabel:`Lot/Serial Number` form, adjust the lot or serial number.

To create a new lot or serial number, on the :guilabel:`Physical Inventory` page, click
:guilabel:`New`. Specify the :guilabel:`Product` and :guilabel:`Lot/Serial Number`. Specify the
:guilabel:`Counted Quantity`. Click :guilabel:`Save`. At this stage, the count (inventory
adjustment) is recorded, but not yet applied. This means that the quantity on hand before the
adjustment has not yet been updated to match the new, real counted quantity. Click the
:guilabel:`Apply` button at the far right side of the page.
Comment on lines +56 to +61
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To create a new lot or serial number, on the :guilabel:`Physical Inventory` page, click
:guilabel:`New`. Specify the :guilabel:`Product` and :guilabel:`Lot/Serial Number`. Specify the
:guilabel:`Counted Quantity`. Click :guilabel:`Save`. At this stage, the count (inventory
adjustment) is recorded, but not yet applied. This means that the quantity on hand before the
adjustment has not yet been updated to match the new, real counted quantity. Click the
:guilabel:`Apply` button at the far right side of the page.
To create a new lot or serial number on the :guilabel:`Physical Inventory` page, click
:guilabel:`New`. Enter the :guilabel:`Product`, :guilabel:`Lot/Serial Number`, and
:guilabel:`Counted Quantity`, then click :guilabel:`Save`.
The count (inventory adjustment) is recorded but not yet applied, so the quantity on hand remains
unchanged. To update it, click the :guilabel:`Apply` button at the far right.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Erin, I revised this paragraph to flow better. Feel free to edit or change the suggestion.


.. image:: lifo/assign-lot-inventory-adjustment.png
:alt: Add a lot or serial number via inventory adjustment.

During receipt
~~~~~~~~~~~~~~

To begin, go to the **Purchase** app to create and confirm a PO for products tracked by lot numbers.
Then, click the :guilabel:`Receipt` smart button that appears at the top of the page to navigate to
the warehouse receipt form. Alternatively, navigate to an existing receipt by going to the
**Inventory** app, clicking the :guilabel:`Receipts` Kanban card, and choosing the desired receipt.

.. important::
Clicking :guilabel:`Validate` before assigning a lot number triggers an error, indicating that a
lot number must be assigned before validating the receipt.

.. image:: lifo/user-error1.png
:alt: Add lot/serial number user error popup.

On the receipt form, on the product line in the :guilabel:`Operations` tab, select the
:guilabel:`Details` link to the right of the product that is tracked by lot or serial number.

.. image:: lifo/details-link-receipt.png
:alt: Find the Details link on the right side of the product line in the Operations tab.

The :guilabel:`Detailed Operations` window opens, where you can assign the :guilabel:`Lot/Serial
Number` and :guilabel:`Quantity`.

To manually assign lot numbers, click :guilabel:`Add a line`. Input the :guilabel:`Lot/Serial
Number`, :guilabel:`Store To` location for the lot, :guilabel:`Quantity`, and
:guilabel:`Destination Package`, if any.

.. note::
To assign multiple lot numbers, or store to multiple locations, click :guilabel:`Add a line`, and
type a new :guilabel:`Lot/Serial Number` for additional quantities. Repeat until the total in the
:guilabel:`Quantity` column matches the :guilabel:`Demand` at the top.

Setting removal strategies
--------------------------

After lot 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 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. Next, in the
:guilabel:`Force Removal Strategy` field, specify :guilabel:`Last In First Out (LIFO)`.

.. 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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
When there are different removal strategies applied on both the location and product category for
When there are different removal strategies applied to both the :guilabel: `Location` and :guilabel:`Product Category` for

Is 'location' and 'product category' field references? If so, I recommend adding a GUI label.

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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This whole section can be used in an Example callout; you could even remove the workflow header.

Suggested change
Consider the following example, with the product, `Cinder Block`, which is tracked :guilabel:`By
Consider the following example, with the product, `Cinder Block`, which is tracked with the :guilabel:`By

Lots` in the :guilabel:`General Information` tab of the product form. The :guilabel:`Force Removal
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Lots` in the :guilabel:`General Information` tab of the product form. The :guilabel:`Force Removal
Lots` field 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)`.

The following table represents the cinder blocks in stock, and their various lot number details.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.


Expand All @@ -49,17 +161,25 @@ for seven cinder blocks by navigating to the :menuselection:`Sales app` and crea
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.
numbers using the :abbr:`LIFO (Last In, First Out)` removal strategy.

To view the detailed pickings, click the :guilabel:`Details` link, located on the far-right of the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To view the detailed pickings, click the :guilabel:`Details` link, located on the far-right of the
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.

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.
.. image:: lifo/details-link.png
:alt: Find the Details link in the Operations tab of the delivery order.

In the :guilabel:`Open: Stock move` pop-up window, the :guilabel:`Pick from` field displays where
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 displays where
the quantities to fulfill the :guilabel:`Demand` are picked from. Since the order demanded seven
Comment on lines +174 to 175
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Optional

Suggested change
In the :guilabel:`Detailed Operations` 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
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,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
cinder blocks, the newest cinder blocks from `LOT3` are selected, using the :abbr:`LIFO (Last In,
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>`
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.