diff --git a/inventory/overview.rst b/inventory/overview.rst index d1caab4f1..ea3371caa 100644 --- a/inventory/overview.rst +++ b/inventory/overview.rst @@ -6,6 +6,4 @@ Overview :titlesonly: :glob: - overview/concepts - overview/start overview/process diff --git a/inventory/overview/concepts.rst b/inventory/overview/concepts.rst deleted file mode 100644 index 9e1ae0d97..000000000 --- a/inventory/overview/concepts.rst +++ /dev/null @@ -1,10 +0,0 @@ -============= -Main Concepts -============= - -.. toctree:: - :titlesonly: - :glob: - - concepts/double-entry - concepts/terminologies \ No newline at end of file diff --git a/inventory/overview/concepts/double-entry.rst b/inventory/overview/concepts/double-entry.rst deleted file mode 100644 index f22ed7f58..000000000 --- a/inventory/overview/concepts/double-entry.rst +++ /dev/null @@ -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 - - - -.. h:div:: doc-aside analysis-table - - .. raw:: html - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Location Value
Physical Locations $1,000
 Warehouse 1 $600
 Warehouse 2 $400
Partner Locations - $1,500
 Customers $2,000
 Suppliers - $3,500
Virtual Locations $500
 Transit Location $600
 Initial Inventory $0
 Inventory Loss $350
 Scrapped $550
 Manufacturing - $1,000
