Skip to content

How to Set Up Inventory Valuation in Odoo 19

DeployMonkey Team · March 24, 2026 9 min read

Overview

Inventory valuation in Odoo 19 determines how your stock is valued on the balance sheet and how cost of goods sold (COGS) is recognized. The configuration combines costing methods (how unit cost is calculated) with valuation methods (when journal entries are created).

Prerequisites

  • Odoo 19 with Inventory and Accounting modules installed
  • Inventory Manager and Accounting access

Step 1: Choose the Costing Method

Navigate to Inventory > Configuration > Product Categories. On each product category, set the Costing Method:

  • Standard Price — Fixed cost per unit, manually updated. Simple but requires periodic cost reviews. Best for stable-cost products
  • Average Cost (AVCO) — Running weighted average recalculated on each receipt. Good for commodities and products with variable purchase prices
  • First In First Out (FIFO) — Costs are tracked per incoming layer. Oldest costs are used first for outgoing moves. Most accurate but requires lot/serial tracking for full benefit

Step 2: Choose the Valuation Method

On the same product category form, set Inventory Valuation:

  • Manual — No automatic journal entries. You post inventory adjustments manually at period end. Simpler but less real-time
  • Automated — Odoo creates journal entries automatically for every stock move. Stock value on the balance sheet updates in real time

Step 3: Configure Accounting for Automated Valuation

If using automated valuation, set the accounting accounts on the product category:

  • Stock Valuation Account — Balance sheet account representing inventory value (e.g., "Inventory" under Current Assets)
  • Stock Journal — Journal used for posting stock valuation entries
  • Stock Input Account — Interim account for goods received but not yet billed
  • Stock Output Account — Interim account for goods delivered but not yet invoiced
  • Expense Account — COGS account where cost is recognized on delivery

Step 4: Understand the Journal Entry Flow

With automated valuation, Odoo creates entries at each step:

On Receipt (Purchase)

AccountDebitCredit
Stock Valuation$1,000
Stock Input (Interim)$1,000

On Vendor Bill

AccountDebitCredit
Stock Input (Interim)$1,000
Accounts Payable$1,000

On Delivery (Sale)

AccountDebitCredit
Expense (COGS)$1,000
Stock Valuation$1,000

Step 5: Set Standard Costs

For products using Standard Price costing, set the cost on the product form:

  1. Open the product and go to the General Information tab
  2. Set the Cost field to the standard unit cost
  3. Update this cost periodically to reflect actual purchase prices

Price differences between the standard cost and actual purchase price are recorded in price difference accounts when using automated valuation.

Step 6: Review Inventory Valuation Report

Go to Inventory > Reporting > Inventory Valuation to see the current value of your stock. This report shows quantities and values per product, broken down by location. Use it to reconcile inventory value with the general ledger.

Step 7: Landed Costs (Optional)

For products where shipping, customs, and handling fees should be included in inventory cost, install the stock_landed_costs module. This lets you distribute additional costs across received products proportionally by value, quantity, weight, or volume.

Best Practices

  • Use AVCO for most trading companies with variable purchase prices
  • Use FIFO when you need precise cost tracking per incoming batch
  • Use Standard Price for manufactured products where cost is pre-determined
  • Enable automated valuation for real-time balance sheet accuracy
  • Reconcile inventory valuation with accounting monthly