[ADD] inventory: storage categories

closes odoo/documentation#10437

X-original-commit: d362d4ebdb
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: pabr-odoo <pabr@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
This commit is contained in:
Felicious 2024-05-29 00:31:35 +00:00
parent 632f7c65ce
commit d9fc72e1dd
9 changed files with 181 additions and 85 deletions

View File

@ -13,4 +13,5 @@ Advanced operations
advanced_operations_warehouse/cross_dock
advanced_operations_warehouse/stock_warehouses
advanced_operations_warehouse/putaway
advanced_operations_warehouse/storage_category
advanced_operations_warehouse/cluster_picking

View File

@ -93,85 +93,3 @@ match is found:
:align: center
:alt: Some examples of putaway rules.
.. _inventory/warehouses_storage/storage-category:
Storage categories
==================
A *storage category* is an extra location attribute. Storage categories allow the user to define
the quantity of products that can be stored in the location, and how the location will be selected
with putaway rules.
Configuration
-------------
To enable storage categories, go to :menuselection:`Inventory app --> Configuration --> Settings`,
and activate the :guilabel:`Storage Categories` feature in the :guilabel:`Warehouse` section. Then,
click :guilabel:`Save`.
.. important::
The :guilabel:`Storage Locations` feature **must** be enabled to enable :guilabel:`Storage
Categories`.
Define storage category
-----------------------
To create a storage category, go to :menuselection:`Inventory app --> Configuration --> Storage
Categories` and click :guilabel:`Create`.
On the storage category form, type a name for the :guilabel:`Storage Category` field.
Options are available to limit the capacity by weight, by product, or by package type. The
:guilabel:`Allow New Product` field defines when the location is considered available to store a
product:
- :guilabel:`If location is empty`: a product can be added there only if the location is empty.
- :guilabel:`If products are the same`: a product can be added there only if the same product is
already there.
- :guilabel:`Allow mixed products`: several different products can be stored in this location at
the same time.
.. example::
Create putaway rules for pallet-stored items and ensure real-time storage capacity checks by
creating the `High Frequency pallets` storage category.
Name the :guilabel:`Storage Category`, and select :guilabel:`If all products are same` in the
:guilabel:`Allow New Product` field.
Then, define package capacity in the :guilabel:`Capacity by Package` tab, specifying the number
of packages for the designated :guilabel:`Package Type` and setting a maximum of `2.00` `Pallets`
for a specific location.
.. image:: putaway/storage-category.png
:align: center
:alt: Create a storage category on the page.
Once the storage category settings are saved, the storage category can be linked to a location.
To do that, navigate to the location by going to :menuselection:`Inventory app --> Configuration -->
Locations`, and select the location. Click :guilabel:`Edit` and select the created category in the
:guilabel:`Storage Category` field.
.. example::
Assign the `High Frequency pallets` storage category to the `WH/Stock/pallets/PAL 1`
sub-location.
.. image:: putaway/location-storage-category.png
:align: center
:alt: When a Storage Category is created, it can be linked to a warehouse location.
Storage categories in putaway rules
-----------------------------------
To continue the example from above, apply the `High Frequency Pallets` on the `PAL1` and `PAL2`
locations and :ref:`rework the putaway rules <inventory/routes/putaway-rule>` as follows:
Assume one pallet of lemonade cans is received:
- If PAL1 and PAL2 are empty, the pallet will be redirected to WH/Stock/Pallets/PAL1.
- If PAL1 is full, the pallet will be redirected to WH/Stock/Pallets/PAL2.
- If PAL1 and 2 are full, the pallet will be redirected to WH/Stock/Pallets.
.. image:: putaway/smart-putaways.png
:align: center
:alt: Storage Categories used in a variety of putaway rules.

View File

