Compare commits

..

13 Commits

Author SHA1 Message Date
Jonathan Castillo (jcs)
ce49dc81c9 [MOV] live chat: structure
task-3269837
2023-04-11 15:45:59 +02:00
Jonathan Castillo (jcs)
08c192e226 [MOV] website: structure
As a first step to update the doc - at last! - we first need to update
its structure.

task-3269837
2023-04-11 15:45:59 +02:00
Victor Feyens
380a5499de [ADD] tests: image size checker
closes odoo/documentation#3831

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-04-11 10:31:04 +02:00
John Holton (hojo)
1b640a7a30 [ADD] Quality: add Create quality alerts
closes odoo/documentation#3715

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-10 20:31:42 +02:00
John Holton (hojo)
bbbca62f6f [IMP] Inventory: Update dropshipping
closes odoo/documentation#3607

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-09 03:20:10 +02:00
Odoo Translation Bot
cbb0e49204 [I18N] Update translation terms from Transifex 2023-04-09 02:40:35 +02:00
Sam Lieber (sali)
728a462762 [IMP] purchase: update reordering rules config doc
closes odoo/documentation#3444

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-08 04:18:56 +02:00
John Holton (hojo)
6ea2eb29fb [IMP] Inventory: Update inter-warehouse replenishment
closes odoo/documentation#3967

Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2023-04-04 00:36:54 +02:00
Benoit Socias
1ce7166f49 [IMP] tutorials: add warning about mutable global variables
The whole concept of multi-tenancy is not really approached within the
tutorial.

This commit adds a warning about never using mutable global variables
within odoo to seed the idea in the reader's mind.

task-3059110

closes odoo/documentation#3970

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-04-03 10:38:51 +02:00
Odoo Translation Bot
82378f7cb6 [I18N] Update translation terms from Transifex 2023-04-02 02:42:03 +02:00
Felicious
71ede7a3d4 [IMP]: add manual valuation section
Add images and manual valuation

add ref tag and retitle doc to sentence case

Remove trailing whitespaces

update explanation

closes odoo/documentation#3948

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-31 22:16:10 +02:00
oskarenablebanking
62e5a356d3 [ADD] accounting: enablebanking
task-3232701

closes odoo/documentation#3858

Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-31 17:33:36 +02:00
Jonathan Castillo (jcs)
166a11ec1b [MOV] accounting: structure of bank sync docs
Part-of: odoo/documentation#3858
2023-03-31 17:33:36 +02:00
239 changed files with 1153 additions and 806 deletions

View File

@@ -71,7 +71,7 @@ way to verify the ownership of your domain name is by adding a DNS record. You c
other providers.
.. seealso::
- :doc:`/applications/websites/website/optimize/seo`
- :doc:`/applications/websites/website/pages/seo`
- `Google Search Console Help - Verify your site ownership <https://support.google.com/webmasters/answer/9008080>`_
- `Bing Webmaster Tools - Add and Verify site <https://www.bing.com/webmasters/help/add-and-verify-site-12184f8b>`_

View File

@@ -8,6 +8,7 @@ Bank and cash
:titlesonly:
bank/setup
bank/feeds
bank/bank_synchronization
bank/bank_statements
bank/reconciliation
bank/interbank

View File

@@ -1,6 +1,8 @@
======================================
Bank synchronization: automatic import
======================================
:show-content:
====================
Bank synchronization
====================
Odoo can synchronize directly with your bank institution to get all bank statements imported
automatically into your database.
@@ -15,9 +17,12 @@ To connect to the banks, Odoo uses multiple web-services:
- **Plaid**: United States of America and Canada
- **Yodlee**: Worldwide
- **Salt Edge**: Europe (:doc:`more information <saltedge>`)
- **Ponto**: Europe (:doc:`more information <ponto>`)
- **EnableBanking**: Scandinavian countries
- :doc:`Salt Edge <bank_synchronization/saltedge>`: Europe
- :doc:`Ponto <bank_synchronization/ponto>`: Europe
- :doc:`Enable Banking <bank_synchronization/enablebanking>`: Scandinavian countries
.. seealso::
:doc:`bank_statements`
Configuration
=============
@@ -196,7 +201,9 @@ You can update your credentials by going to :menuselection:`Accounting Dashboard
Configuration --> Accounting: Online Synchronization`,open the connection you want to update your
credentials and click on the :guilabel:`Update Credentials` button.
.. seealso::
* :doc:`bank_statements`
* :doc:`ponto`
* :doc:`saltedge`
.. toctree::
:titlesonly:
bank_synchronization/saltedge
bank_synchronization/ponto
bank_synchronization/enablebanking

View File

@@ -0,0 +1,36 @@
==============
Enable Banking
==============
**Enable Banking** is a third-party provider aggregating banking information from bank accounts all
in one place. It offers non-intrusive connectivity to ASPSPs' official APIs across Europe without
storing data.
.. image:: enablebanking/enablebanking.png
:align: center
:alt: Enable Banking logo
**Odoo** synchronizes directly with banks to get access to all bank transactions and automatically
import them into your database.
.. seealso::
- :doc:`../bank_synchronization`
- `Enable Banking website <https://enablebanking.com/>`_
Configuration
=============
Link bank accounts with Odoo
----------------------------
#. Start synchronization by clicking on :menuselection:`Accounting --> Configuration -->
Add a Bank Account`;
#. Select your bank;
#. Make sure you give your consent to share your account information with Odoo by clicking
:guilabel:`Continue authentication`;
.. image:: enablebanking/enablebankingauth.png
:align: center
:alt: Enable Banking authentication page
#. Finally, you are redirected to your bank's login page.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -1,6 +1,6 @@
======================================
Ponto as bank synchronization provider
======================================
=====
Ponto
=====
**Ponto** is a service that allows companies and professionals to aggregate their accounts in one
place and directly see all their transactions within one app. It is a third-party solution that is
@@ -16,9 +16,9 @@ into your database.
Ponto is a paid third-party provider that can handle the synchronization between your bank accounts
and Odoo. `Its pricing is 4€/month per account/integration <https://myponto.com/en#pricing>`_.
.. note::
You can find more information about bank synchronization :doc:`on this page
<bank_synchronization>`.
.. seealso::
- :doc:`../bank_synchronization`
- :doc:`../bank_statements`
Configuration
=============
@@ -115,10 +115,3 @@ and we advise you to contact Ponto directly.
.. important::
Using an institution in beta is beneficial for Ponto, it allows them to have real
feedback on the connection with the institution.
.. seealso::
* :doc:`bank_synchronization`
* :doc:`saltedge`
* :doc:`bank_statements`

