Skip to content
Closed
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 @@ -11,6 +11,7 @@ Warehouse Management
management/products
management/warehouses
management/replenishment_strategies
management/inventory_adjustments
management/delivery
management/incoming
management/misc
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
:nosearch:

=====================
Inventory adjustments
=====================

.. toctree::
:titlesonly:

inventory_adjustments/count_products
inventory_adjustments/cycle_counts
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
=====================
Inventory adjustments
=====================

In any warehouse management system, the recorded inventory counts in the database might not always
match the actual inventory counts in the warehouse. The discrepancy between the two counts can be
due to theft, damages, human errors, or other factors. As such, inventory adjustments must be made
to reconcile the differences, and ensure that the recorded counts in the database match the actual
counts in the warehouse.

In Odoo, inventory adjustments can be accessed through :menuselection:`Inventory --> Operations -->
Inventory Adjustments`.

The :guilabel:`Inventory Adjustments` page shows all products that are currently in stock. Each
line contains the following information:

- :guilabel:`Product`
- :guilabel:`Lot/Serial Number`
- :guilabel:`On Hand Quantity`

Add a new line
==============

To add an inventory adjustment line, click :guilabel:`Create` and fill in the :guilabel:`Product`
and :guilabel:`Counted Quantity` fields. Then click :guilabel:`Save`.

At this stage, the count is recorded but not yet *applied*. Meaning the quantity on hand is not yet
updated to match the new :guilabel:`Counted Quantity`.

To apply the new :guilabel:`Counted Quantity`, click :guilabel:`Apply` on the line or the
:guilabel:`Apply All` button on the top of the page. If :guilabel:`Apply All` is clicked, a
reference or reason can be entered before clicking :guilabel:`Apply`.

.. image:: count_products/apply-inventory-adjustment.png
:scale: 60%
:align: center
:alt: Apply all option applies the inventory adjustment once a reason is specified.

Count products
==============

Counting products is a recurring activity in a warehouse. Once a count is complete, go to
:menuselection:`Inventory --> Operations --> Inventory Adjustments` to update the
:guilabel:`Counted Quantity` column for each product line.

If a count matches the :guilabel:`On Hand Quantity` recorded in the database, click on
:guilabel:`Set`, which will copy the value in the :guilabel:`On Hand Quantity` field and paste it
in the :guilabel:`Counted Quantity` field. A move with `0.00` :guilabel:`Quantity Done` will be
recorded in the product's inventory adjustment history.

If a count does *not* match the :guilabel:`On Hand Quantity` recorded in the database, record the
count in the :guilabel:`Counted Quantity` field. When :guilabel:`Apply` is clicked, a move with the
difference between the :guilabel:`On Hand Quantity` and :guilabel:`Counted Quantity` will be
recorded in the product's inventory adjustment history.

.. image:: count_products/history-inventory-adjustments.png
:align: center
:alt: Inventory Adjustments History dashboard detailing a list of prior product moves.

.. note::
Sometimes a count occurs, but can not be applied in the database right away. In the time between
the actual count and applying the inventory adjustment, product moves can occur. In that case,
the :guilabel:`On Hand Quantity` in the database can change and will not be consistent with the
counted quantity. As an extra caution measure, Odoo will ask for confirmation before applying
the inventory adjustment.

Plan counts
===========

Each inventory adjustment line contains the following information:

- :guilabel:`Scheduled Date`: the date at which a count should be made.
- :guilabel:`User`: the person in charge of the count.
- :guilabel:`Accounting Date`: the date at which the adjustments will be accounted. The column is
hidden by default, but can be made visible by opening the column options icon.

.. important::
In the Barcode app, users can only view counts assigned to them that are scheduled for today or
earlier.

To plan big counts, select the desired product lines on the :guilabel:`Inventory Adjustments` page.
Then, click :guilabel:`Request a Count` and fill in the following information:

- :guilabel:`Inventory Date`: the planned date of the count.
- :guilabel:`User`: the user responsible for the count.
- :guilabel:`Accounting Date`: the date at which the inventory adjustment will be accounted.
- :guilabel:`Count`: to leave the :guilabel:`On Hand Quantity` of each product line blank, select
:guilabel:`Leave Empty`. To prefill the :guilabel:`On Hand Quantity` of each product line with
the current value recorded in the database, select :guilabel:`Set Current Value`.

Finally, click :guilabel:`Confirm` to request the count.

