Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
ce5098d
Add files via upload
thomasdeleval Apr 27, 2022
5433e68
Update warehouses.rst
thomasdeleval Apr 27, 2022
508722d
Update warehouses.rst
thomasdeleval Apr 27, 2022
3aa1483
Create warehouses_locations
thomasdeleval Apr 27, 2022
da009aa
Rename warehouses_locations to warehouses_locations.rst
thomasdeleval Apr 27, 2022
fd28b4f
Update warehouses.rst
thomasdeleval Apr 27, 2022
0487193
Update and rename replenishment_strategies.rst to inventory_adjustmen…
thomasdeleval Apr 27, 2022
1c70341
Update management.rst
thomasdeleval Apr 27, 2022
7ceed8d
Create count_products.rst
thomasdeleval Apr 27, 2022
07debde
Create cycle_counts.rst
thomasdeleval Apr 27, 2022
318c6ba
Update warehouses_locations.rst
thomasdeleval Apr 27, 2022
27a3fdf
Update resupply_warehouses.rst
thomasdeleval Apr 27, 2022
458ad88
Delete difference_warehouse_location.rst
thomasdeleval Apr 27, 2022
7210fa4
Update inter_warehouse.rst
thomasdeleval Apr 27, 2022
1d1000f
Create test
thomasdeleval Apr 27, 2022
1d746a8
Add files via upload
thomasdeleval Apr 27, 2022
f2dc86d
Delete test
thomasdeleval Apr 27, 2022
c3b7de9
Create test
thomasdeleval Apr 27, 2022
bcabd7a
Add files via upload
thomasdeleval Apr 27, 2022
31554b0
Add files via upload
thomasdeleval Apr 27, 2022
78ff09e
Update resupply_warehouses.rst
thomasdeleval Apr 27, 2022
addfb32
Delete backorder.png
thomasdeleval Apr 27, 2022
87b3a66
Delete in-progress-internal-transfer.png
thomasdeleval Apr 27, 2022
284622a
Delete internal-transfer-choice.png
thomasdeleval Apr 27, 2022
2ac977c
Delete internal-transfers-list.png
thomasdeleval Apr 27, 2022
9d7c38c
Delete new-transfer-types.png
thomasdeleval Apr 27, 2022
9d52ea8
Delete planned-internal-transfer.png
thomasdeleval Apr 27, 2022
dd0d7f6
Delete test
thomasdeleval Apr 27, 2022
dd92997
Update resupply_warehouses.rst
thomasdeleval Apr 28, 2022
f4005d8
Delete virtual_warehouses_04.png
thomasdeleval Apr 28, 2022
3037d92
Update count_products.rst
thomasdeleval Apr 28, 2022
4f36ac0
Create test
thomasdeleval Apr 28, 2022
e602e33
Add files via upload
thomasdeleval Apr 28, 2022
fe68621
Delete test
thomasdeleval Apr 28, 2022
18f82e8
Update cycle_counts.rst
thomasdeleval Apr 29, 2022
5dce9d2
Update cycle_counts.rst
thomasdeleval Apr 29, 2022
aea2ec2
Create test
thomasdeleval Apr 29, 2022
f2957be
Add files via upload
thomasdeleval Apr 29, 2022
d1bdbf6
Update count_products.rst
thomasdeleval Apr 29, 2022
dc0660a
Add files via upload
thomasdeleval Apr 29, 2022
221bf36
Update count_products.rst
thomasdeleval May 18, 2022
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 @@ -10,10 +10,10 @@ Warehouse Management

management/products
management/warehouses
management/replenishment_strategies
management/inventory_adjustments
management/delivery
management/incoming
management/misc
management/planning
management/lots_serial_numbers
management/reporting
management/reporting
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ Inventory Adjustment
:titlesonly:
:glob:

replenishment_strategies/virtual_warehouses
inventory_adjustments/count_products
inventory_adjustments/cycle_counts
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
=====================
Inventory Adjustments
=====================