View File

@@ -1,6 +1,6 @@
==========================================
Salt Edge as bank synchronization provider
==========================================
=========
Salt Edge
=========
**Salt Edge** is a third-party provider that aggregates banking information
from your bank accounts. It supports ~5000 institutions in more than 50
@@ -8,12 +8,15 @@ countries.
.. image:: saltedge/saltedge-logo.png
:align: center
:width: 50%
:alt: Salt Edge Logo
Odoo can synchronize directly with your bank to get all bank statements imported
automatically into your database.
Salt Edge is a free third-party provider.
.. seealso::
- :doc:`../bank_synchronization`
- :doc:`../bank_statements`
Configuration
=============
@@ -103,9 +106,3 @@ In case you already have a connection with the same credentials present on your
and this synchronization was created with Odoo, you will normally be able to find it by going to
:menuselection:`Accounting --> Configuration --> Online Synchronization`. Please make sure to do an
*Update Credentials* to reactivate the connection.
.. seealso::
* :doc:`bank_synchronization`
* :doc:`ponto`
* :doc:`bank_statements`

View File

@@ -1,13 +0,0 @@
:nosearch:
==========
Bank feeds
==========
.. toctree::
:titlesonly:
feeds/bank_statements
feeds/bank_synchronization
feeds/ponto
feeds/saltedge

View File

@@ -122,5 +122,5 @@ second time.
.. seealso::
- :doc:`use_cases`
- :doc:`../feeds/bank_synchronization`
- :doc:`../bank_synchronization`
- :doc:`../../receivables/customer_invoices/cash_discounts`

View File

@@ -102,4 +102,4 @@ right and validate all related payments :
:align: center
.. seealso::
* :doc:`../feeds/bank_synchronization`
:doc:`../bank_synchronization`

View File

@@ -25,7 +25,7 @@ Add a new Bank Account
======================
You can either connect your bank account to your Odoo database, or configure your bank account
manually and :doc:`upload the bank statements manually <../feeds/bank_statements>`.
manually and :doc:`upload the bank statements manually <../bank_statements>`.
Bank Synchronization
--------------------
@@ -37,7 +37,7 @@ To synchronize a new bank account, go to :menuselection:`Accounting --> Configur
instructions on-screen.
.. note::
:doc:`Click here <../../bank/feeds/bank_synchronization>` for more information about this bank
:doc:`Click here <../../bank/bank_synchronization>` for more information about this bank
synchronization.
.. image:: bank_accounts/bank_accounts_connect.png
@@ -90,6 +90,6 @@ how the bank statements are recorded and posted in the **Bank Statements** secti
:alt: Advanced configuration of a bank account in Odoo Accounting
.. seealso::
* :doc:`../../bank/feeds/bank_synchronization`
* :doc:`../feeds/bank_statements`
* `Odoo Tutorials: Accounting Basics <https://www.odoo.com/r/lsZ>`_
- :doc:`../bank_synchronization`
- :doc:`../bank_statements`
- `Odoo Tutorials: Accounting Basics <https://www.odoo.com/r/lsZ>`_

View File

@@ -55,7 +55,7 @@ Connect your bank account to your database and have your bank statements synced
so, find your bank in the list, click on *Connect*, and follow the instructions on-screen.
.. note::
:doc:`Click here <../../bank/feeds/bank_synchronization>` for more information about this feature.
:doc:`Click here <../../bank/bank_synchronization>` for more information about this feature.
If your Bank Institution cant be synchronized automatically, or if you prefer not to sync it with
your database, you may also configure your bank account manually by clicking on *Create it*, and
@@ -188,6 +188,6 @@ Send yourself a sample invoice by email to make sure everything is correctly con
.. seealso::
* :doc:`../../bank/setup/bank_accounts`
* :doc:`chart_of_accounts`
* :doc:`../../bank/feeds/bank_synchronization`
* :doc:`../../bank/bank_synchronization`
* :doc:`../../../fiscal_localizations`
* `Odoo Tutorials: Accounting Basics <https://www.odoo.com/r/lsZ>`_

View File

@@ -58,4 +58,4 @@ can change the Language to any previously installed language and click
:align: center
.. seealso::
* :doc:`../../websites/website/publish/translate`
* :doc:`../../websites/website/configuration/translate`

View File

@@ -10,7 +10,6 @@ Warehouse Management
management/products
management/warehouses
management/replenishment_strategies
management/delivery
management/incoming
management/misc

View File

