[IMP] inventory: Merge continental/anglo-saxon documentation pages

This commit is contained in:
Yannick Tivisse 2020-01-02 14:38:36 +01:00
parent 5272847007
commit 98331e1f4c
12 changed files with 361 additions and 748 deletions

View File

@ -126,7 +126,7 @@
data.addWatch('chart', function (k, m, prev, next) {
React.render(
React.createElement(Controls, {p: next}),
document.getElementById('chart-controls'));
document.getElementById('chart-controls-anglo-saxon'));
React.render(
React.createElement(Chart, {p: next}),
document.querySelector('.valuation-chart-anglo-saxon'));
@ -137,7 +137,7 @@
if (!chart) { return; }
var controls = document.createElement('div');
controls.setAttribute('id', 'chart-controls');
controls.setAttribute('id', 'chart-controls-anglo-saxon');
chart.parentNode.insertBefore(controls, chart);
data.reset(Immutable.Map({

View File

@ -126,7 +126,7 @@
data.addWatch('chart', function (k, m, prev, next) {
React.render(
React.createElement(Controls, {p: next}),
document.getElementById('chart-controls'));
document.getElementById('chart-controls-continental'));
React.render(
React.createElement(Chart, {p: next}),
document.querySelector('.valuation-chart-continental'));
@ -137,7 +137,7 @@
if (!chart) { return; }
var controls = document.createElement('div');
controls.setAttribute('id', 'chart-controls');
controls.setAttribute('id', 'chart-controls-continental');
chart.parentNode.insertBefore(controls, chart);
data.reset(Immutable.Map({

View File

@ -6,6 +6,5 @@ Inventory
:titlesonly:
inventory/avg_price_valuation
../../../inventory/management/reporting/valuation_methods_continental
../../../inventory/management/reporting/valuation_methods_anglo_saxon
../../../inventory/management/reporting/inventory_valuation_config

View File

@ -5,5 +5,5 @@ Business Mementos
.. toctree::
Accounting Memento (US GAAP) <https://odoo.com/documentation/user/accounting/overview/main_concepts/memento.html>
Double-Entry Inventory <https://odoo.com/documentation/user/inventory/overview/concepts/double-entry.html>
Inventory Valuation (Continental Accounting) <https://odoo.com/documentation/user/inventory/management/reporting/valuation_methods_continental.html>
Inventory Valuation (Anglo-Saxon Accounting) <https://odoo.com/documentation/user/inventory/management/reporting/valuation_methods_anglo_saxon.html>
Inventory Valuation (Continental Accounting) <https://odoo.com/documentation/user/inventory/management/reporting/inventory_valuation_config.html>
Inventory Valuation (Anglo-Saxon Accounting) <https://odoo.com/documentation/user/inventory/management/reporting/inventory_valuation_config.html>

View File

@ -299,8 +299,7 @@ texinfo_documents = [
odoo_cover_external = {
'https://odoo.com/documentation/user/accounting/overview/main_concepts/memento.html' : 'banners/m_accounting.jpg',
'https://odoo.com/documentation/user/inventory/overview/concepts/double-entry.html' : 'banners/m_1.jpg',
'https://odoo.com/documentation/user/inventory/management/reporting/valuation_methods_continental.html' : 'banners/m_2.jpg',
'https://odoo.com/documentation/user/inventory/management/reporting/valuation_methods_anglo_saxon.html' : 'banners/m_2.jpg',
'https://odoo.com/documentation/user/inventory/management/reporting/inventory_valuation_config.html' : 'banners/m_2.jpg',
}
github_user = 'odoo'

View File

@ -9,6 +9,4 @@ Valuation Methods
reporting/inventory_valuation_config
reporting/using_inventory_valuation
reporting/integrating_landed_costs
reporting/valuation_methods_continental
reporting/valuation_methods_anglo_saxon
../../accounting/others/inventory/avg_price_valuation

View File

@ -1,3 +1,5 @@
:code-column:
=================================
Inventory valuation configuration
=================================
@ -19,8 +21,160 @@ Costing Methods: Standard, FIFO, AVCO
The costing method is defined in the product category. There are three
options available. Each of them is explained in detail below.
.. image:: media/inventory_valuation_config_01.png
:align: center
.. rst-class:: alternatives doc-aside
Standard Price
.. rst-class:: values-table
.. list-table::
:widths: 28 18 18 18 18
:header-rows: 1
:stub-columns: 1
* - Operation
- Unit Cost
- Qty On Hand
- Delta Value
- Inventory Value
* -
- €10
- 0
-
- €0
* - Receive 8 Products at €10
- €10
- 8
- +8*€10
- €80
* - Receive 4 Products at €16
- €10
- 12
- +4*€10
- €120
* - Deliver 10 Products
- €10
- 2
- | -10*€10
|
- €20
* - Receive 2 Products at €9
- €10
- 4
- +2*€10
- €40
**Standard Price** means you estimate the cost price based
on direct materials, direct labor and manufacturing overhead
at the end of a specific period (usually once a year). You
enter this cost price in the product form.
Average Price
.. rst-class:: values-table
.. list-table::
:widths: 28 18 18 18 18
:header-rows: 1
:stub-columns: 1
* - Operation
- Unit Cost
- Qty On Hand
- Delta Value
- Inventory Value
* -
- €0
- 0
-
- €0
* - Receive 8 Products at €10
- €10
- 8
- +8*€10
- €80
* - Receive 4 Products at €16
- €12
- 12
- +4*€16
- €144
* - Deliver 10 Products
- €12
- 2
- | -10*€12
|
- €24
* - Receive 2 Products at €6
- €9
- 4
- +2*€6
- €36
The **Average Price** method recomputes the cost price as a receipt order
has been processed, based on prices defined in tied purchase orders:
FORMULA (see here attached)
The average cost does not change when products leave the warehouse.
From an accounting point of view, this method is mainly justified in
case of huge purchase price variations and is quite unusual due to its
operational complexity. Your actually need a software like Odoo to
easily keep this cost up-to-date.
This method is dedicated to advanced users. It requires well established
business processes because the order in which you process receipt orders
matters in the cost computation.
FIFO
.. rst-class:: values-table
.. list-table::
:widths: 28 18 18 18 18
:header-rows: 1
:stub-columns: 1
* - Operation
- Unit Cost
- Qty On Hand
- Delta Value
- Inventory Value
* -
- €0
- 0
-
- €0
* - Receive 8 Products at €10
- €10
- 8
- +8*€10
- €80
* - Receive 4 Products at €16
- €12
- 12
- +4*€16
- €144
* - Deliver 10 Products
- €16
- 2
- | -8*€10
| -2*€16
- €32
* - Receive 2 Products at €6
- €11
- 4
- +2*€6
- €44
For **Real Price** (FIFO, LIFO, FEFO, etc), the costing is further
refined by the removal strategy set on the warehouse location
or product's internal category. The default strategy is FIFO. With
such method, your inventory value is computed from the real cost
of your stored products (cfr. Quantitative Valuation) and not from
the cost price shown in the product form. Whenever you ship items,
the cost price is reset to the cost of the last item(s) shipped.
This cost price is used to value any product not received from a
purchase order (e.g. inventory adjustments).
FIFO is advised if you manage all your workflow into Odoo (Sales,
Purchases, Inventory). It suits any kind of users.
Standard Price
--------------
@ -80,6 +234,139 @@ value, go in Inventory > Reporting > Inventory Valuation.
.. tip::
If the stock value has decreased, the assets account will be credited.
Continental Accounting
~~~~~~~~~~~~~~~~~~~~~~
In a periodic inventory valuation, goods reception and
outgoing shipments have no direct impact in the accounting.
At the end of the month or year, the accountant posts one
journal entry representing the value of the physical inventory.
This is the default configuration in Odoo and it works
out-of-the-box. Check following operations and find out how
Odoo is managing the accounting postings.
.. rst-class:: alternatives doc-aside
Vendor Bill
.. rst-class:: values-table
============================= ===== ======
\ Debit Credit
============================= ===== ======
Assets: Inventory 50
Assets: Deferred Tax Assets 4.68
Liabilities: Accounts Payable 54.68
============================= ===== ======
Configuration:
* Purchased Goods: defined on the product or on the internal category of related product (Expense Account field)
* Deferred Tax Assets: defined on the tax used on the purchase order line
* Accounts Payable: defined on the vendor related to the bill
Goods Receptions
No Journal Entry
Customer Invoice
.. rst-class:: values-table
===================================== ===== ======
\ Debit Credit
===================================== ===== ======
Revenues: Sold Goods 100
Liabilities: Deferred Tax Liabilities 9
Assets: Accounts Receivable 109
===================================== ===== ======
Configuration:
* Revenues: defined on the product or on the internal category of related product (Income Account field)
* Deferred Tax Liabilities: defined on the tax used on the invoice line
* Accounts Receivable: defined on the customer (Receivable Account)
The fiscal position used on the invoice may have a rule that replaces the
Income Account or the tax defined on the product by another one.
Customer Shipping
No Journal Entry
Manufacturing Orders
No Journal Entry
.. raw:: html
<hr style="float: none; visibility: hidden; margin: 0;">
At the end of the month/year, your company does a physical inventory
or just relies on the inventory in Odoo to value the stock into your books.
Create a journal entry to move the stock variation value from your
Profit&Loss section to your assets.
.. h:div:: doc-aside
.. rst-class:: values-table
===================================== ===== ======
\ Debit Credit
===================================== ===== ======
Assets: Inventory X
Expenses: Inventory Variations X
===================================== ===== ======
If the stock value decreased, the **Inventory** account is credited
and te **Inventory Variations** debited.
.. raw:: html
<hr style="float: none; visibility: hidden; margin: 0;">
Anglo-Saxon Accounting
~~~~~~~~~~~~~~~~~~~~~~
.. rst-class:: alternatives doc-aside
Vendor Bill
.. rst-class:: values-table
============================= ===== ======
\ Debit Credit
============================= ===== ======
Assets: Inventory 50
Assets: Deferred Tax Assets 4.68
Liabilities: Accounts Payable 54.68
============================= ===== ======
Configuration:
* Purchased Goods: defined on the product or on the internal category of related product
(Expense Account field)
* Deferred Tax Assets: defined on the tax used on the purchase order line
* Accounts Payable: defined on the vendor related to the bill
Goods Receptions
No Journal Entry
Customer Invoice
.. rst-class:: values-table
===================================== ===== ======
\ Debit Credit
===================================== ===== ======
Revenues: Sold Goods 100
Liabilities: Deferred Tax Liabilities 9
Assets: Accounts Receivable 109
===================================== ===== ======
Configuration:
* Revenues: defined on the product or on the internal category of related
product (Income Account field)
* Deferred Tax Liabilities: defined on the tax used on the invoice line
* Accounts Receivable: defined on the customer (Receivable Account)
The fiscal position used on the invoice may have a rule that replaces the
Income Account or the tax defined on the product by another one.
Customer Shipping
No Journal Entry
Manufacturing Orders
No Journal Entry
.. raw:: html
<hr style="float: none; visibility: hidden; margin: 0;">
Automated Inventory Valuation
-----------------------------
@ -106,9 +393,67 @@ Usually, based on your country, the correct accounting mode will be
chosen by default. If you want to verify your accounting mode, activate
the developer mode and open your accounting settings.
.. image:: media/inventory_valuation_config_03.png
:align: center
Continental Accounting
~~~~~~~~~~~~~~~~~~~~~~
.. seealso::
* `How to do an inventory valuation? (Anglo-Saxon Accounting) <https://www.odoo.com/documentation/user/13.0/inventory/management/reporting/valuation_methods_anglo_saxon.html>`_
* `How to do an inventory valuation? (Continental Accounting) <https://www.odoo.com/documentation/user/13.0/inventory/management/reporting/valuation_methods_continental.html>`_
.. h:div:: valuation-chart-continental doc-aside
.. placeholder
.. raw:: html
<hr style="float: none; visibility: hidden; margin: 0;">
.. h:div:: doc-aside
**Configuration:**
- Accounts Receivable/Payable: defined on the partner (Accounting tab)
- Deferred Tax Assets/Liabilities: defined on the tax used on the invoice line
- Revenues/Expenses: defined by default on product's internal category; can be
also set in product form (Accounting tab) as a replacement value.
- Inventory Variations: to set as Stock Input/Output Account in product's internal
category
- Inventory: to set as Stock Valuation Account in product's internal category
Anglo-Saxon Accounting
~~~~~~~~~~~~~~~~~~~~~~
.. h:div:: valuation-chart-anglo-saxon doc-aside
.. placeholder
.. raw:: html
<hr style="float: none; visibility: hidden; margin: 0;">
.. h:div:: doc-aside
**Configuration:**
- Accounts Receivable/Payable: defined on the partner (Accounting tab)
- Deferred Tax Assets/Liabilities: defined on the tax used on the
invoice line
- Revenues: defined on the product category as a default, or specifically
to a specific product.
- Expenses: this is where you should set the "Cost of Goods Sold" account.
Defined on the product category as a default value, or specifically on
the product form.
- Goods Received Not Purchased: to set as Stock Input Account in product's
internal category
- Goods Issued Not Invoiced: to set as Stock Output Account in product's
internal category
- Inventory: to set as Stock Valuation Account in product's internal category
- Price Difference: to set in product's internal category or in product
form as a specific replacement value

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -1,369 +0,0 @@
:code-column:
==========================================================
How to do an inventory valuation? (Anglo-Saxon Accounting)
==========================================================
Every year your inventory valuation has to be recorded in your
balance sheet. This implies two main choices:
- the way you compute the cost of your stored items
(Standard vs. Average vs. Real Price);
- the way you record the inventory value into your books
(periodic vs. Perpetual).
Costing Method
==============
.. rst-class:: alternatives doc-aside
Standard Price
.. rst-class:: values-table
.. list-table::
:widths: 28 18 18 18 18
:header-rows: 1
:stub-columns: 1
* - Operation
- Unit Cost
- Qty On Hand
- Delta Value
- Inventory Value
* -
- $10
- 0
-
- $0
* - Receive 8 Products at $10
- $10
- 8
- +8*$10
- $80
* - Receive 4 Products at $16
- $10
- 12
- +4*$10
- $120
* - Deliver 10 Products
- $10
- 2
- | -10*$10
|
- $20
* - Receive 2 Products at $9
- $10
- 4
- +2*$10
- $40
**Standard Price** means you estimate the cost price based
on direct materials, direct labor and manufacturing overhead
at the end of a specific period (usually once a year). You
enter this cost price in the product form.
Average Price
.. rst-class:: values-table
.. list-table::
:widths: 28 18 18 18 18
:header-rows: 1
:stub-columns: 1
* - Operation
- Unit Cost
- Qty On Hand
- Delta Value
- Inventory Value
* -
- $0
- 0
-
- $0
* - Receive 8 Products at $10
- $10
- 8
- +8*$10
- $80
* - Receive 4 Products at $16
- $12
- 12
- +4*$16
- $144
* - Deliver 10 Products
- $12
- 2
- | -10*$12
|
- $24
* - Receive 2 Products at $6
- $9
- 4
- +2*$6
- $36
The **Average Price** method recomputes the cost price as a receipt order
has been processed, based on prices defined in tied purchase orders:
FORMULA (see here attached)
The average cost does not change when products leave the warehouse.
From an accounting point of view, this method is mainly justified in
case of huge purchase price variations and is quite unusual due to its
operational complexity. Your actually need a software like Odoo to
easily keep this cost up-to-date.
This method is dedicated to advanced users. It requires well established
business processes because the order in which you process receipt orders
matters in the cost computation.
FIFO
.. rst-class:: values-table
.. list-table::
:widths: 28 18 18 18 18
:header-rows: 1
:stub-columns: 1
* - Operation
- Unit Cost
- Qty On Hand
- Delta Value
- Inventory Value
* -
- $0
- 0
-
- $0
* - Receive 8 Products at $10
- $10
- 8
- +8*$10
- $80
* - Receive 4 Products at $16
- $12
- 12
- +4*$16
- $144
* - Deliver 10 Products
- $16
- 2
- | -8*$10
| -2*$16
- $32
* - Receive 2 Products at $6
- $11
- 4
- +2*$6
- $44
For **Real Price** (FIFO, LIFO, FEFO, etc), the costing is further
refined by the removal strategy set on the warehouse location
or product's internal category. The default strategy is FIFO. With
such method, your inventory value is computed from the real cost
of your stored products (cfr. Quantitative Valuation) and not from
the cost price shown in the product form. Whenever you ship items,
the cost price is reset to the cost of the last item(s) shipped.
This cost price is used to value any product not received from a
purchase order (e.g. inventory adjustments).
FIFO is advised if you manage all your workflow into Odoo (Sales,
Purchases, Inventory). It suits any kind of users.
LIFO (not accepted in IFRS)
.. rst-class:: values-table
.. list-table::
:widths: 28 18 18 18 18
:header-rows: 1
:stub-columns: 1
* - Operation
- Unit Cost
- Qty On Hand
- Delta Value
- Inventory Value
* -
- $0
- 0
-
- $0
* - Receive 8 Products at $10
- $10
- 8
- +8*$10
- $80
* - Receive 4 Products at $16
- $12
- 12
- +4*$16
- $144
* - Deliver 10 Products
- $10
- 2
- | -4*$16
| -6*$10
- $20
* - Receive 2 Products at $6
- $8
- 4
- +2*$6
- $32
For **Real Price** (FIFO, LIFO, FEFO, etc), the costing is further
refined by the removal strategy set on the warehouse location
or product's internal category. The default strategy is FIFO.
With such method, your inventory value is computed from the
real cost of your stored products (cfr. Quantitative Valuation)
and not from the cost price shown in the product form. Whenever
you ship items, the cost price is reset to the cost of the last
item(s) shipped. This cost price is used to value any product
not received from a purchase order (e.g. inventory adjustments).
LIFO is not permitted outside the United States.
Odoo allows any method. The default one is **Standard Price**.
To change it, check **Use a 'Fixed', 'Real' or 'Average' price
costing method** in Purchase settings. Then set the costing
method from products' internal categories. Categories show up
in the Inventory tab of the product form.
Whatever the method is, Odoo provides a full inventory valuation
in :menuselection:`Inventory --> Reports --> Inventory Valuation`
(i.e. current quantity in stock * cost price).
Periodic Inventory Valuation
============================
In a periodic inventory valuation, goods reception and
outgoing shipments have no direct impact in the accounting.
At the end of the month or year, the accountant posts one
journal entry representing the value of the physical inventory.
This is the default configuration in Odoo and it works
out-of-the-box. Check following operations and find out how
Odoo is managing the accounting postings.
.. rst-class:: alternatives doc-aside
Vendor Bill
.. rst-class:: values-table
============================= ===== ======
\ Debit Credit
============================= ===== ======
Assets: Inventory 50
Assets: Deferred Tax Assets 4.68
Liabilities: Accounts Payable 54.68
============================= ===== ======
Configuration:
* Purchased Goods: defined on the product or on the internal category of related product
(Expense Account field)
* Deferred Tax Assets: defined on the tax used on the purchase order line
* Accounts Payable: defined on the vendor related to the bill
Goods Receptions
No Journal Entry
Customer Invoice
.. rst-class:: values-table
===================================== ===== ======
\ Debit Credit
===================================== ===== ======
Revenues: Sold Goods 100
Liabilities: Deferred Tax Liabilities 9
Assets: Accounts Receivable 109
===================================== ===== ======
Configuration:
* Revenues: defined on the product or on the internal category of related
product (Income Account field)
* Deferred Tax Liabilities: defined on the tax used on the invoice line
* Accounts Receivable: defined on the customer (Receivable Account)
The fiscal position used on the invoice may have a rule that replaces the
Income Account or the tax defined on the product by another one.
Customer Shipping
No Journal Entry
Manufacturing Orders
No Journal Entry
.. raw:: html
<hr style="float: none; visibility: hidden; margin: 0;">
At the end of the month/year, your company does a physical inventory
or just relies on the inventory in Odoo to value the stock into your books.
Then you need to break down the purchase balance into both the inventory and
the cost of goods sold using the following formula:
Cost of goods sold (COGS) = Starting inventory value + Purchases Closing inventory value
To update the stock valuation in your books, record such an entry:
.. h:div:: doc-aside
.. rst-class:: values-table
===================================== ===== ======
\ Debit Credit
===================================== ===== ======
Assets: Inventory (closing value) X
Expenses: Cost of Good Sold X
Expenses: Purchased Goods X
Assets: Inventory (starting value) X
===================================== ===== ======
Perpetual Inventory Valuation
=============================
In a perpetual inventory valuation, goods receptions and
outgoing shipments are posted in your books in real time.
The books are therefore always up-to-date. This mode is
dedicated to expert accountants and advanced users only.
As opposed to periodic valuation, it requires some extra
configuration & testing.
Let's take the case of a reseller.
.. h:div:: valuation-chart-anglo-saxon doc-aside
.. placeholder
.. raw:: html
<hr style="float: none; visibility: hidden; margin: 0;">
.. h:div:: doc-aside
**Configuration:**
- Accounts Receivable/Payable: defined on the partner (Accounting tab)
- Deferred Tax Assets/Liabilities: defined on the tax used on the
invoice line
- Revenues: defined on the product category as a default, or specifically
to a specific product.
- Expenses: this is where you should set the "Cost of Goods Sold" account.
Defined on the product category as a default value, or specifically on
the product form.
- Goods Received Not Purchased: to set as Stock Input Account in product's
internal category
- Goods Issued Not Invoiced: to set as Stock Output Account in product's
internal category
- Inventory: to set as Stock Valuation Account in product's internal category
- Price Difference: to set in product's internal category or in product
form as a specific replacement value
.. seealso::
* :doc:`../../routes/strategies/removal`
* :doc:`../../../accounting/others/inventory/avg_price_valuation`
* :doc:`integrating_landed_costs`

View File

@ -1,358 +0,0 @@
:code-column:
==========================================================
How to do an inventory valuation? (Continental Accounting)
==========================================================
Every year your inventory valuation has to be recorded in your
balance sheet. This implies two main choices:
- the way you compute the cost of your stored items
(Standard vs. Average vs. Real Price);
- the way you record the inventory value into your books
(periodic vs. Perpetual).
Costing Method
==============
.. rst-class:: alternatives doc-aside
Standard Price
.. rst-class:: values-table
.. list-table::
:widths: 28 18 18 18 18
:header-rows: 1
:stub-columns: 1
* - Operation
- Unit Cost
- Qty On Hand
- Delta Value
- Inventory Value
* -
- €10
- 0
-
- €0
* - Receive 8 Products at €10
- €10
- 8
- +8*€10
- €80
* - Receive 4 Products at €16
- €10
- 12
- +4*€10
- €120
* - Deliver 10 Products
- €10
- 2
- | -10*€10
|
- €20
* - Receive 2 Products at €9
- €10
- 4
- +2*€10
- €40
**Standard Price** means you estimate the cost price based
on direct materials, direct labor and manufacturing overhead
at the end of a specific period (usually once a year). You
enter this cost price in the product form.
Average Price
.. rst-class:: values-table
.. list-table::
:widths: 28 18 18 18 18
:header-rows: 1
:stub-columns: 1
* - Operation
- Unit Cost
- Qty On Hand
- Delta Value
- Inventory Value
* -
- €0
- 0
-
- €0
* - Receive 8 Products at €10
- €10
- 8
- +8*€10
- €80
* - Receive 4 Products at €16
- €12
- 12
- +4*€16
- €144
* - Deliver 10 Products
- €12
- 2
- | -10*€12
|
- €24
* - Receive 2 Products at €6
- €9
- 4
- +2*€6
- €36
The **Average Price** method recomputes the cost price as a receipt order
has been processed, based on prices defined in tied purchase orders:
FORMULA (see here attached)
The average cost does not change when products leave the warehouse.
From an accounting point of view, this method is mainly justified in
case of huge purchase price variations and is quite unusual due to its
operational complexity. Your actually need a software like Odoo to
easily keep this cost up-to-date.
This method is dedicated to advanced users. It requires well established
business processes because the order in which you process receipt orders
matters in the cost computation.
FIFO
.. rst-class:: values-table
.. list-table::
:widths: 28 18 18 18 18
:header-rows: 1
:stub-columns: 1
* - Operation
- Unit Cost
- Qty On Hand
- Delta Value
- Inventory Value
* -
- €0
- 0
-
- €0
* - Receive 8 Products at €10
- €10
- 8
- +8*€10
- €80
* - Receive 4 Products at €16
- €12
- 12
- +4*€16
- €144
* - Deliver 10 Products
- €16
- 2
- | -8*€10
| -2*€16
- €32
* - Receive 2 Products at €6
- €11
- 4
- +2*€6
- €44
For **Real Price** (FIFO, LIFO, FEFO, etc), the costing is further
refined by the removal strategy set on the warehouse location
or product's internal category. The default strategy is FIFO. With
such method, your inventory value is computed from the real cost
of your stored products (cfr. Quantitative Valuation) and not from
the cost price shown in the product form. Whenever you ship items,
the cost price is reset to the cost of the last item(s) shipped.
This cost price is used to value any product not received from a
purchase order (e.g. inventory adjustments).
FIFO is advised if you manage all your workflow into Odoo (Sales,
Purchases, Inventory). It suits any kind of users.
LIFO (not accepted in IFRS)
.. rst-class:: values-table
.. list-table::
:widths: 28 18 18 18 18
:header-rows: 1
:stub-columns: 1
* - Operation
- Unit Cost
- Qty On Hand
- Delta Value
- Inventory Value
* -
- €0
- 0
-
- €0
* - Receive 8 Products at €10
- €10
- 8
- +8*€10
- €80
* - Receive 4 Products at €16
- €12
- 12
- +4*€16
- €144
* - Deliver 10 Products
- €10
- 2
- | -4*€16
| -6*€10
- €20
* - Receive 2 Products at €6
- €8
- 4
- +2*€6
- €32
For **Real Price** (FIFO, LIFO, FEFO, etc), the costing is further
refined by the removal strategy set on the warehouse location
or product's internal category. The default strategy is FIFO.
With such method, your inventory value is computed from the
real cost of your stored products (cfr. Quantitative Valuation)
and not from the cost price shown in the product form. Whenever
you ship items, the cost price is reset to the cost of the last
item(s) shipped. This cost price is used to value any product
not received from a purchase order (e.g. inventory adjustments).
LIFO is not permitted outside the United States.
Odoo allows any method. The default one is **Standard Price**.
To change it, check **Use a 'Fixed', 'Real' or 'Average' price
costing method** in Purchase settings. Then set the costing
method from products' internal categories. Categories show up
in the Inventory tab of the product form.
Whatever the method is, Odoo provides a full inventory valuation
in :menuselection:`Inventory --> Reports --> Inventory Valuation`
(i.e. current quantity in stock * cost price).
Periodic Inventory Valuation
============================
In a periodic inventory valuation, goods reception and
outgoing shipments have no direct impact in the accounting.
At the end of the month or year, the accountant posts one
journal entry representing the value of the physical inventory.
This is the default configuration in Odoo and it works
out-of-the-box. Check following operations and find out how
Odoo is managing the accounting postings.
.. rst-class:: alternatives doc-aside
Vendor Bill
.. rst-class:: values-table
============================= ===== ======
\ Debit Credit
============================= ===== ======
Assets: Inventory 50
Assets: Deferred Tax Assets 4.68
Liabilities: Accounts Payable 54.68
============================= ===== ======
Configuration:
* Purchased Goods: defined on the product or on the internal category of related product (Expense Account field)
* Deferred Tax Assets: defined on the tax used on the purchase order line
* Accounts Payable: defined on the vendor related to the bill
Goods Receptions
No Journal Entry
Customer Invoice
.. rst-class:: values-table
===================================== ===== ======
\ Debit Credit
===================================== ===== ======
Revenues: Sold Goods 100
Liabilities: Deferred Tax Liabilities 9
Assets: Accounts Receivable 109
===================================== ===== ======
Configuration:
* Revenues: defined on the product or on the internal category of related product (Income Account field)
* Deferred Tax Liabilities: defined on the tax used on the invoice line
* Accounts Receivable: defined on the customer (Receivable Account)
The fiscal position used on the invoice may have a rule that replaces the
Income Account or the tax defined on the product by another one.
Customer Shipping
No Journal Entry
Manufacturing Orders
No Journal Entry
.. raw:: html
<hr style="float: none; visibility: hidden; margin: 0;">
At the end of the month/year, your company does a physical inventory
or just relies on the inventory in Odoo to value the stock into your books.
Create a journal entry to move the stock variation value from your
Profit&Loss section to your assets.
.. h:div:: doc-aside
.. rst-class:: values-table
===================================== ===== ======
\ Debit Credit
===================================== ===== ======
Assets: Inventory X
Expenses: Inventory Variations X
===================================== ===== ======
If the stock value decreased, the **Inventory** account is credited
and te **Inventory Variations** debited.
.. raw:: html
<hr style="float: none; visibility: hidden; margin: 0;">
Perpetual Inventory Valuation
=============================
In a perpetual inventory valuation, goods receptions and
outgoing shipments are posted in your books in real time.
The books are therefore always up-to-date. This mode is
dedicated to expert accountants and advanced users only.
As opposed to periodic valuation, it requires some extra
configuration & testing.
Let's take the case of a reseller.
.. h:div:: valuation-chart-continental doc-aside
.. placeholder
.. raw:: html
<hr style="float: none; visibility: hidden; margin: 0;">
.. h:div:: doc-aside
**Configuration:**
- Accounts Receivable/Payable: defined on the partner (Accounting tab)
- Deferred Tax Assets/Liabilities: defined on the tax used on the invoice line
- Revenues/Expenses: defined by default on product's internal category; can be
also set in product form (Accounting tab) as a replacement value.
- Inventory Variations: to set as Stock Input/Output Account in product's internal
category
- Inventory: to set as Stock Valuation Account in product's internal category
.. seealso::
* :doc:`../../routes/strategies/removal`
* :doc:`../../../accounting/others/inventory/avg_price_valuation`
* :doc:`integrating_landed_costs`

View File

@ -189,5 +189,4 @@ removal dates.
.. seealso::
* :doc:`../../management/reporting/valuation_methods_continental`
* :doc:`../../management/reporting/valuation_methods_anglo_saxon`
* :doc:`../../management/reporting/inventory_valuation_config`