[ADD] inventory: storage categories
closes odoo/documentation#10412
X-original-commit: c70a77153e
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:
parent
1aee294219
commit
d362d4ebdb
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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`.
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 9.6 KiB |
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
Binary file not shown.
After Width: | Height: | Size: 8.6 KiB |
Binary file not shown.
After Width: | Height: | Size: 8.4 KiB |
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user