@@ -1,109 +1,80 @@
==================================================================
Send Products to Customers Directly from Suppliers (Drop-shipping)
==================================================================
=============================================================
Use dropshipping to ship directly from suppliers to customers
=============================================================
What is Drop-Shipping?
======================
Dropshipping is an order fulfillment strategy that allows sellers to have items shipped directly
from suppliers to customers. Normally, a seller purchases a product from a supplier, stores it in
their inventory, and ships it to the end customer once an order is placed. With dropshipping, the
supplier is responsible for storing and shipping the item. This benefits the seller by reducing
inventory costs, including the price of operating warehouses.
Drop-Shipping is a system that allows orders taken from your store to be
shipped straight from your supplier to your customer. On a usual
delivery system, products are sent from your supplier to your warehouse
to be put in stock and then shipped to your customers after ordering.
Configure products to be dropshipped
====================================
With drop-shipping, no item is stocked. When a customer places an order
in your shop, the item is delivered straight from the supplier to the
customer. Therefore, the product doesn't need to get through your
warehouse.
To use dropshipping as a fulfillment strategy, navigate to the :guilabel:`Purchase` app and select
:menuselection:`Configuration --> Settings`. Under the :guilabel:`Logistics` heading, click the
:guilabel:`Dropshipping` checkbox, and :guilabel:`Save` to finish.
Points to be Considered while Implementing Drop-Shipping
========================================================
Next, go to the :guilabel:`Sales` app, click :menuselection:`Products --> Products` and choose an
existing product or select :guilabel:`Create` to configure a new one. On the product page, make sure
that the :guilabel:`Can be Sold` and :guilabel:`Can be Purchased` checkboxes are enabled.
- Use drop-shipping only for the products you can't or don't want to keep in stock.
One reason is that you'll always make smaller
margins on items that are drop-shipped, so you should keep it
only for items that take up a lot of space in your warehouse.
.. image:: dropshipping/sold-purchased-checkboxes.png
:align: center
:alt: Enable the "Can be Sold" and "Can be Purchased" checkboxes on the product form.
- Drop-shipping is best for niche products.
Chances are that products that are in high demand are being offered by large suppliers at a
fraction of the price you'll be able to charge, so using a more
costly shipping method won't be financially rewarding. But if
your product is unique, then it makes sense!
Click on the :guilabel:`Purchase` tab and specify a vendor and the price that they sell the product
for. Multiple vendors can be added, but the vendor at the top of the list will be the one
automatically selected for purchase orders.
- To protect your customers from bad experiences.
Test drop-shipping companies for yourself beforehand and list the best ones.
.. image:: dropshipping/product-vendor-config.png
:align: center
:alt: The product form with a vendor specified.
- Make sure time is not against you.
Drop-shipping should take a reasonable amount of time and surely not more than it would have taken you to handle it all by yourself. It's also nice to be able
to provide your customers with a tracking number.
Finally, select the :guilabel:`Inventory` tab and enable the :guilabel:`Dropship` checkbox in the
:guilabel:`Routes` section.
- Items have to be available from your supplier.
It's good to know if
the product you're selling is available upstream. If you don't
have that information, inform your customers that you don't hold
the item in stock and that it's subject to availability from a
third party.
.. image:: dropshipping/enable-dropship-route.png
:align: center
:alt: Enable the Dropship option in the product inventory tab.
Fulfill orders using dropshipping
=================================
When a customer completes an online purchase for a dropshipped product, a sales order will be
automatically created with an associated request for quotation (:abbr:`RFQ (Request for Quotation)`)
for the supplier. Sales orders can be viewed in the :guilabel:`Sales` app by selecting
:menuselection:`Orders --> Orders`. Click the :guilabel:`Purchase` smart button at the top right of
a sales order to view the associated :abbr:`RFQ (Request for Quotation)`.
.. tip::
For more information and insights about Drop-Shipping, you can read our
blog: `*What is drop-shipping and how to use
it* <https://www.odoo.com/blog/business-hacks-1/post/what-is-drop-shipping-and-how-to-use-it-250>`__.
Dropship sales orders can also be created manually through the :guilabel:`Sales` app by selecting
:menuselection:`Orders --> Orders --> Create` and adding a product configured for dropshipping.
Configure Drop-Shipping
=======================
.. image:: dropshipping/dropship-sales-order.png
:align: center
:alt: A dropship sales order with the Purchase smart button in the top right corner.
Activate the functionality in the *Purchase* application by going to :menuselection:`Configuration
--> Settings`.
Once the :abbr:`RFQ (Request for Quotation)` is confirmed, it becomes a purchase order and a
dropship receipt is created and linked to it. The receipt can be viewed by clicking the
:guilabel:`Receipt` smart button in the top right corner of the purchase order form.
.. image:: dropshipping/dropshipping_01.png
:align: center
.. image:: dropshipping/dropship-purchase-order.png
:align: center
:alt: A dropship purchase order with the Receipt smart button in the top right corner.
Then, go to the *Inventory* app, in :menuselection:`Configuration --> Settings` to
activate the *Multi-Step Routes* feature. It will allow you to make
the *Route* field appear on the sale order lines to specify you send a
product via drop-shipping.
The dropship receipt will list the supplier in the :guilabel:`Receive From` section and the customer
in the :guilabel:`Destination Location` section. Upon delivery of the product to the customer, click
on the :guilabel:`Validate` button at the top left of the dropship receipt to confirm the delivered
quantity.
.. image:: dropshipping/dropshipping_02.png
:align: center
.. image:: dropshipping/validate-dropship-receipt.png
:align: center
:alt: Validate the dropship receipt after delivery.
Now, in the *Sales* app, go to :menuselection:`Products --> Products`. Select the
product you would like to drop-ship and add a vendor pricelist which
contains the right supplier, via the purchase tab.
To view all dropship orders, simply navigate to the :guilabel:`Inventory` dashboard and click the
teal :guilabel:`# TO PROCESS` button on the :guilabel:`Dropship` card.
.. image:: dropshipping/dropshipping_03.png
:align: center
Send Products from the Suppliers Directly to the Customers
==========================================================
Create a *Sales Order* and add the product on which you just set the
vendor. Add the *Route* field thanks to the widget on the right of the
sale order line. Now, you are able to specify that your products route
is *Drop-Shipping*.
.. image:: dropshipping/dropshipping_04.png
:align: center
.. image:: dropshipping/dropshipping_05.png
:align: center
Once the sale order is confirmed, Odoo automatically generates a
*Request for Quotation* for the supplier who will proceed to the
drop-shipping. You can find it in the *Purchase* app, with the sale
order as *Source Document*.
.. image:: dropshipping/dropshipping_06.png
:align: center
Once this *Purchase Order* is confirmed, a *Receipt Order* is
created and linked to it. The source location is the vendor location and
the destination location is the customer location. Then, the product
wont go through your own stock when you validate the dropship document.
.. image:: dropshipping/dropshipping_07.png
:align: center
You can also easily access the dropship document directly from your
inventory dashboard.
.. image:: dropshipping/dropshipping_08.png
:align: center
.. image:: dropshipping/view-all-dropship-orders.png
:align: center
:alt: Click the green button on the Dropship card to view all dropship orders.

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

@@ -1,11 +0,0 @@
:nosearch:
====================
Inventory Adjustment
====================
.. toctree::
:titlesonly:
:glob:
replenishment_strategies/virtual_warehouses

View File

