[IMP] inventory: V13 version for the "uom" doc

This commit is contained in:
lau-odoo 2019-10-11 10:45:26 +02:00
parent 41c33707ca
commit 22d214451b
30 changed files with 81 additions and 533 deletions

View File

@ -6,6 +6,4 @@ Overview
:titlesonly:
:glob:
overview/concepts
overview/start
overview/process

View File

@ -1,10 +0,0 @@
=============
Main Concepts
=============
.. toctree::
:titlesonly:
:glob:
concepts/double-entry
concepts/terminologies

View File

@ -1,263 +0,0 @@
:code-column:
====================================
Introduction to Inventory Management
====================================
A double-entry inventory has no stock input, output (disparition of products)
or transformation. Instead, all operations are stock moves between locations
(possibly virtual).
.. h:div:: doc-aside chart-of-locations
.. placeholder
Operations
==========
Stock moves represent the transit of goods and materials between locations.
.. rst-class:: alternatives doc-aside
Production Order
Consume:
| 2 Wheels: Stock → Production
| 1 Bike Frame: Stock → Production
Produce:
1 Bicycle: Production → Stock
Configuration:
| Stock: the location the Manufacturing Order is initiated from
| Production: on the product form, field "Production Location"
Drop-shipping
1 Bicycle: Supplier → Customer
Configurarion:
| Supplier: on the product form
| Customer: on the sale order itself
Client Delivery
Pick
1 Bicycle: Stock → Packing Zone
Pack
1 Bicycle: Packing Zone → Output
Shipping
1 Bicycle: Output → Customer
Configuration:
| on the pick+pack+ship route for the warehouse
Inter-Warehouse transfer
Transfer:
| 1 Bicycle: Warehouse 1 → Transit
| 1 Bicycle: Transit → Warehouse 2
Configuration:
| Warehouse 2: the location the transfer is initiated from
| Warehouse 1: on the transit route
Broken Product (scrapped)
1 Bicycle: Warehouse → Scrap
Configuration:
Scrap: Scrap Location when creating the scrapping
Inventory
Missing products in inventory
1 Bicycle: Warehouse → Inventory Loss
Extra products in inventory
1 Bicycle: Inventory Loss → Warehouse
Configuration:
Inventory Loss: "Inventory Location" field on the product
Reception
| 1 Bicycle: Supplier → Input
| 1 Bicycle: Input → Stock
Configuration:
| Supplier: purchase order supplier
| Input: "destination" field on the purchase order
Analysis
========
Inventory analysis can use products count or products value (= number of
products * product cost).
For each inventory location, multiple data points can be analysed:
.. raw:: html
<ul class="highlighter-list" data-target=".analysis-table">
<li data-highlight=".analysis-valuation">inventory valuation</li>
<li data-highlight=".analysis-creation">
value creation (difference between the value of manufactured products
and the cost of raw materials used during manufacturing) (negative)
</li>
<li data-highlight=".analysis-lost">value of lost/stolen products</li>
<li data-highlight=".analysis-scrapped">value of scrapped products</li>
<li data-highlight=".analysis-delivered">value of products delivered to clients over a period</li>
<li data-highlight=".analysis-received">value of products received from suppliers over a period (negative)</li>
<li data-highlight=".analysis-transit">value of products in transit between locations</li>
</ul>
.. h:div:: doc-aside analysis-table
.. raw:: html
<table class="table table-condensed highlighter-target">
<thead>
<tr>
<th>Location</th> <th class="text-right">Value</th>
</tr>
</thead>
<tbody>
<tr class="analysis-valuation">
<th>Physical Locations</th> <td class="text-right">$1,000</td>
</tr>
<tr>
<th>&#8193;Warehouse 1</th> <td class="text-right">$600</td>
</tr>
<tr>
<th>&#8193;Warehouse 2</th> <td class="text-right">$400</td>
</tr>
<tr>
<th>Partner Locations</th> <td class="text-right">- $1,500</td>
</tr>
<tr class="analysis-delivered">
<th>&#8193;Customers</th> <td class="text-right">$2,000</td>
</tr>
<tr class="analysis-received">
<th>&#8193;Suppliers</th> <td class="text-right">- $3,500</td>
</tr>
<tr>
<th>Virtual Locations</th> <td class="text-right">$500</td>
</tr>
<tr class="analysis-transit">
<th>&#8193;Transit Location</th> <td class="text-right">$600</td>
</tr>
<tr>
<th>&#8193;Initial Inventory</th> <td class="text-right">$0</td>
</tr>
<tr class="analysis-lost">
<th>&#8193;Inventory Loss</th> <td class="text-right">$350</td>
</tr>
<tr class="analysis-scrapped">
<th>&#8193;Scrapped</th> <td class="text-right">$550</td>
</tr>
<tr class="analysis-creation">
<th>&#8193;Manufacturing</th> <td class="text-right">- $1,000</td>
</tr>
</tbody>
</table>
Procurements & Procurement Rules
================================
A procurement is a request for a specific quantity of products to a specific
location. They can be created manually or automatically triggered by:
.. rst-class:: alternatives doc-aside
New sale orders
Effect
A procurement is created at the customer location for every product
ordered by the customer (you have to deliver the customer)
Configuration
Procurement Location: on the customer, field "Customer Location" (property)
Minimum Stock Rules
Effect
A procurement is created at the rule's location.
Configuration
Procurement location: on the rule, field "Location"
Procurement rules
Effect
A new procurement is created on the rule's source location
*Procurement rules* describe how procurements on specific locations should be
fulfilled e.g.:
* where the product should come from (source location)
* whether the procurement is :abbr:`MTO (Made To Order)` or :abbr:`MTS (Made
To Stock)`
.. h:div:: doc-aside
.. todo:: needs schema thing from FP
Routes
======
Procurement rules are grouped in routes. Routes define paths the product must
follow. Routes may be applicable or not, depending on the products, sales
order lines, warehouse,...
To fulfill a procurement, the system will search for rules belonging to routes
that are defined in (by order of priority):
.. rst-class:: alternatives doc-aside
Warehouses
Warehouse Route Example: Pick → Pack → Ship
Picking List:
Pick Zone → Pack Zone
Pack List:
Pack Zone → Gate A
Delivery Order:
Gate A → Customer
Routes that describe how you organize your warehouse should be defined on the warehouse.
A Product
Product Route Example: Quality Control
Reception:
Supplier → Input
Confirmation:
Input → Quality Control
Storage:
Quality Control → Stock
Product Category
Product Category Route Example: cross-dock
Reception:
Supplier → Input
Cross-Docks:
Input → Output
Delivery:
Output → Customer
Sale Order Line
Sale Order Line Example: Drop-shipping
Order:
Supplier → Customer
Push Rules
==========
Push rules trigger when products enter a specific location. They automatically
move the product to a new location. Whether a push rule can be used depends on
applicable routes.
.. rst-class:: alternatives doc-aside
Quality Control
* Product lands in Input
* Push 1: Input → Quality Control
* Push 2: Quality Control → Stock
Warehouse Transit
* Product lands in Transit
* Push: Transit → Warehouse 2
Procurement Groups
==================
Routes and rules define inventory moves. For every rule, a document type is
provided:
* Picking
* Packing
* Delivery Order
* Purchase Order
* ...
Moves are grouped within the same document type if their procurement group and
locations are the same.
A sale order creates a procurement group so that pickings and delivery orders
of the same order are grouped. But you can define specific groups on
reordering rules too. (e.g. to group purchases of specific products together)