Inventory adjustments can be accessed through :menuselection:`Inventory --> Operations -->
Inventory Adjustments`.
The report has all products currently in the stock. Each line is a unique combination of
- Location
- Product
- Lot/Serial
- Package
- Owner


Add new product in your stock
=============================

To add a line, just hit *Create* and fill in product and counted quantity fields then press
`tab` or click *Save*

.. image:: count_products/create-line.png
:align: center
:alt: apply all wizzard allows to change reason and accounting date

At this stage, the count is recorded but not yet *applied*. Meaning the quantity on hand is
not yet updated.

Just press *Apply* on the line or button *Apply All* button on the top of the screen.

*Apply All* allows to edit the reason to use for the adjustments applied


.. image:: count_products/apply-all.png
:align: center
:alt: apply all wizzard allows to change reason

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

Counting products is a recurring activity in a warehouse. It often happens that theoric
stock levels are not correct and must be amended.

If a count is correct, press on *set*, it will copy the on hand quantity in the counted
quantity. Applying such line will record a move in the history with a 0 quantity.

If the count is different, record it in the counted quanditity field. Applying such line
will record a move with the difference in tin the history.

.. image:: count_products/history.png
:align: center
:alt: history of moves

.. note::
It happens that users count but apply only later. In the meantime, transfers of
a counted product can occur. In such case quanities counted and on hand are not
consistant with the difference. When applying such line, Odoo will ask if you
want to keep the difference and the count.

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

On each line there is:
- *Scheduled Date*: it's the date at which a count should be made.
- *User*: it's the person in charge of the count.
- *Accounting Date*: this is the date at which the adjustments will be accounted. The
column is hidden by default.

.. image:: count_products/plan.png
:align: center
:alt: history of moves

.. important::
In the barcode app, you will only see counts to make assigned to you, scheduled
for today or earlier.

If you want to plan big counts, the easiest way is to select some lines, then hit
**Request A Count***. There you can select who will count and when. You can also
prefill the quantity with the on hand quantity.

.. image:: count_products/request-count.png
:align: center
:alt: history of moves

.. tip::
The report offers a lot of filters that you can use to make your selection

By default, after an adjustment is applied, the scheduled date for the next
count is the 31st of december of the current year. This is a setting that can
be modified in :menuselection:`Inventory --> Configuration --> Settings`.
under the setting **Annual Inventory Day and Month**

.. image:: count_products/annual-inventory.png
:align: center
:alt: history of moves


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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
============
Cycle Counts
============

In most companies, the stock is only counted once a year.
That's why by default, after making an inventory adjustment, the
scheduled date for the next count is set on the 31th of decemeber.
But for some businesses it's crucial to have an accurate
inventory count.

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

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

In Odoo, cycle counts are location-based. That means that the
frequency of the counts is defined on the storage location. That
also means that to use cycle counts you need to activate the setting
**Storage Locations**.

.. image:: cycle_counts/locations-settings.png
:align: center
:alt: Enable locations in an Odoo database's settings

Then, go to the locations via :menuselection:`Inventory --> Configuration -->
Locations`.

Open a location and change the Inventory Frequency. In this example we want to
count items in this loctation every 30 days. That means that once an adjustment
is applied on this location, the next scheduled date for this line will be 30 days
after.

.. 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
@@ -0,0 +1 @@

Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ Warehouses
:titlesonly:
:glob:

warehouses/difference_warehouse_location
warehouses/warehouses_locations
warehouses/resupply_warehouses

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
===============================
Resupply from another Warehouse
===============================

A common use case for multiple warehouses is to have one central warehouse that
resupplies shops, each shop is considered as a local warehouse. When a shop want
to replenish a product, this product is ordered to the central stock.
Odoo allows you to set easily which warehouse(s) can resupply a warehouse.

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

In order to be able to resupply from another warehouse, you need to
activate *multi-step routes*.

.. image:: resupply_warehouses/virtual-warehouses-settings.png
:align: center
:alt: Enable Multi-Step Routes in an Odoo database's settings