@@ -1,53 +0,0 @@
===============================
Resupply from another Warehouse
===============================
Configuration
=============
In order to be able to resupply from another warehouse, you need to
activate \*multi-step routes\*.
.. image:: virtual_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`.
Enter the warehouse which should be resupplied by another one. You will
have the possibility to directly indicate through which warehouse it
gets resupplied.
.. image:: virtual_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:: virtual_warehouses/virtual_warehouses_03.png
:align: center
For the demonstration, I set a reordering rule with a minimum of 5 units
in stock and a maximum of 10 units in stock, having currently 0 units on
hand. I will run the scheduler by going to :menuselection:`Inventory --> Operations -->
Run scheduler`.
.. image:: virtual_warehouses/virtual_warehouses_04.png
:align: center
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\*.
.. image:: virtual_warehouses/virtual_warehouses_05.png
:align: center
.. image:: virtual_warehouses/virtual_warehouses_06.png
:align: center
.. image:: virtual_warehouses/virtual_warehouses_07.png
:align: center

View File

@@ -11,4 +11,3 @@ Valuation Methods
reporting/inventory_valuation_config
reporting/using_inventory_valuation
reporting/integrating_landed_costs
/applications/finance/accounting/others/inventory/avg_price_valuation

View File

@@ -1,7 +1,9 @@
=================================
Inventory Valuation Configuration
Inventory valuation configuration
=================================
.. _inventory/inventory_valuation_config:
All of a company's stock on-hand contributes to the valuation of its inventory. That value should
be reflected in the company's accounting records to accurately show the value of the company and
all of its assets.
@@ -27,32 +29,32 @@ between locations in a company's inventory.
need to be periodically checked to ensure accuracy, and adjustments may be needed on an ongoing
basis depending on the needs and priorities of the business.
Types of Accounting
Types of accounting
-------------------
Accounting entries will depend on the accounting mode: Continental or Anglo-Saxon.
Accounting entries will depend on the accounting mode: *Continental* or *Anglo-Saxon*.
.. tip::
Verify the accounting mode by activating the :ref:`developer-mode`
and navigating to :menuselection:`Accounting --> Configuration --> Settings`.
Verify the accounting mode by activating the :ref:`developer-mode` and navigating to
:menuselection:`Accounting --> Configuration --> Settings`.
In Anglo-Saxon accounting, the costs of goods sold (COGS) are reported when products are sold or
In *Anglo-Saxon* accounting, the costs of goods sold (COGS) are reported when products are sold or
delivered. This means that the cost of a good is only recorded as an expense when a customer is
invoiced for a product. Interim Stock Accounts are used for the input and output accounts, and are
both Asset Accounts in the Balance Sheet.
invoiced for a product. *Interim Stock Accounts* are used for the input and output accounts, and are
both *Asset Accounts* in the balance sheet.
In Continental accounting, the cost of a good is reported as soon as a product is received into
stock. Additionally, a *single* Expense account is used for both input and output accounts in
the Balance Sheet.
In *Continental* accounting, the cost of a good is reported as soon as a product is received into
stock. Additionally, a single *Expense* account is used for both input and output accounts in
the balance sheet.
Costing Methods
Costing methods
---------------
Below are the three costing methods that can be used in Odoo for inventory valuation.
- **Standard Price**: is the default costing method in Odoo. The cost of the product is manually
defined on the product form, and this cost is used to compute the valuation. Even if the purchase
price on a Purchase Order differs, the valuation will still use the cost defined on the product
price on a purchase order differs, the valuation will still use the cost defined on the product
form.
- **Average Cost (AVCO)**: calculates the valuation of a product based on the average cost of that
product, divided by the total number of available stock on-hand. With this costing method,
@@ -81,10 +83,11 @@ valuation method should apply.
Under the :guilabel:`Inventory Valuation` heading are two labels: :guilabel:`Costing Method` and
:guilabel:`Inventory Valuation`. Pick the desired :guilabel:`Costing Method` using the drop-down
menu (e.g. :guilabel:`Standard`, :guilabel:`Average Cost (AVCO)`, or :guilabel:`First In First Out
(FIFO)` and switch the :guilabel:`Inventory Valuation` to :guilabel:`Automated`.
(FIFO)`) and switch the :guilabel:`Inventory Valuation` to :guilabel:`Automated`.
.. seealso::
:doc:`Using the inventory valuation <using_inventory_valuation>`
:doc:`Using the inventory valuation
</applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation>`
.. note::
When choosing :guilabel:`Average Cost (AVCO)` as the :guilabel:`Costing Method`, the numerical

View File