@ -0,0 +1,177 @@
==================
Storage categories
==================
A *storage category* is used with :doc:`putaway rules <putaway>`, as an extra location attribute to
automatically propose optimal storage locations for products.
Follow these steps to complete the setup:
#. :ref:`Enable the Storage Category feature <inventory/routes/enable-storage-categories>`
#. :ref:`Define a storage category <inventory/routes/define-storage>` with specific limitations
#. Assign a :ref:`category to storage locations <inventory/routes/assign-location>`
#. Add the storage category as an attribute to a :ref:`putaway rule
<inventory/routes/set-putaway-attribute>`
.. seealso::
:doc:`putaway`
.. note::
Assigning categories to storage locations tells Odoo these locations meet specific
requirements, such as temperature or accessibility. Odoo then evaluates these locations, based on
defined capacity, and recommends the best one on the warehouse transfer form.
.. _inventory/routes/enable-storage-categories:
Configuration
=============
To enable storage categories, go to :menuselection:`Inventory app --> Configuration --> Settings`.
Then, in the :guilabel:`Warehouse` section, ensure the :guilabel:`Storage Locations` and
:guilabel:`Multi-Step Routes` features are enabled.
Next, activate the :guilabel:`Storage Categories` feature. Finally, click :guilabel:`Save`.
.. image:: storage_category/enable-categories.png
:align: center
:alt: Show the Storage Categories feature.
.. _inventory/routes/define-storage:
Define storage category
=======================
A storage category with specific limitations **must** be created first, before it is applied to
locations, in order to decide the optimal storage location.
To create a storage category, go to :menuselection:`Inventory app --> Configuration --> Storage
Categories`, and click :guilabel:`Create`.
On the storage category form, type a name for the category in the :guilabel:`Storage Category`
field.
Options are available to limit capacity by weight, product, and package type.
.. note::
Weight limits can be combined with capacity by package or product (e.g. a maximum of one hundred
products with a total weight of two hundred kilograms).
While it is possible to limit capacity by product and package type at the same location, it may
be more practical to store items in different amounts across various locations, as shown in this
example of :ref:`capacity by package <inventory/routes/set-capacity-package>`.
The :guilabel:`Allow New Product` field defines when the location is considered available to store a
product:
- :guilabel:`If location is empty`: a product can be added there only if the location is empty.
- :guilabel:`If products are the same`: a product can be added there only if the same product is
already there.
- :guilabel:`Allow mixed products`: several different products can be stored in this location at
the same time.
.. tip::
When clicked, the :guilabel:`Location` smart button shows which storage locations the category
has been assigned to.
Capacity by weight
------------------
On a storage category form (:menuselection:`Inventory app --> Configuration --> Storage
Categories`), set a maximum product weight in the :guilabel:`Max Weight` field. This limit applies
to each location assigned this storage category.
Capacity by product
-------------------
In the :guilabel:`Capacity by Product` tab, click :guilabel:`Add a Line` to input items, and enter
their capacities in the :guilabel:`Quantity` field.
.. example::
Ensure only a maximum of five `Large Cabinets` and two `Corner Desk Right Sit` are stored at a
single storage location, by specifying those amounts in the :guilabel:`Capacity by Product` tab
of a storage category form.
.. image:: storage_category/capacity-by-product.png
:align: center
:alt: Show storage category limiting by product count.
.. _inventory/routes/set-capacity-package:
Capacity by package
-------------------
For companies using :doc:`packages <../../product_management/product_tracking/package>`, it becomes
possible to ensure real-time storage capacity checks, based on package types (e.g., crates, bins,
boxes, etc.).
.. important::
Enable the :guilabel:`Packages` feature in :menuselection:`Inventory app --> Configuration -->
Settings` to show the :guilabel:`Capacity by Package` tab.
.. example::
Create putaway rules for pallet-stored items, by creating the `High Frequency pallets` storage
category.
In the :guilabel:`Capacity by Package` tab, specify the number of packages for the designated
:guilabel:`Package Type`, and set a maximum of `2.00` `Pallets` for a specific location.
.. image:: storage_category/storage-category.png
:align: center
:alt: Create a storage category on the page.
.. _inventory/routes/assign-location:
Assign to location
==================
Once the storage category is created, assign it to a location. Navigate to the location by going to
:menuselection:`Inventory app --> Configuration --> Locations`, and select the desired location.
Then, select the created category in the :guilabel:`Storage Category` field.
.. example::
Assign the `High Frequency pallets` storage category (which limits pallets stored at any location
to two pallets) to the `WH/Stock/pallets/PAL 1` sub-location.
.. image:: storage_category/location-storage-category.png
:align: center
:alt: When a Storage Category is created, it can be linked to a warehouse location.
.. _inventory/routes/set-putaway-attribute:
Putaway rule
============
With the :ref:`storage category <inventory/routes/define-storage>` and :ref:`location
<inventory/routes/assign-location>` set up, create the :doc:`putaway rule <putaway>` by navigating
to :menuselection:`Inventory app --> Configuration --> Putaway Rules`.
Click the :guilabel:`Create` button to create the putaway rule. In the :guilabel:`Having Category`
field of the new putaway rule form, select the storage category.
.. example::
Continuing the example from above, the `High Frequency Pallets` storage category is assigned to
the putaway rule directing pallets of lemonade to locations with the `High Frequency Pallets`
storage category :ref:`assigned to them <inventory/routes/assign-location>`.
.. image:: storage_category/smart-putaways.png
:align: center
:alt: Storage Categories used in a variety of putaway rules.
Use case: limit capacity by package
===================================
To limit the capacity of a storage location by a specific number of packages, :ref:`create a storage
category with a Capacity By Package <inventory/routes/set-capacity-package>`.
Continuing the example from above, the `High Frequency Pallets` storage category is assigned to the
`PAL1` and `PAL2` locations.
Then, :ref:`putaway rules <inventory/routes/putaway-rule>` are set, so that any pallets received in
the warehouse are directed to be stored in `PAL1` and `PAL2` locations.
Depending on the number of pallets on-hand at each of the storage locations, when one pallet of
lemonade cans is received, the following scenarios happen:
- If `PAL1` and `PAL2` are empty, the pallet is redirected to `WH/Stock/Pallets/PAL1`.
- If `PAL1` is full, the pallet is redirected to `WH/Stock/Pallets/PAL2`.
- If `PAL1` and `PAL2` are full, the pallet is redirected to `WH/Stock/Pallets`.

View File

@ -52,9 +52,9 @@ location serves its intended purpose in the database:
:guilabel:`Inventory Loss`, :guilabel:`Production`, or :guilabel:`Transit Location` to categorize
the location. For details on each location type, refer to the :ref:`Location Types section
<inventory/warehouses_storage/location-type>`.
- :guilabel:`Storage Category`: only available with the :ref:`Storage Categories
<inventory/warehouses_storage/storage-category>` feature enabled in :menuselection:`Inventory app
--> Configuration --> Settings`.
- :guilabel:`Storage Category`: only available with the :doc:`Storage Categories
<../advanced_operations_warehouse/storage_category>` feature enabled in :menuselection:`Inventory
app --> Configuration --> Settings`.
- :guilabel:`Company`: the company the location belongs to.
- :guilabel:`Is a Scrap Location?`: tick this checkbox to allow for scrapped/damaged goods to be
stored in this location.