View File

@ -1,105 +0,0 @@
=============
Terminologies
=============
- **Warehouse**: A warehouse in Odoo is a location where you store
products. It is either a physical or a virtual warehouse. It
could be a store or a repository.
- **Location**: Locations are used to structure storage zones within a
warehouse. In addition to internal locations (your warehouse),
Odoo has locations for suppliers, customers, inventory loss
counter-parts, etc.
- **Lots**: Lots are a batch of products identified with a unique
barcode or serial number. All items of a lot are from the same
product. (e.g. a set of 24 bottle) Usually, lots come from
manufacturing order batches or procurements.
- **Serial Number**: A serial number is a unique identifier of a
specific product. Technically, serial numbers are similar to
having a lot of 1 unique item.
- **Unit of Measure**: Define how the quantity of products is
expressed. Meters, Pounds, Pack of 24, Kilograms,… Unit of
measure of the same category (ex: size) can be converted to each
others (m, cm, mm) using a fixed ratio.
- **Consumable**: A product for which you do not want to manage the
inventory level (no quantity on hand or forecasted) but that you
can receive and deliver. When this product is needed Odoo suppose
that you always have enough stock.
- **Stockable**: A product for which you want to manage the inventory
level.
- **Package:** A package contains several products (identified by their
serial number/lots or not). Example: a box containing knives and
forks.
- **Procurement**: A procurement is a request for a specific quantity
of products to a specific location. Procurement are automatically
triggered by other documents: Sale orders, Minimum Stock Rules,
and Procurement rules. You can trigger the procurement manually.
When procurements are triggered automatically, you should always
pay attention for the exceptions (e.g. a product should be
purchased from a vendor, but no supplier is defined).
- **Routes**: Routes define paths the product must follow. Routes may
be applicable or not, depending on the products, sales order
lines, warehouse,… To fulfill a procurement, the system will
search for rules belonging to routes that are defined in the
related product/sale order.
- **Push Rules**: Push rules trigger when products enter a specific
location. They automatically move the product to a new location.
Whether a push rule can be used depends on applicable routes.
- **Procurement Rules** or **Pull Rules**: Procurement rules describe
how procurements on specific locations should be fulfilled e.g.:
where the product should come from (source location), whether the
procurement is MTO or MTS,...
- **Procurement Group**: Routes and rules define inventory moves. For
every rule, a document type is provided: Picking, Packing,
Delivery Order, Purchase Order,… Moves are grouped within the
same document type if their procurement group and locations are
the same.
- **Stock Moves**: Stock moves represent the transit of goods and
materials between locations.
- **Quantity On Hand**: The quantity of a specific product that is
currently in a warehouse or location.
- **Forecasted Quantity**: The quantity of products you can sell for a
specific warehouse or location. It is defined as the Quantity on
Hand - Future Delivery Orders + Future incoming shipments +
Future manufactured units.
- **Reordering Rules**: It defines the conditions for Odoo to
automatically trigger a request for procurement (buying at a
supplier or launching a manufacturing order). It is triggered
when the forecasted quantity meets the minimum stock rule.
- **Cross-Dock**: Cross-docking is a practice in the logistics of
unloading materials from an incoming semi-trailer truck or
railroad car and loading these materials directly into outbound
trucks, trailers, or rail cars, with no storage in between. (does
not go to the stock, directly from incoming to packing zone)
- **Drop-Shipping**: move products from the vendor/manufacturer
directly to the customer (could be retailer or consumer) without
going through the usual distribution channels. Products are sent
directly from the vendor to the customer, without passing through
your own warehouse.
- **Removal Strategies**: the strategy to use to select which product
to pick for a specific operation. Example: FIFO, LIFO, FEFO.
- **Putaway Strategies**: the strategy to use to decide in which
location a specific product should be set when arriving
somewhere. (example: cables goes in rack 3, storage A)
- **Scrap**: A product that is broken or outdated. Scrapping a product
removes it from the stock.