@@ -1,77 +1,130 @@
=============================
Using the inventory valuation
=============================
=========================
Using inventory valuation
=========================
Inventory valuation refers to how you value your stock. Its a very
important aspect of a business as the inventory can be the biggest asset
of a company.
*Inventory valuation* is a quintessential accounting procedure that calculates the value of on-hand
stock. Once determined, the inventory valuation amount is then incorporated into a company's overall
value.
In this documentation, we will explain how the inventory valuation works
in Odoo.
In Odoo, this process can be conducted manually— by warehouse employees physically counting the
products— or automatically through the database.
Inventory valuation: the basics
===============================
.. seealso::
:ref:`Inventory valuation configuration <inventory/inventory_valuation_config>`
Understand the basics of inventory valuation
============================================
In order to understand how moving products in and out of stock affects the company's overall value,
consider the following product and stock moves scenario below.
Receive a product
-----------------
Each time a product enters or leaves your stock, the value of your
inventory is impacted. The way it is impacted depends on the
configuration of your product (more info here).
For example, consider an physical product, a simple *table*, which is categorized as `Office
Furniture` in the product form's :guilabel:`Product Category` field.
Lets take an example with a product - a table - configured with a
*FIFO costing method* and an automated inventory valuation.
I purchase 10 tables at a cost of $10.
.. image:: using_inventory_valuation/use_inventory_valuation_01.png
:align: center
When Ill confirm the receipt of the products, the value of my inventory
will be impacted. If I want to know what this impact is, I can click on
the valuation stat button.
Navigate to the the product category itself by going to :menuselection:`Inventory app -->
Configuration --> Product Categories`, and on the form, set the :guilabel:`Costing Method` as `First
In First Out (FIFO)` and the :guilabel:`Inventory Valuation` field as `Automated`.
.. tip::
The consignment feature allows you to set owners on your stock (discover
more about the consignment feature). When you receive products that are
owned by another company, they are not taken into account in your
inventory valuation.
Alternatively access the :guilabel:`Product Categories` dashboard by clicking on the
:guilabel:`internal link` arrow on the individual product's form, by hovering over the
:guilabel:`Product Category` field.
.. image:: using_inventory_valuation/use_inventory_valuation_02.png
:align: center
Next, assume 10 tables are purchased at a price of $10.00, each. The :abbr:`PO (Purchase Order)` for
those tables will show the subtotal of the purchase as $100, plus any additional costs or taxes.
.. note::
You need access rights on the accounting module to see that button.
.. image:: using_inventory_valuation/purchase-order.png
:align: center
:alt: Purchase order with 10 tables products valued at $10 each.
In this case, I can see that the 10 tables entered the stock for a total
value of $100.
After selecting :guilabel:`Validate` on the :abbr:`PO (Purchase Order)`, use the
:guilabel:`Valuation` smart button to view how the value of inventory was impacted.
.. image:: using_inventory_valuation/use_inventory_valuation_03.png
:align: center
.. image:: using_inventory_valuation/valuation-smart-button.png
:align: center
:alt: Valuation smart button on a receipt.
I can also easily access the accounting entry that has been generated
(in case of automated inventory valuation).
.. important::
:ref:`Developer mode <developer-mode>` must be turned on to see the *Valuation* smart button.
.. image:: using_inventory_valuation/use_inventory_valuation_04.png
:align: center
.. tip::
The :doc:`consignment </applications/inventory_and_mrp/inventory/management/misc/owned_stock>`
feature allows ownership to items in stock. Thus, products owned by other companies are not
accounted for in the host company's inventory valuation.
The :guilabel:`Stock Valuation` dashboard then displays valuation of all products in the shipment,
along with their quantities and valuation. In the example of 10 tables being purchased, the
:guilabel:`Total Value` column of the dashboard would display a calculated valuation of $100.
.. image:: using_inventory_valuation/stock-valuation-product.png
:align: center
:alt: Stock valuation page depicting the products within a shipment.
In Odoo, automatic inventory valuation records are also recorded in the *Accounting* app. To access
these accounting entries, navigate to :menuselection:`Accounting --> Journal Entries`, and look for
inventory valuation entries with the `STJ` prefix in the :guilabel:`Journal` and :guilabel:`Number`
columns, respectively.
.. image:: using_inventory_valuation/inventory-valuation-entry.png
:align: center
:alt: Accounting entry for the inventory valuation of 10 tables.
Deliver a product
-----------------
In the same logic, when a table will be delivered, the stock valuation
will be impacted and you will have access to a similar information.
In the same logic, when a table is shipped to a customer and leaves the warehouse, the stock
valuation decreases. The :guilabel:`Valuation` smart button on the :abbr:`DO (Delivery Order)`,
likewise, displays the stock valuation record as it does on a :abbr:`PO (Purchase Order)`
.. image:: using_inventory_valuation/use_inventory_valuation_05.png
:align: center
.. image:: using_inventory_valuation/decreased-stock-valuation.png
:align: center
:alt: Decreased stock valuation after a product is shipped.
The inventory valuation report
------------------------------
The summary of this is accessible via the inventory valuation report
(accessible from :menuselection:`Inventory --> Reporting --> Inventory Valuation`). It gives
you, product per product, the value of your stock. By clicking on the
button *Inventory At Date*, you can have the same information for a
past date.
To view the current value of all products in the warehouse, go to :menuselection:`Inventory app -->
Reporting --> Inventory Valuation`. The records in the table are organized by product, and selecting
a product's drop-down menu displays detailed records with the :guilabel:`Date`,
:guilabel:`Quantity`, and :guilabel:`Total Value` of the inventory.
.. image:: using_inventory_valuation/use_inventory_valuation_06.png
:align: center
.. image:: using_inventory_valuation/inventory-valuation-products.png
:align: center
:alt: Inventory valuation report showing multiple products.
.. note::
The :guilabel:`Inventory At Date` button, located in the top-left corner of the :guilabel:`Stock
Valuation` dashboard, shows the inventory valuation of products available during a prior
specified date.
Update product unit price
~~~~~~~~~~~~~~~~~~~~~~~~~
For any company: lead times, supply chain failures, and other risk factors can contribute to
invisible costs. Although Odoo attempts to accurately represent the stock value, *manual valuation*
serves as an additional tool to update the unit price of products.
.. important::
Manual valuation is intended for products that can be purchased and received for a cost greater
than 0, or have product categories set with :guilabel:`Costing Method` set as either `Average
Cost (AVCO)` or `First In First Out (FIFO)`.
.. image:: using_inventory_valuation/add-manual-valuation.png
:align: center
:alt: Add manual valuation of stock value to a product.
Create manual valuation entries on the :guilabel:`Stock Valuation` dashboard by first navigating to
:menuselection:`Inventory app --> Reporting --> Inventory Valuation`, and then click the little gray
drop-down icon to the left of a product's name, to then reveal stock valuation line items below as
well as a teal :guilabel:`+ (plus)` button on the right.
Click the teal :guilabel:`+ (plus)` button to open up the :guilabel:`Product Revaluation` form,
where updates to the calculation of inventory valuation can be made, by increasing or decreasing the
unit price of each product.
.. image:: using_inventory_valuation/product-revaluation.png
:align: center
:alt: Product revaluation form adding a value of $1.00 with the reason being inflation.

View File

@@ -9,3 +9,4 @@ Warehouses
:glob:
warehouses/difference_warehouse_location
warehouses/warehouse_replenishment_transfer

View File