By default, after an inventory adjustment is applied, the scheduled date for the next count is the
31st of December of the current year. To modify the default scheduled date, go to
:menuselection:`Inventory --> Configuration --> Settings --> Operations` and change the date in the
:guilabel:`Annual Inventory Day and Month` setting.

.. image:: count_products/annual-inventory.png
:align: center
:alt: Adjust the next inventory count date with the Annual Inventory Day and Month setting.
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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
============
Cycle counts
============

In most companies, the stock is only counted once a year. That's why by default, after making an
inventory adjustment in Odoo, the scheduled date for the next count is set on the 31st of
December. However, for some businesses it's crucial to have an accurate inventory count at all
times.

The goal of cycle counts is to keep critical stock levels accurate by counting more often at key
locations.

Configuration
=============

In Odoo, cycle counts are location-based. The frequency of the counts is defined by the storage
location. To activate storage locations, go to :menuselection:`Inventory --> Configuration -->
Settings --> Warehouse` and activate the :guilabel:`Storage Locations` setting. Next, click
:guilabel:`Save` to apply the setting.

.. image:: cycle_counts/storage-locations-setting.png
:align: center
:alt: Enable Storage Locations in Odoo settings.

Change the inventory frequency
==============================

To change a location's inventory frequency, first, go to the locations by clicking
:menuselection:`Inventory --> Configuration --> Locations`.

Then, click on a location to open the location settings. Next, click on :guilabel:`Edit`. In the
:guilabel:`Inventory Frequency (Days)` field, set the number of days. For example, a location that
needs an inventory count every 30 days would set the :guilabel:`Inventory Frequency (Days)` value
to `30`. Once the value is entered, click :guilabel:`Save` to apply the setting to the location.
Now, once an inventory adjustment is applied to this location, the next scheduled count date will
be automatically set based on the number of days in the :guilabel:`Inventory Frequency (Days)`
setting.

.. image:: cycle_counts/inventory-frequency.png
:align: center
:alt: Edit a location to change the inventory frequency.
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.
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ Miscellaneous Operations

misc/owned_stock
misc/batch_transfers
misc/wave_transfers
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
======================
Process wave transfers
======================

While a batch transfer is a group of several pickings, a **wave transfer** only contains some parts
of different pickings. Both methods are used to pick orders in a warehouse, and depending on the
situation, one method may be a better fit than the other.

To handle orders of a specific product category, or fetch products that are at the same location,
wave transfers are the ideal method.

In Odoo, wave transfers are actually batch transfers with an extra step: transfers are split before
being grouped in a batch.

Configuration
=============

Before a wave transfer can be created, the :guilabel:`Batch Transfers` and :guilabel:`Wave
Transfers` options must be activated.

First, go to :menuselection:`Inventory --> Configuration --> Settings`. In the
:guilabel:`Operations` section, enable :guilabel:`Batch Transfers` and :guilabel:`Wave Transfers`.
Then, click :guilabel:`Save` to apply the settings.

.. image:: wave_transfers/wave-transfers-setting.png
:align: center
:alt: View of Odoo Inventory app settings to enable the wave transfers option.

Add products to a wave
======================

Now that the settings are activated, start a wave transfer by adding products to a wave.

Wave transfers can only contain product lines from transfers of the same operation type. To view
all the transfers and product lines in a specific operation, first go to the :guilabel:`Inventory`
dashboard and locate the desired operation type's card. Then, open the options menu (the three dots
icon in the corner of the operation type's card) and click :guilabel:`Operations`.

.. image:: wave_transfers/list-of-operations.png
:align: center
:alt: How to get an operation type's list of operations.

On the operations page, select the product lines you want to add in a new or existing wave. Then,
click :guilabel:`Add to Wave`.

.. image:: wave_transfers/select-lines.png
:align: center
:alt: Select lines to add to the wave.

.. tip::
Use the :guilabel:`Filters` in the search bar to group lines with the same product, location,
carrier, etc...

After that, a pop-up box appears.

To add the selected lines to an existing wave transfer, select the :guilabel:`an existing wave
transfer` option and select the existing wave transfer from the drop-down menu.

To create a new wave transfer, select the :guilabel:`a new wave transfer` option. If creating a new
wave transfer, an employee can also be set in the optional :guilabel:`Responsible` field. Once the
desired options are selected, click :guilabel:`Confirm` to add the product lines to a wave.

View wave transfers
===================

To view all wave transfers and their statuses, go to :menuselection:`Inventory --> Operations -->
Wave Transfers`. Wave transfers can also be viewed in the :guilabel:`Barcode` app by going to
:menuselection:`Barcode --> Batch Transfers`.
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