- -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) diff --git a/inventory/overview/concepts/terminologies.rst b/inventory/overview/concepts/terminologies.rst deleted file mode 100644 index f04e5d329..000000000 --- a/inventory/overview/concepts/terminologies.rst +++ /dev/null @@ -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. diff --git a/inventory/overview/start.rst b/inventory/overview/start.rst deleted file mode 100644 index 239a9ef46..000000000 --- a/inventory/overview/start.rst +++ /dev/null @@ -1,9 +0,0 @@ -================ -Getting Started -================ - -.. toctree:: - :titlesonly: - :glob: - - start/setup diff --git a/inventory/overview/start/media/setup01.png b/inventory/overview/start/media/setup01.png deleted file mode 100644 index a6fdba6cb..000000000 Binary files a/inventory/overview/start/media/setup01.png and /dev/null differ diff --git a/inventory/overview/start/media/setup02.png b/inventory/overview/start/media/setup02.png deleted file mode 100644 index 7416865cd..000000000 Binary files a/inventory/overview/start/media/setup02.png and /dev/null differ diff --git a/inventory/overview/start/setup.rst b/inventory/overview/start/setup.rst deleted file mode 100644 index 854497848..000000000 --- a/inventory/overview/start/setup.rst +++ /dev/null @@ -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. diff --git a/inventory/settings/products/media/uom01.png b/inventory/settings/products/media/uom01.png deleted file mode 100644 index 17e2b9983..000000000 Binary files a/inventory/settings/products/media/uom01.png and /dev/null differ diff --git a/inventory/settings/products/media/uom02.png b/inventory/settings/products/media/uom02.png deleted file mode 100644 index 598beb7a7..000000000 Binary files a/inventory/settings/products/media/uom02.png and /dev/null differ diff --git a/inventory/settings/products/media/uom03.png b/inventory/settings/products/media/uom03.png deleted file mode 100644 index 32343ed5a..000000000 Binary files a/inventory/settings/products/media/uom03.png and /dev/null differ diff --git a/inventory/settings/products/media/uom04.png b/inventory/settings/products/media/uom04.png deleted file mode 100644 index 700ad1419..000000000 Binary files a/inventory/settings/products/media/uom04.png and /dev/null differ diff --git a/inventory/settings/products/media/uom05.png b/inventory/settings/products/media/uom05.png deleted file mode 100644 index 50753de97..000000000 Binary files a/inventory/settings/products/media/uom05.png and /dev/null differ diff --git a/inventory/settings/products/media/uom06.png b/inventory/settings/products/media/uom06.png deleted file mode 100644 index baf528f1e..000000000 Binary files a/inventory/settings/products/media/uom06.png and /dev/null differ diff --git a/inventory/settings/products/media/uom07.png b/inventory/settings/products/media/uom07.png deleted file mode 100644 index 7202e0aff..000000000 Binary files a/inventory/settings/products/media/uom07.png and /dev/null differ diff --git a/inventory/settings/products/media/uom08.png b/inventory/settings/products/media/uom08.png deleted file mode 100644 index f3f7ccde3..000000000 Binary files a/inventory/settings/products/media/uom08.png and /dev/null differ diff --git a/inventory/settings/products/media/uom09.png b/inventory/settings/products/media/uom09.png deleted file mode 100644 index dbdfeb095..000000000 Binary files a/inventory/settings/products/media/uom09.png and /dev/null differ diff --git a/inventory/settings/products/media/uom10.png b/inventory/settings/products/media/uom10.png deleted file mode 100644 index 2e53365db..000000000 Binary files a/inventory/settings/products/media/uom10.png and /dev/null differ diff --git a/inventory/settings/products/media/uom_01.png b/inventory/settings/products/media/uom_01.png new file mode 100644 index 000000000..549b415b1 Binary files /dev/null and b/inventory/settings/products/media/uom_01.png differ diff --git a/inventory/settings/products/media/uom_02.png b/inventory/settings/products/media/uom_02.png new file mode 100644 index 000000000..085a9953b Binary files /dev/null and b/inventory/settings/products/media/uom_02.png differ diff --git a/inventory/settings/products/media/uom_03.png b/inventory/settings/products/media/uom_03.png new file mode 100644 index 000000000..708f395ae Binary files /dev/null and b/inventory/settings/products/media/uom_03.png differ diff --git a/inventory/settings/products/media/uom_04.png b/inventory/settings/products/media/uom_04.png new file mode 100644 index 000000000..42e480de3 Binary files /dev/null and b/inventory/settings/products/media/uom_04.png differ diff --git a/inventory/settings/products/media/uom_05.png b/inventory/settings/products/media/uom_05.png new file mode 100644 index 000000000..475a49a8c Binary files /dev/null and b/inventory/settings/products/media/uom_05.png differ diff --git a/inventory/settings/products/media/uom_06.png b/inventory/settings/products/media/uom_06.png new file mode 100644 index 000000000..6270cdd3f Binary files /dev/null and b/inventory/settings/products/media/uom_06.png differ diff --git a/inventory/settings/products/media/uom_07.png b/inventory/settings/products/media/uom_07.png new file mode 100644 index 000000000..ed5dec60a Binary files /dev/null and b/inventory/settings/products/media/uom_07.png differ diff --git a/inventory/settings/products/media/uom_08.png b/inventory/settings/products/media/uom_08.png new file mode 100644 index 000000000..d62d5612a Binary files /dev/null and b/inventory/settings/products/media/uom_08.png differ diff --git a/inventory/settings/products/media/uom_09.png b/inventory/settings/products/media/uom_09.png new file mode 100644 index 000000000..7e59908b3 Binary files /dev/null and b/inventory/settings/products/media/uom_09.png differ diff --git a/inventory/settings/products/media/uom_10.png b/inventory/settings/products/media/uom_10.png new file mode 100644 index 000000000..6c8c67109 Binary files /dev/null and b/inventory/settings/products/media/uom_10.png differ diff --git a/inventory/settings/products/uom.rst b/inventory/settings/products/uom.rst index 7390d2db6..fb772d2a3 100644 --- a/inventory/settings/products/uom.rst +++ b/inventory/settings/products/uom.rst @@ -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 \ No newline at end of file diff --git a/inventory/settings/products/usage.rst b/inventory/settings/products/usage.rst index 989fc679c..661649c9d 100644 --- a/inventory/settings/products/usage.rst +++ b/inventory/settings/products/usage.rst @@ -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`