@@ -0,0 +1,150 @@
========================================================
Transfer products between warehouses using replenishment
========================================================
For companies that use multiple warehouses, it is often necessary to transfer items between them.
This is referred to as an *inter-warehouse transfer*. Odoo *Inventory* handles the administrative
process of inter-warehouse transfers to ensure that inventory counts remain accurate during and
after the transfer. This document will detail the method for conducting an inter-warehouse transfer
using replenishment.
Configure warehouses for inter-warehouse replenishment
======================================================
First, ensure the :guilabel:`Multi-Step Routes` setting is enabled by navigating to
:menuselection:`Inventory --> Configuration --> Settings`, and then check the box under the
:guilabel:`Warehouse` tab. This will provide additional configuration options when creating a second
warehouse that are needed for inter-warehouse replenishment.
By default, Odoo comes with a main warehouse already configured. If an additional warehouse has not
already been created, do so now from the :guilabel:`Inventory` module by selecting
:menuselection:`Configuration --> Warehouses --> Create`. Otherwise, select the warehouse that
products will be transferred to from the :guilabel:`Warehouses` page and then click :guilabel:`Edit`
to change its settings. Configure the warehouse as follows:
- :guilabel:`Warehouse`: choose a name that is not already being used for another warehouse (e.g.
`Alternative Warehouse`)
- :guilabel:`Short Name`: choose a short name by which the warehouse will be identified (e.g.
`ALT_WH`)
Click :guilabel:`Save` and the new warehouse will be created. In addition, a new :guilabel:`Resupply
From` field will appear on the warehouse's form. Click :guilabel:`Edit` and then check the box next
to the warehouse that will be used to resupply the warehouse that is currently being configured.
.. image:: warehouse_replenishment_transfer/new-warehouse-configuration.png
:align: center
:alt: A warehouse settings form configured to allow resupplying between warehouses.
.. note::
For the purposes of this demonstration, the warehouse that products are transferred from
(outgoing) will be titled "San Francisco", and the warehouse that products are transferred to
(incoming) will be titled "San Francisco 2".
Configure products for inter-warehouse replenishment
====================================================
Products must also be configured properly in order for them to be transferred between warehouses.
Navigate to :menuselection:`Inventory --> Products --> Products` and select an existing product or
:guilabel:`Create` a new one, if necessary.
Then, on the product form, go to the :guilabel:`Inventory` tab and enable the checkbox for
:guilabel:`X: Supply Product from Y`, with *X* being the warehouse receiving the transferred
products and *Y* being the warehouse that products are transferred from.
.. image:: warehouse_replenishment_transfer/product-transfer-configuration.png
:align: center
:alt: Enable the checkbox to resupply one warehouse from another.
Replenish one warehouse from another
====================================
Starting in the :menuselection:`Inventory` module, select :menuselection:`Products --> Products` and
then choose the product that will be replenished. Click the :guilabel:`Replenish` button on the top
left of the product page and fill out the pop-up form as follows:
- :guilabel:`Quantity`: the number of units that will be sent to the warehouse being replenished
- :guilabel:`Scheduled Date`: the date that the replenishment is scheduled to take place
- :guilabel:`Warehouse`: the warehouse that will be replenished
- :guilabel:`Preferred Routes`: select `X: Supply Product from Y`, with *X* being the warehouse to
be replenished and *Y* being the warehouse that the product will be transferred from
.. image:: warehouse_replenishment_transfer/product-replenishment-form.png
:align: center
:alt: The form for replenishing a product.
Click :guilabel:`Confirm` and a delivery order will be created for the outgoing warehouse along with
a receipt for the warehouse that will receive the product. Depending on the configuration settings
for the outgoing and incoming warehouses, processing delivery orders and receipts will require
between one and three steps. This document will detail how to process one-step deliveries and
receipts.
Process the delivery order
--------------------------
The first stage of a replenishment order is processing the delivery from the warehouse that the
product is being transferred from. On the :menuselection:`Inventory` dashboard, select the
:guilabel:`X to Process` button on the :guilabel:`Delivery Orders` card for the outgoing warehouse,
then the delivery order created for the replenishment. On the delivery order page, click the
:guilabel:`Check Availability` button in the top left to reserve the quantity of the product to be
transferred. Once the delivery has been dispatched, click the :guilabel:`Validate` button to
register the quantities shipped.
.. image:: warehouse_replenishment_transfer/delivery-orders-card.png
:align: center
:alt: The delivery orders card for the outgoing warehouse.
Process the receipt
-------------------
Once the goods arrive at the incoming warehouse, the receipt created for that warehouse must be
processed as well. Return to the :menuselection:`Inventory` dashboard and select the :guilabel:`X to
Process` button on the :guilabel:`Receipts` card for the incoming warehouse, then the receipt
created for the replenishment. On the receipt page, click the :guilabel:`Validate` button in the top
left of the page to register the quantities received.
.. image:: warehouse_replenishment_transfer/receipts-card.png
:align: center
:alt: The delivery orders card for the outgoing warehouse.
After processing the receipt, the products transferred will now appear in the inventory of the
incoming warehouse. The stock numbers for both warehouses can be viewed by returning to the product
page and selecting the :guilabel:`X Units On Hand` button at the top of the screen.
Automate inter-warehouse replenishment
======================================
Using reordering rules, it is possible to automate the process of replenishing one warehouse from
another.
To get started, navigate to :menuselection:`Inventory --> Products --> Products`, and then
choose the product that will be replenished. From the product page, select the :guilabel:`Reordering
Rules` smart button at the top of the form, and then on the next page, click :guilabel:`Create` to
configure the form as follows:
- :guilabel:`Location`: the location that the reordering rule will replenish when triggered, in this
case, the incoming warehouse
- :guilabel:`Min Quantity`: when the quantity on hand at the incoming warehouse falls below this
number, the reordering rule will be triggered
- :guilabel:`Max Quantity`: when the reordering rule is triggered, the product will be replenished
at the incoming warehouse up to this quantity
- :guilabel:`Multiple Quantity`: specify if the product should be replenished in batches of a
certain quantity; for example, a product could be replenished in batches of 20
- :guilabel:`UoM`: the unit of measure used for reordering the product; this value can simply be
`Units`, or a specific unit of measurement for weight, length, etc.
.. image:: warehouse_replenishment_transfer/reordering-rule-configuration.png
:align: center
:alt: A fully configured reordering rule.
Finish by clicking :guilabel:`Save` and the reordering rule will be created. Now, when the scheduler
runs automatically each day, a transfer will be created for each reordering rule that has been
triggered.
.. tip::
To manually trigger reordering rules, start from the :menuselection:`Inventory` module and select
:menuselection:`Operation --> Run Scheduler`, then click the green :guilabel:`Run Scheduler`
button in the pop-up that appears.
After the scheduler runs, a delivery order and receipt will be created for the outgoing and incoming
warehouses, respectively. Both the delivery order and receipt should be processed using the same
method as detailed above.

View File

@@ -9,6 +9,5 @@ Concepts
:glob:
concepts/use-routes
concepts/inter_warehouse
concepts/cross_dock
concepts/stock_warehouses

View File