View File

@ -1,9 +0,0 @@
================
Getting Started
================
.. toctree::
:titlesonly:
:glob:
start/setup

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

View File

@ -1,40 +0,0 @@
============================
How to setup Odoo inventory?
============================
The Odoo Inventory application has an implementation guide that you
should follow to configure it. It's a step-by-step manual with links to
the different screens you need.
Once you have installed the **Inventory** application, click on
the top-right progress bar to get access to the implementation guide.
.. image:: media/setup01.png
:align: center
The implementation guide helps you through the following steps:
1. Set up your warehouse
2. Import your vendors
3. Import your products
4. Set up the initial inventory
5. Configure your sales and purchase flows
6. Set up replenishment mechanisms
7. Configure advanced features like package, traceability, routes and
inventory valuation.
.. image:: media/setup02.png
:align: center
.. note::
If you want to set up operations with barcode scanner in your
warehouse, you should install the **Barcode** application that adds
features on top of the inventory application. The barcode application
will guide you to configure and use your scanner optimally.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 410 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -1,14 +1,13 @@
======================================
How to use different units of measure?
======================================
==============================
Use Different Units of Measure
==============================
Overview
========
In some cases, handling products in different unit of measures is
In some cases, handling products in different units of measure is
necessary. For example, if you buy products in a country where the
metric system is of application and sell them in a country where the
imperial system is used, you will need to convert the units.
metric system is of application and sell in a country where the imperial
system is used, you will need to convert the units. Another common use
case is buying products in bigger packs to your supplier and selling
them in units to your customers.
You can set up Odoo to work with different units of measure for one
product.
@ -16,114 +15,93 @@ product.
Configuration
=============
In the **Inventory** application, go to :menuselection:`Configuration --> Settings`.
In the **Products** section, select **Some products may be sold/purchased in
different units of measure (advanced)**, then click on **Apply**.
In the *Inventory* application, go to *Configuration > Settings*. In
the *Products* section, activate *Units of Measure*, then *Save*.
.. image:: media/uom09.png
:align: center
.. image:: media/uom_01.png
:align: center
Setting up units on your products
Create New Units of Measure
===========================
In the *Inventory* application go to *Configuration > UoM*. There,
hit *Create*. As an example, we will create a Box of 6 units that we
will use for the Egg product.
.. image:: media/uom_02.png
:align: center
The category is important for unit conversion, you will be able to
convert products from one unit to another only if those units belong to
the same category. The box of 6 is 6 times bigger than the reference
unit of measure for the category which is “Units” here.
.. image:: media/uom_03.png
:align: center
Specify Units of Measure on your Products
=========================================
In the *Inventory application > Master Data > Products*, open the
product which you would like to change the purchase/sale unit of
measure, and click on *Edit*.
In the *General Information* tab, you can select the *Unit of
Measure* in which the product will be sold, which is also the unit in
which internal transfers will take place. You can also select the
*Purchase Unit of Measure*, which is the unit in which you purchase
the product.
.. image:: media/uom_04.png
:align: center
Transfer from One Unit to Another
=================================
In :menuselection:`Master Data --> Products`, open the product which you would like to
change the purchase/sale unit of measure, and click on **Edit**.
Buy in the Pruchase UoM
-----------------------
In the **Unit of Measure** section, select the unit in which the product
will be sold and in which internal transfers will be done.
In the *Purchase* application, *Create* a new request for quotation
in which you include the product with the different *Units of Measure*
and *Confirm* it.
In the **Purchase Unit of Measure** section, select the unit in which
you purchase the product. When you're done, click on **Save**.
.. image:: media/uom_05.png
:align: center
.. image:: media/uom10.png
:align: center
On the automatically generated purchase orders, the UoM used is the Box
of 6, meaning the Purchase UoM. You have of course the possibility to
manually modify the UoM if necessary. When you enter the *Receipt*
which is linked to the purchase order, you can observe that the 10 boxes
of 6 units have been converted in 60 units. Indeed, the stock is managed
in units.
.. tip::
Click on the edit button |edit| to create new unit of measures.
.. image:: media/uom_06.png
:align: center
Replenishment
-------------
Transfer from one unit to another
=================================
When doing a replenishment via the *Replenish* button on the product
form, you have the possibility to change the unit of measure.
When doing inter-unit transfers, the rounding is automatically done by
Odoo.
.. image:: media/uom_07.png
:align: center
The unit of measure can be changed throughout the whole process. The
only condition is that the unit of measure is part of the same category.
.. image:: media/uom_08.png
:align: center
In this example, we are in the egg business :
Sell in bigger UoM
------------------
- We buy eggs by trays (30 eggs)
You can choose the unit of measure on the sale order document and decide
to sell the eggs by the dozen. When doing so, the price is automatically
computed from Units UoM to adapt to the selected *UoM*.
- We check all eggs individually when receiving it (quality control)
.. image:: media/uom_09.png
:align: center
- We sell eggs by the dozen to the customers
In the delivery order, the *UoM* used in the sale order is converted
to the *UoM* used for stock management, in our use case, the Units.
.. image:: media/uom01.png
:align: center
.. note::
The **Sale price** is expressed in the **Product unit of measure**. The
**Cost price** is expressed in the **Purchase Unit of Measure**.
.. note::
All internal transfers are expressed in the **Product Unit of
Measure**.
Procurement
-----------
When doing your procurement request, you can still change the unit of
measure.
.. image:: media/uom06.png
:align: center
The unit of measure can also be changed in the purchase order :
.. image:: media/uom03.png
:align: center
Quality Control
---------------
The quality control is done by unit.
The basic unit of measure of our product is **Unit**. Therefore the
quality check is done by unit.
.. image:: media/uom05.png
:align: center
.. note::
The unit of measure can only be changed when the transfer status
is **Draft**.
Delivery process
----------------
The eggs are sold by the dozen. You can choose the unit of measure on
the sale order document. When doing it, the price is automatically
computed from the unit to the dozen.
.. image:: media/uom04.png
:align: center
In the delivery order, the initial demand is done in the sales order unit
of measure :
.. image:: media/uom02.png
:align: center
But the transfer is done in the product unit of measure. Everything is
converted automatically :
.. image:: media/uom08.png
:align: center
.. todo::
Create a link when the document is available
- When should you use packages, units of measure or kits?
.. |edit| image:: ./media/uom07.png
.. image:: media/uom_10.png
:align: center

View File

@ -67,5 +67,4 @@ When you are selling several trays, you might wrap all the trays into a
``box`` or in a ``plastic`` wrapping. It is the **package**.
.. seealso::
* :doc:`../../overview/start/setup`
* :doc:`uom`