You can then access your warehouses via :menuselection:`Inventory --> Configuration -->
Warehouses`.
Open the warehouse which should be resupplied by the another one. You will
have the possibility to directly indicate through which warehouse(s) it
can be resupplied.

.. image:: resupply_warehouses/virtual_warehouses_02.png
:align: center

By activating this option, a new route will now be available on your
products *Supply Product from Second warehouse*. It can now be
selected, along with either a *reordering rule* or a *make to
order*.

.. image:: resupply_warehouses/virtual_warehouses_03.png
:align: center

In this example, a reordering rule is set with a minimum of 5 units
in stock and a maximum of 10 units in stock, having currently 0 units on
hand.

The system automatically creates two pickings, one *delivery order*
from my Second Warehouse which contains the necessary products, and a
receipt in my main warehouse WH/Stock for the same products. The source
document is the *reordering rule* which triggered the route *Supply
Product from Second warehouse*.
The location between the delivery and the receipt is a transit location.

.. image:: resupply_warehouses/virtual_warehouses_05.png
:align: center

.. image:: resupply_warehouses/virtual_warehouses_06.png
:align: center

.. image:: resupply_warehouses/virtual_warehouses_07.png
:align: center
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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
===============================
Manage Warehouses and Locations
===============================

Terminology
===========

Warehouse
---------

In Odoo, a **Warehouse** is the actual building/place in which your items
are stocked. You can setup multiple warehouses and create moves between
warehouses.

Location
--------

A **Location**, is a specific space within your warehouse. It can be
considered as a sublocation of your warehouse, as a shelf, a floor, an
aisle, etc. Therefore, a location is part of one warehouse only and it
is not possible to link one location to multiple warehouses. You can
configure as many locations as you need under one warehouse.

There are 3 types of locations:

- The **Physical Locations** are internal locations that are part of the
warehouses for which you are the owner. They can be the loading and
unloading area of your warehouse, a shelf or a department, etc.

- The **Partner Locations** are spaces within a customer and/or vendor's
warehouse. They work the same way as Physical Locations with the only
difference being that you are not the owner of the warehouse.

- The **Virtual Locations** are places that do not exist, but in which
products can be placed when they are not physically in an inventory yet
(or anymore). They come in handy when you want to place lost products
out of your stock (in the **Inventory loss**), or when you want to take into
account products that are on their way to your warehouse (**Procurements**).

In Odoo, locations are structured hierarchically. You can structure your
locations as a tree, dependent on a parent-child relationship. This
gives you more detailed levels of analysis of your stock operations and
the organization of your warehouses.

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

To activate the locations, go to :menuselection:`Configuration --> Settings` and enable
**Storage Locations**. Then, hit *Save*.

.. image:: warehouses_locations/feature-storage-location.png
:align: center
:alt: Enabling the storage location feature in Odoo Inventory.

.. important::
If you want to manage several routes within your warehouses, then enable **Multi-Step Routes**
and check :doc:`use-routes`.

Creating a new warehouse
========================

To create a warehouse, go to :menuselection:`Configuration -->
Warehouse Management --> Warehouses` and click on **Create**.

Fill out a **Warehouse Name** and a **Short Name**. The short name is five characters maximum.

.. image:: warehouses_locations/create-new-warehouse.png
:align: center
:alt: Short name field of a warehouse on Odoo Inventory.

.. important::
The **Short Name** appears on your transfer orders and other warehouse documents. We recommend
using an understandable one (e.g.: WH/[first letters of location]).

Now, go back to your dashboard. There, new operations related to your warehouse have been
automatically generated.

.. image:: warehouses_locations/new-transfer-types.png
:align: center
:alt: Inventory app dashboard displaying new transfer type for the recently created warehouse.

.. note::
Adding a second warehouse will automatically activate the **Locations** setting.

Creating a new location
=======================

To create a location, go to :menuselection:`Configuration -->
Warehouse Management --> Locations` and click on **Create**.

Fill out a **Location Name** and a **Parent Location** and hit *Save*.

.. image:: warehouses_locations/create-new-location.png
:align: center
:alt: Short name field of a warehouse on Odoo Inventory.

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