@@ -1,129 +0,0 @@
=========================
Inter-warehouse transfers
=========================
When owning several warehouses, you might need to transfer goods from one warehouse to another.
Proceeding to such behavior is called *inter-warehouse transfers*. If this action is physically
easy to perform, the administrative part can be arduous. Fortunately, Odoo comes with an intuitive
flow that helps save time when registering those transfers.
Configuration
=============
First of all, go to :menuselection:`Configuration --> Settings` and enable **Storage Locations**.
Then, hit save.
.. image:: inter_warehouse/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
========================
The next step is to create your new warehouse. To do so, 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:: inter_warehouse/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:: inter_warehouse/new-transfer-types.png
:align: center
:alt: Inventory app dashboard displaying new transfer type for the recently created warehouse.
Creating a new inventory
========================
If you create a new warehouse, you might already have an existing inventory in it. In that case, you
should create an inventory in Odoo. If this is not the case, you can skip this step.
Into the inventory application, select :menuselection:`Operations --> Inventory Adjustment`.
Then, create a new inventory by clicking on **Create**. Fill in the **Inventory Reference**,
**Date** and make sure to select the right warehouse and location.
.. image:: inter_warehouse/annual-inventory.png
:align: center
:alt: View of the inventory adjustment form before hitting the start button.
Next, click on **Start Inventory**. You will be able to input your existing products in the new
window. Select add an item and indicate the **Real Quantity** available in the warehouse.
The theoretical quantity can not be changed as it represents a computed one from purchase and sales
orders.
.. image:: inter_warehouse/in-progress-annual-inventory.png
:align: center
:alt: View of the actual physical inventory of the new warehouse.
.. tip::
Don't forget to validate your inventory once you have recorded the state of all your products.
Create an internal transfer
===========================
The final step is to create your internal transfer. If you want to transfer eight units of a product
from your first warehouse to another one, proceed as follows:
From your dashboard, select an internal movement of one of the two warehouses. To do so, click on
:menuselection:`Manage --> Planned Transfer`.
.. image:: inter_warehouse/internal-transfer-choice.png
:align: center
:alt: View of the choice between planned transfer and immediate transfer.
On the new window, select the source location zone (in this case, your "old" warehouse) and the
destination location zone (in this case, your "new" warehouse).
Add the products you want to transfer by clicking on **Add an Item**, then click on **Save** and
**Mark as TODO** once you are done.
.. image:: inter_warehouse/planned-internal-transfer.png
:align: center
:alt: View of the internal transfer form.
If you selected **Immediate Transfer**, Odoo processes the transfer automatically after you clicked
on **Validate**.
If you select **Mark as TODO**, Odoo puts the transfer in **Waiting Availability** status.
Click on **Reserve** to reserve the number of products in your source warehouse.
It is also possible to manually transfer each product:
- Via your dashboard, select the transfer order in the source location.
.. image:: inter_warehouse/in-progress-internal-transfer.png
:align: center
:alt: View of the dashboard with a zoom of the pending internal transfer.
- Select the right transfer order.
.. image:: inter_warehouse/internal-transfers-list.png
:align: center
:alt: View of the pending internal transfers list.
- Click on the little pencil logo in the lower right corner to open the operation details window.
In this new window you can manually indicate how many products you process.
.. image:: inter_warehouse/backorder.png
:align: center
:alt: View of a backorder pop-up window because all products are not moved at the same time.
.. note::
If you decide to process the transfer order partially (e.g., a part of the products can't be
shipped yet due to an unexpected event), Odoo automatically asks if you wish to create a
**backorder**.
- Create a backorder if you expect to process the remaining products later.
- Do not create a backorder if you will not supply/receive the remaining products.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -8,3 +8,4 @@ Quality control
:titlesonly:
quality_control/quality_control_points
quality_control/quality_alerts

View File

