diff --git a/_static/coa-valuation-anglo-saxon.js b/_static/coa-valuation-anglo-saxon.js index bf781f3c9..20914f687 100644 --- a/_static/coa-valuation-anglo-saxon.js +++ b/_static/coa-valuation-anglo-saxon.js @@ -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({ diff --git a/_static/coa-valuation-continental.js b/_static/coa-valuation-continental.js index 9db7f8b80..6b62ac02b 100644 --- a/_static/coa-valuation-continental.js +++ b/_static/coa-valuation-continental.js @@ -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({ diff --git a/accounting/others/inventory.rst b/accounting/others/inventory.rst index 008c2a76f..a68cfee1d 100644 --- a/accounting/others/inventory.rst +++ b/accounting/others/inventory.rst @@ -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 diff --git a/business.rst b/business.rst index a1ab61104..66bae260f 100644 --- a/business.rst +++ b/business.rst @@ -5,5 +5,5 @@ Business Mementos .. toctree:: Accounting Memento (US GAAP) Double-Entry Inventory - Inventory Valuation (Continental Accounting) - Inventory Valuation (Anglo-Saxon Accounting) + Inventory Valuation (Continental Accounting) + Inventory Valuation (Anglo-Saxon Accounting) diff --git a/conf.py b/conf.py index 83819ea67..2b89e1b08 100644 --- a/conf.py +++ b/conf.py @@ -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' diff --git a/inventory/management/reporting.rst b/inventory/management/reporting.rst index 7858d0929..32fe4d83f 100644 --- a/inventory/management/reporting.rst +++ b/inventory/management/reporting.rst @@ -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 \ No newline at end of file diff --git a/inventory/management/reporting/inventory_valuation_config.rst b/inventory/management/reporting/inventory_valuation_config.rst index d171ac831..0d05a8b1d 100644 --- a/inventory/management/reporting/inventory_valuation_config.rst +++ b/inventory/management/reporting/inventory_valuation_config.rst @@ -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 + +
+ +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 + +
+ +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 + +
+ 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) `_ - * `How to do an inventory valuation? (Continental Accounting) `_ \ No newline at end of file +.. h:div:: valuation-chart-continental doc-aside + + .. placeholder + +.. raw:: html + +
+ +.. 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 + +
+ +.. 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 diff --git a/inventory/management/reporting/media/inventory_valuation_config_01.png b/inventory/management/reporting/media/inventory_valuation_config_01.png deleted file mode 100644 index ab6c3cb9b..000000000 Binary files a/inventory/management/reporting/media/inventory_valuation_config_01.png and /dev/null differ diff --git a/inventory/management/reporting/media/inventory_valuation_config_03.png b/inventory/management/reporting/media/inventory_valuation_config_03.png deleted file mode 100644 index ecbd3a978..000000000 Binary files a/inventory/management/reporting/media/inventory_valuation_config_03.png and /dev/null differ diff --git a/inventory/management/reporting/valuation_methods_anglo_saxon.rst b/inventory/management/reporting/valuation_methods_anglo_saxon.rst deleted file mode 100644 index 4eeeff81b..000000000 --- a/inventory/management/reporting/valuation_methods_anglo_saxon.rst +++ /dev/null @@ -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 - -
- -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 - -
- -.. 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` \ No newline at end of file diff --git a/inventory/management/reporting/valuation_methods_continental.rst b/inventory/management/reporting/valuation_methods_continental.rst deleted file mode 100644 index 2616172ad..000000000 --- a/inventory/management/reporting/valuation_methods_continental.rst +++ /dev/null @@ -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 - -
- -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 - -
- -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 - -
- -.. 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` \ No newline at end of file diff --git a/inventory/routes/strategies/removal.rst b/inventory/routes/strategies/removal.rst index b5a909df5..fa4d1cb26 100644 --- a/inventory/routes/strategies/removal.rst +++ b/inventory/routes/strategies/removal.rst @@ -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`