[IMP] inventory: fix and update lots
closes odoo/documentation#4523
X-original-commit: 5bc3b94b61
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
@ -1,137 +1,282 @@
|
||||
=================================
|
||||
Manage lots of identical products
|
||||
=================================
|
||||
=====================================
|
||||
Use lots to manage groups of products
|
||||
=====================================
|
||||
|
||||
Lots are useful for products you receive in great quantity and for which
|
||||
a lot number can help in reporting, quality controls, or any other info.
|
||||
Lots will help identify a number of pieces having, for instance, a
|
||||
production fault. It can be useful for a batch production of clothes or
|
||||
food.
|
||||
*Lots* are one of the two ways to identify and track products in Odoo. A lot usually indicates a
|
||||
specific batch of an item that was received, is currently stored, or was shipped from a warehouse,
|
||||
but can also pertain to a batch of products manufactured in-house, as well.
|
||||
|
||||
Odoo has the capacity to manage lots, ensuring compliance with the
|
||||
traceability requirements imposed by the majority of industries.
|
||||
Manufacturers assign lot numbers to groups of products that have common properties; this can lead to
|
||||
multiple goods sharing the same lot number. This helps to identify a number of products in a single
|
||||
group, and allows for end-to-end traceability of these products through each step in their
|
||||
lifecycles.
|
||||
|
||||
The double-entry management in Odoo enables you to run very advanced
|
||||
traceability.
|
||||
Lots are useful for products that are manufactured or received in large quantities (such as clothes
|
||||
or food), and can be used to trace a product back to a group. This is especially useful when
|
||||
managing product recalls or expiration dates.
|
||||
|
||||
Setting Up
|
||||
==========
|
||||
.. seealso::
|
||||
:doc:`/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers`
|
||||
|
||||
Application Configuration
|
||||
-------------------------
|
||||
Enable lots & serial numbers
|
||||
============================
|
||||
|
||||
First, you need to activate the tracking of lot numbers. To do so, go to
|
||||
:menuselection:`Inventory --> Configuration --> Settings` and tick *Lots & Serial
|
||||
Numbers*. Then, click on save.
|
||||
To track products using lots, the *Lots & Serial Numbers* feature must be enabled. Go to
|
||||
the :menuselection:`Inventory app --> Configuration --> Settings`, scroll down to the
|
||||
:guilabel:`Traceability` section, and click the box next to :guilabel:`Lots & Serial Numbers`. Then,
|
||||
click the :guilabel:`Save` button to save changes.
|
||||
|
||||
.. image:: lots/lots_01.png
|
||||
:align: center
|
||||
.. image:: lots/lots-enabled-lots-setting.png
|
||||
:align: center
|
||||
:alt: Enabled lots and serial numbers feature in inventory settings.
|
||||
|
||||
Product Configuration
|
||||
---------------------
|
||||
Track products by lots
|
||||
======================
|
||||
|
||||
Now, you have to configure which products you want to track by serial
|
||||
numbers.
|
||||
Once the :guilabel:`Lots & Serial Numbers` setting has been activated, individual products can now
|
||||
be configured to be tracked using lots. To do this, go to the :menuselection:`Inventory app -->
|
||||
Products --> Products`, and choose a product.
|
||||
|
||||
Go to :menuselection:`Master Data --> Products` and open the product of your choice.
|
||||
There, click on *Edit* and select *Tracking by Lots* in the
|
||||
inventory tab.
|
||||
Once on the product form, click :guilabel:`Edit` to make changes to the form. Then, click the
|
||||
:guilabel:`Inventory` tab. In the :guilabel:`Traceability` section, click :guilabel:`By Lots`. Then,
|
||||
click :guilabel:`Save` to save changes. Existing or new lot numbers can now be assigned to
|
||||
newly-received or manufactured batches of this product.
|
||||
|
||||
.. image:: lots/lots_02.png
|
||||
:align: center
|
||||
.. important::
|
||||
If a product has stock on-hand prior to activating tracking by lots or serial numbers, an
|
||||
inventory adjustment might need to be performed to assign lot numbers to the existing stock.
|
||||
|
||||
.. image:: lots/lots_03.png
|
||||
:align: center
|
||||
.. image:: lots/lots-tracking-product-form.png
|
||||
:align: center
|
||||
:alt: Enabled tracking by lots feature on product form.
|
||||
|
||||
Manage Lots
|
||||
===========
|
||||
Create new lots for products already in stock
|
||||
---------------------------------------------
|
||||
|
||||
Receipts
|
||||
--------
|
||||
New lots can be created for products already in stock with no assigned lot number. To do this, go to
|
||||
the :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`, and click
|
||||
:guilabel:`Create`. Doing so reveals a separate page where a new :guilabel:`Lot/Serial Number` is
|
||||
generated automatically.
|
||||
|
||||
In order to receive a product tracked by lots, you have to specify its
|
||||
lot numbers. You have several ways of doing so:
|
||||
.. tip::
|
||||
While Odoo automatically generates a new :guilabel:`Lot/Serial Number` to follow the most recent
|
||||
number, it can be edited and changed to any desired number, by clicking the line under the
|
||||
:guilabel:`Lot/Serial Number` field, and changing the generated number.
|
||||
|
||||
1. Manually assign the different lot numbers
|
||||
Once the new :guilabel:`Lot/Serial Number` is generated, click the blank field next to
|
||||
:guilabel:`Product` to reveal a drop-down menu. From this menu, select the product to which this new
|
||||
number will be assigned.
|
||||
|
||||
2. Copy/paste lot numbers from an Excel file
|
||||
This form also provides the option to adjust the :guilabel:`Quantity`, assign a unique
|
||||
:guilabel:`Internal Reference` number (for traceability purposes), and assign this specific lot or
|
||||
serial number configuration to a specific website in the :guilabel:`Website` field (if working in a
|
||||
multi-website environment).
|
||||
|
||||
First, you need to open the detailed operations of your picking.
|
||||
A detailed description of this specific lot or serial number can also be added in the
|
||||
:guilabel:`Description` tab below.
|
||||
|
||||
.. image:: lots/lots_04.png
|
||||
:align: center
|
||||
When all desired configurations are complete, click the :guilabel:`Save` button to save all changes.
|
||||
|
||||
Manually assign the different lot numbers
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.. image:: lots/lots-new-lot-number.png
|
||||
:align: center
|
||||
:alt: New lot number creation form with assigned product.
|
||||
|
||||
When opening the detailed operations, you can click on *Add a line*.
|
||||
Then, you will be able to fill the lot number in. Once done, you can
|
||||
click on *Add a line* again to register a new lot number.
|
||||
After a new lot number has been created, saved, and assigned to the desired product, navigate back
|
||||
to the product form in the :menuselection:`Inventory` app, by going to :menuselection:`Products -->
|
||||
Products`, and selecting the product to which this newly-created lot number was just assigned.
|
||||
|
||||
.. image:: lots/lots_05.png
|
||||
:align: center
|
||||
On that product's detail form, click the :guilabel:`Lot/Serial Numbers` smart button to view the new
|
||||
lot number. When additional quantity of this product is received or manufactured, this new lot
|
||||
number can be selected and assigned to it.
|
||||
|
||||
Copy/paste lot number from an Excel file
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Manage lots for shipping and receiving
|
||||
======================================
|
||||
|
||||
Once the spreadsheet containing the lot numbers you received from your
|
||||
supplier and copy the list. Then, you can paste them in the *Lot/Serial
|
||||
Number Name* column for Odoo to automatically create the necessary
|
||||
lines. After that, you will have to manually enter the number of
|
||||
products that are contained in each one of the lots.
|
||||
Lot numbers can be assigned for both **incoming** and **outgoing** goods. For incoming goods, lot
|
||||
numbers are assigned directly on the purchase order form. For outgoing goods, lot numbers are
|
||||
assigned directly on the sales order form.
|
||||
|
||||
.. image:: lots/lots_06.png
|
||||
:align: center
|
||||
Manage lots on receipts
|
||||
-----------------------
|
||||
|
||||
.. image:: lots/lots_05.png
|
||||
:align: center
|
||||
Assigning lot numbers to **incoming** goods can be done directly from the purchase order (PO).
|
||||
|
||||
.. image:: lots/lots_07.png
|
||||
:align: center
|
||||
To create a :abbr:`PO (purchase order)`, go to :menuselection:`Purchase app --> Create`. Doing so
|
||||
reveals a new, blank request for quotation (RFQ) form.
|
||||
|
||||
Operation Types
|
||||
---------------
|
||||
On this :abbr:`RFQ (request for quotation)`, fill out the necessary information by adding a
|
||||
:guilabel:`Vendor`, and adding the desired products to the :guilabel:`Product` lines, by clicking
|
||||
:guilabel:`Add a product` (under the :guilabel:`Products` tab).
|
||||
|
||||
Of course, you also have the possibility to define how you will manage
|
||||
lots for each operation type. To do so, open the *Inventory* app and
|
||||
go to :menuselection:`Configuration --> Operation Types`.
|
||||
Choose the desired quantity of the product to order by changing the number in the
|
||||
:guilabel:`Quantity` column.
|
||||
|
||||
For each type (receipts, internal transfers, deliveries, …), you can
|
||||
decide if you allow to create new lot numbers or only use existing ones.
|
||||
By default, the creation of new lots is only allowed at product
|
||||
reception, and using existing lot numbers isn’t allowed in this
|
||||
operation. If you have inter-warehouse transfers and track products by
|
||||
lots, it can be useful to allow using existing lot numbers in receipts
|
||||
too.
|
||||
Once the :abbr:`RFQ (request for quotation)` has been filled out, click :guilabel:`Confirm Order`.
|
||||
When the :abbr:`RFQ (request for quotation)` is confirmed, it becomes a :guilabel:`Purchase Order`,
|
||||
and a :guilabel:`Receipt` smart button appears. Click the :guilabel:`Receipt` smart button to be
|
||||
taken to the warehouse receipt form.
|
||||
|
||||
.. image:: lots/lots_08.png
|
||||
:align: center
|
||||
.. note::
|
||||
Clicking :guilabel:`Validate` before assigning a lot number to the ordered product quantities
|
||||
will result in a :guilabel:`User Error` pop-up. The pop-up requires entry of a lot or serial
|
||||
number for the ordered products. The :abbr:`RFQ (request for quotation)` **cannot** be validated
|
||||
without a lot number being assigned.
|
||||
|
||||
.. image:: lots/lots-user-error-popup.png
|
||||
:align: center
|
||||
:alt: Add lot/serial number user error popup.
|
||||
|
||||
From here, click the :guilabel:`Additional Options` menu, represented by a :guilabel:`hamburger
|
||||
(four horizontal lines)` icon, located to the right of the :guilabel:`Unit of Measure` column in the
|
||||
:guilabel:`Operations` tab). Clicking that icon reveals a :guilabel:`Detailed Operations` pop-up.
|
||||
|
||||
In this pop-up, configure a number of different fields, including the assignation of a lot number,
|
||||
under the :guilabel:`Lot/Serial Number Name` column, located at the bottom of the pop-up.
|
||||
|
||||
There are two ways to assign lot numbers: **manually** and **copy/paste**.
|
||||
|
||||
- **Manually assign lot numbers**: Click :guilabel:`Add a line` and choose the location the products
|
||||
will be stored in under the :guilabel:`To` column. Then, type a new :guilabel:`Lot Number Name`
|
||||
and set the :guilabel:`Done` quantity.
|
||||
|
||||
.. image:: lots/lots-assign-lot-number-popup.png
|
||||
:align: center
|
||||
:alt: Assign lot number detailed operations popup.
|
||||
|
||||
.. note::
|
||||
If quantities should be processed in multiple locations and lots, click :guilabel:`Add a line`
|
||||
and type a new :guilabel:`Lot Number Name` for additional quantities. Repeat until the
|
||||
:guilabel:`Quantity Done` matches the :guilabel:`Demand`.
|
||||
|
||||
- **Copy/paste lot numbers from a spreadsheet**: Populate a spreadsheet with all of the lot numbers
|
||||
received from the supplier (or manually chosen to assign upon receipt). Then, copy and paste them
|
||||
in the :guilabel:`Lot/Serial Number Name` column. Odoo will automatically create the necessary
|
||||
number of lines based on the amount of numbers pasted in the column. From here, the :guilabel:`To`
|
||||
locations and :guilabel:`Done` quantities can be manually entered in each of the lot number lines.
|
||||
|
||||
.. image:: lots/lots-excel-spreadsheet.png
|
||||
:align: center
|
||||
:alt: List of lot numbers copied on excel spreadsheet.
|
||||
|
||||
Once all product quantities have been assigned a lot number, click :guilabel:`Confirm` to close the
|
||||
pop-up. Then, click :guilabel:`Validate`.
|
||||
|
||||
A :guilabel:`Traceability` smart button appears upon validating the receipt. Click the
|
||||
:guilabel:`Traceability` smart button to see the updated :guilabel:`Traceability Report`, which
|
||||
includes: a :guilabel:`Reference` document, the :guilabel:`Product` being traced, the
|
||||
:guilabel:`Lot/Serial #` assigned, and more.
|
||||
|
||||
Manage lots on delivery orders
|
||||
------------------------------
|
||||
|
||||
Assigning lot numbers to **outgoing** goods can be done directly from the sales order (SO).
|
||||
|
||||
To create an :abbr:`SO (sales order)`, go to the :menuselection:`Sales app --> Create`. Doing so
|
||||
reveals a new, blank quotation form.
|
||||
|
||||
On this blank quotation form, fill out the necessary information by adding a :guilabel:`Customer`,
|
||||
and adding products to the :guilabel:`Product` lines (in the :guilabel:`Order Lines` tab) by
|
||||
clicking :guilabel:`Add a product`.
|
||||
|
||||
Then, choose the desired quantity to sell by changing the number in the :guilabel:`Quantity` column.
|
||||
|
||||
Once the quotation has been filled out, click the :guilabel:`Confirm` button to confirm the
|
||||
quotation. When the quotation is confirmed, it becomes an :abbr:`SO (sales order)`, and a
|
||||
:guilabel:`Delivery` smart button appears.
|
||||
|
||||
Click the :guilabel:`Delivery` smart button to view the warehouse receipt form for that specific
|
||||
:abbr:`SO (sales order)`.
|
||||
|
||||
From here, click the :guilabel:`Additional Options` menu, represented by a `hamburger` icon (four
|
||||
horizontal lines, located to the right of the :guilabel:`Unit of Measure` column in the
|
||||
:guilabel:`Operations` tab). Clicking that icon reveals a :guilabel:`Detailed Operations` pop-up.
|
||||
|
||||
In the pop-up, a :guilabel:`Lot/Serial Number` will be chosen by default, with the full
|
||||
:guilabel:`Reserved` quantity taken from that specific lot (if there is enough stock in that
|
||||
particular lot).
|
||||
|
||||
If there is insufficient stock in that lot, or if partial quantities of the :guilabel:`Demand`
|
||||
should be taken from multiple lots, change the quantity in the :guilabel:`Done` column to only
|
||||
include that specific part of the total quantity.
|
||||
|
||||
.. note::
|
||||
The lot automatically chosen for delivery orders varies, depending on the selected removal
|
||||
strategy (:abbr:`FIFO (First In, First Out)`, :abbr:`LIFO (Last In, First Out)`, or :abbr:`FEFO
|
||||
(First Expiry, First Out)`). It will also depend on the quantity ordered, and if there is enough
|
||||
quantity in one lot to fulfill the order.
|
||||
|
||||
.. seealso::
|
||||
:doc:`/applications/inventory_and_mrp/inventory/routes/strategies/removal`
|
||||
|
||||
Then, click :guilabel:`Add a line`, select an additional (different) :guilabel:`Lot/Serial Number`,
|
||||
apply the rest of the :guilabel:`Done` quantities, and click :guilabel:`Confirm` to close the
|
||||
pop-up. Lastly, click the :guilabel:`Validate` button to deliver the products.
|
||||
|
||||
.. image:: lots/lots-detailed-operations-popup.png
|
||||
:align: center
|
||||
:alt: Detailed operations popup for source lot number on sales order.
|
||||
|
||||
Upon validating the delivery order, a :guilabel:`Traceability` smart button appears. Click the
|
||||
:guilabel:`Traceability` smart button to see the updated :guilabel:`Traceability Report`, which
|
||||
includes a :guilabel:`Reference` document, the :guilabel:`Product` being traced, the
|
||||
:guilabel:`Date`, and the :guilabel:`Lot/Serial #` assigned.
|
||||
|
||||
The :guilabel:`Traceability Report` can also include a :guilabel:`Reference` receipt from the
|
||||
previous purchase order, if the product quantities shared the same lot number.
|
||||
|
||||
Manage lots for different operations types
|
||||
==========================================
|
||||
|
||||
In Odoo, the creation of new lots is only allowed upon **receiving** products from a purchase order,
|
||||
by default. **Existing** lot numbers cannot be used.
|
||||
|
||||
For sales orders, the opposite is true: new lot numbers cannot be created on the delivery order,
|
||||
only existing lot numbers can be used.
|
||||
|
||||
To change the ability to use new (or existing) lot numbers on any operation type, go to the
|
||||
:menuselection:`Inventory app --> Configuration --> Operations Types`, and select the desired
|
||||
:guilabel:`Operation Type`.
|
||||
|
||||
For :guilabel:`Receipts`, found on the :menuselection:`Operations Types` page, the :guilabel:`Use
|
||||
Existing Lots/Serial Numbers` option can be enabled, by clicking :guilabel:`Edit`, and then clicking
|
||||
the checkbox beside the :guilabel:`Use Existing Lots/Serial Numbers` option (in the
|
||||
:guilabel:`Traceability` section). Lastly, click the :guilabel:`Save` button to save the changes.
|
||||
|
||||
For :guilabel:`Delivery Orders`, the :guilabel:`Create New Lots/Serial Numbers` option can be
|
||||
enabled, by clicking :guilabel:`Edit`, and clicking the checkbox beside the :guilabel:`Create New
|
||||
Lots/Serial Numbers` option. Be sure to click the :guilabel:`Save` button to save all changes.
|
||||
|
||||
.. image:: lots/lots-operations-type-form.png
|
||||
:align: center
|
||||
:alt: Enabled traceability setting on operations type form.
|
||||
|
||||
.. tip::
|
||||
For inter-warehouse transfers involving products tracked by lots, it can be useful to enable the
|
||||
:guilabel:`Use Existing Lots/Serial Numbers` option for warehouse receipts.
|
||||
|
||||
Lots traceability
|
||||
=================
|
||||
|
||||
The lot number given to the products allows you to keep track of where
|
||||
they were received, put in stock, to whom they were sold and where they
|
||||
were shipped to.
|
||||
Manufacturers and companies can refer to traceability reports to see the entire lifecycle of a
|
||||
product: where (and when) it came from, where it was stored, and who (and when) it went to.
|
||||
|
||||
To track an item, open the *Inventory* module and, in :menuselection:`Master Data -->
|
||||
Lots/Serial Numbers`, click on the lot number corresponding to your
|
||||
search.
|
||||
To see the full traceability of a product, or group by lots, go to the :menuselection:`Inventory app
|
||||
--> Products --> Lots/Serial Numbers`. Doing so reveals the :menuselection:`Lots/Serial Numbers`
|
||||
dashboard.
|
||||
|
||||
.. image:: lots/lots_09.png
|
||||
:align: center
|
||||
From here, products with lot numbers assigned to them will be listed by default, and can be expanded
|
||||
to show the lot numbers those products have assigned to them.
|
||||
|
||||
When you open the *Traceability* information, you see in which
|
||||
documents the lot number has been used.
|
||||
To group by lots (or serial numbers), begin by removing any filters in the search bar. Then, click
|
||||
the :guilabel:`Group By` drop-down, select :guilabel:`Add Custom Group`, and select
|
||||
:guilabel:`Lot/Serial Number` from the drop-down menu. Then, click :guilabel:`Apply`.
|
||||
|
||||
.. image:: lots/lots_10.png
|
||||
:align: center
|
||||
Doing so displays all existing lots and serial numbers, and can be expanded to show all quantities
|
||||
of products with that assigned number.
|
||||
|
||||
Now, if you want to locate the lot number, you can do so by clicking on
|
||||
the *Location* stat button.
|
||||
.. image:: lots/lots-traceability-report.png
|
||||
:align: center
|
||||
:alt: Lots and serial numbers traceability report.
|
||||
|
||||
.. image:: lots/lots_11.png
|
||||
:align: center
|
||||
|
||||
.. image:: lots/lots_12.png
|
||||
:align: center
|
||||
.. seealso::
|
||||
:doc:`/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences`
|
||||
|
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 8.2 KiB |
Before Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 8.4 KiB |
Before Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 11 KiB |