@@ -0,0 +1,79 @@
=====================
Create quality alerts
=====================
Configuring quality control points is a great way to ensure that quality checks are performed at
routine stages during specific operations. However, quality issues can often appear outside of these
scheduled checks. Using Odoo *Quality*, users can create quality alerts for issues that are not
detected by automated processes.
.. seealso::
:doc:`Add quality control points <quality_control_points>`
Find and fill out the quality alerts form
=========================================
In some situations, it is necessary to manually create quality alerts within the *Quality* module.
.. example::
A helpdesk user who is notified of a product defect by a customer ticket can create an alert that
brings the issue to the attention of the relevant quality team.
To create a new quality alert, start from the :menuselection:`Quality` module and select
:menuselection:`Quality Control --> Quality Alerts --> Create`. The quality alert form can then be
filled out as follows:
- :guilabel:`Title`: choose a concise, yet descriptive title for the quality alert
- :guilabel:`Product`: the product about which the quality alert is being created
- :guilabel:`Product Variant`: the specific variant of the product that has the quality issue, if
applicable
- :guilabel:`Lot`: the lot number assigned to the product
- :guilabel:`Work Center`: the work center where the quality issue originated
- :guilabel:`Picking`: the picking operation during which the quality issue originated
- :guilabel:`Team`: the quality team that will be notified by the quality alert
- :guilabel:`Responsible`: the individual responsible for managing the quality alert
- :guilabel:`Tags`: classify the quality alert based on user-created tags
- :guilabel:`Root Cause`: the cause of the quality issue, if known
- :guilabel:`Priority`: assign a priority between one and three stars to ensure more
urgent issues are prioritized
The tabs at the bottom of the form can be used to provide additional information to quality teams:
- :guilabel:`Description`: provide additional details about the quality issue
- :guilabel:`Corrective Actions`: the method for fixing affected products
- :guilabel:`Preventive Actions`: procedures for preventing the issue from occurring in
the future
- :guilabel:`Miscellaneous`: the product vendor (if applicable), the company that produces
the product, and the date assigned
.. image:: quality_alerts/quality-alert-form.png
:align: center
:alt: An example of a completed quality alert form.
Add quality alerts during the manufacturing process
===================================================
Odoo enables manufacturing employees to create quality alerts within a work order without accessing
the *Quality* module. From the work order tablet view, click the :guilabel:` ☰ ` hamburger menu
icon in the top left corner and select :guilabel:`Quality Alert`.
.. image:: quality_alerts/work-order-tablet-view-menu-button.png
:align: center
:alt: Access the work order menu.
The quality alert form can then be filled out as detailed in the previous section. After saving the
form, a new alert will appear on the :guilabel:`Quality Alerts` dashboard that can be found through
the :menuselection:`Quality --> Quality Control` menu.
Manage existing quality alerts
==============================
By default, quality alerts are organized in a kanban board view. The stages of the kanban board are
fully configurable and alerts can be moved from one stage to the next by dragging and dropping or
from within each alert. Additional options are available for viewing alerts, including graph,
calendar, and pivot table views.
.. tip::
Filter alerts based on diverse criteria like date assigned or date closed. Alerts can also be
grouped by quality team, root cause, or other parameters found under the :guilabel:`Filters`
button menu.

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -1,96 +1,94 @@
============================================
Dont run out of stock with reordering rules
============================================
==========================
Configure reordering rules
==========================
To make sure you never run out of stock, you can define *Reordering Rules* on products. Thanks to
them, Odoo can help you replenish your stock automatically when it reaches set quantities or
whenever a sales order is created.
For certain products, it is necessary to ensure that there is always a minimum amount available on
hand at any given time. By adding a reordering rule to a product, it is possible to automate the
reordering process so that a purchase order is automatically created whenever the amount on hand
falls below a set threshold.
.. important:: You need to install the *Inventory app* to use reordering rules.
.. important::
The *Inventory* module must be installed to use reordering rules.
Configure your storable product
===============================
Configure products for reordering
=================================
Open or create a product with its *Product Type* set to *Storable Product*.
Products must be configured in a specific way before a reordering rule can be added to them.
.. image:: reordering/reordering-storable-product.png
Starting from the :menuselection:`Inventory`, :menuselection:`Manufacturing`,
:menuselection:`Purchase`, or :menuselection:`Sales` module, navigate to :menuselection:`Products
--> Products` and then click :guilabel:`Create` to make a new product. Alternatively, find a product
that already exists in the database and click into it's product form.
Next, on the product form, enable reordering by checking the :guilabel:`Can be Purchased` option
underneathe the :guilabel:`Product Name` field. Finally, set the :guilabel:`Product Type` to
`Storable Product` under the :guilabel:`General Information` tab.
.. image:: reordering/product-configured-for-reordering.png
:align: center
:alt: Set the product type in Odoo
:alt: Configure a product for reordering in Odoo.
As you are purchasing this product from a vendor, go to the product's *Purchase tab* and add a
vendor by clicking on *Add a line*. You can add multiple vendors, but make sure to order them
correctly, since reordering rules always use the first vendor in a list. You can add a price, but it
isn't necessary for the reordering rule to work. In addition, you can add a minimum quantity you
must order to benefit from that price.
Add a reordering rule to a product
==================================
After properly configuring a product, a reordering rule can be added to it by selecting the now
visible :guilabel:`Reordering Rules` tab at the top of that product's form, and then clicking
:guilabel:`Create` on the :guilabel:`Reordering Rules` dashboard.
.. image:: reordering/reordering-rules-tab.png
:align: center
:alt: Access reordering rules for a product from the product page in Odoo.
Once created, the reordering rule can be configured to generate purchase orders automatically by
defining the following fields:
- :guilabel:`Location` specifies where the ordered quantities should be stored once they are
received and entered into stock.
- :guilabel:`Min Quantity` sets the lower threshold for the reordering rule while :guilabel:`Max
Quantity` sets the upper threshold. If the stock on hand falls below the minimum quantity, a new
purchase order will be created to replenish it up to the maximum quantity.
.. example::
If :guilabel:`Min Quantity` is set to `5` and :guilabel:`Max Quantity` is set to `25` and the
stock on hand falls to four, a purchase order will be created for 21 units of the product.
- :guilabel:`Multiple Quantity` can be configured so that products are only ordered in batches of a
certain quantity. Depending on the number entered, this can result in the creation of a purchase
order that would put the resulting stock on hand above what is specified in the :guilabel:`Max
Quantity` field.
.. example::
If :guilabel:`Max Quantity` is set to `100` but :guilabel:`Multiple Quantity` is set to order
the product in batches of `200`, a purchase order will be created for 200 units of the
product.
- :guilabel:`UoM` specifies the unit of measurement by which the quantity will be ordered. For
discrete products, this should be set to `Units`. However, it can also be set to units of
measurement like `Volume` or `Weight` for non-discrete products like water or bricks.
.. image:: reordering/reordering-rule-configuration.png
:align: center
:alt: Configure the reordering rule in Odoo.
Manually trigger reordering rules using the scheduler
=====================================================
Reordering rules will be automatically triggered by the scheduler, which runs once a day by
default. To trigger reordering rules manually, navigate to :menuselection:`Inventory --> Operations
--> Run Scheduler`. On the pop-up window, confirm the manual action by clicking :guilabel:`Run
Scheduler`.
.. note::
If the quantity Odoo has to reorder doesn't match the minimum quantity specified, Odoo selects
the next vendor on your list. If you don't have another vendor on your list, the reordering rule
won't work. For that purpose, you can add the same vendor multiple times with different prices
for different quantities.
Manually triggering reordering rules will also trigger any other scheduled actions.
.. image:: reordering/reordering-product-vendor.png
:align: center
:alt: Add vendor to a product in Odoo
Manage reordering rules
=======================
.. tip::
By default, a draft purchase order is created. However, if you have enabled *Purchase
Agreements*, you can *Propose a call for tenders* instead as shown in the image above. For more
information, see :doc:`../manage_deals/agreements`
To manage the reordering rules for a single product, navigate to that product page's form and select
the :guilabel:`Reordering Rules` tab at the top of the form.
Next, make sure the correct route is selected under the Inventory tab of your product. If you
created your product within the Purchase app, the *Buy* route is selected by default. If you are
looking to dropship your product, select *Dropship*.
.. image:: reordering/reordering-product-routes.png
:align: center
:alt: Choose product routes in Odoo
Set up your reordering rule
===========================
Open your product and click on the *Reordering Rules* button.
.. image:: reordering/reordering-button.png
:align: center
:alt: Reordering rules button on a product in Odoo
Once you are on the product's reordering rules page, click on *Create*.
.. tip::
You can access and create reordering rules from :menuselection:`Inventory --> Configuration -->
Reordering Rules` and from :menuselection:`Inventory --> Operations --> Replenishment`. By
default, the replenishment view presents a summary of all the products that you might need to
purchase to fulfill your sales orders. From there, you can ask Odoo with a single click to order
a product once or automate all orders for that product, future orders included.
Define quantities
-----------------
You can set a **minimum quantity** your stock should always have. Once set, if your stock goes below
the minimum quantity, and if you selected the Buy route, a request for quotation is automatically
generated to reach that minimum quantity, plus any additional quantity needed to fill in a sales
order for example.
If you set a **maximum quantity**, every time the product has to be replenished, enough products are
reordered to reach the maximum quantity.
If you want to order only the exact quantity needed to fill in a sales order for example, set both
both the minimum and maximum quantity to **zero**. The quantity mentioned in the sales order is then
used by the reordering rule.
You can also add a **quantity multiple** to only order products in batches of a certain quantity.
Click on the optional columns drop-down menu, and select *Multiple Quantity* to show the column.
Bear in mind that you might go over the maximum quantity you set if your rule includes a quantity
multiple, as Odoo orders enough products to reach the maximum quantity and respect the set quantity
multiple.
.. image:: reordering/reordering-create-rule.png
:align: center
:alt: Create a reordering rule in Odoo
.. note:: If you selected multiple routes for the same product under its Inventory tab, make sure to
select your *Preferred Route* on your reordering rule by clicking on the optional columns
drop-down menu, adding the *Preferred Route* column, and selecting the right route.
.. Add link when inventory doc on replenishment is updated for v14. .. seealso:: - :doc:`../../..inventory/xxx/xxx`
To manage all reordering rules for every product, go to :menuselection:`Inventory --> Configuration
--> Reordering Rules`. From this dashboard, typical bulk actions in Odoo can be performed such as
exporting data or archiving rules that are no longer needed. As well, the :guilabel:`Filters`,
:guilabel:`Group By` or triple-dotted menu on the form are available to search for and/or organize
the reordering rules as desired.

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Some files were not shown because too many files have changed in this diff Show More