Skip to Content
मेन्यू
This question has been flagged

Hi all,


I'm using the Average Cost (AVCO) method to calculate the cost of goods in Odoo 18. I checked Valuation by Lot/Serial number. 


Here’s the situation:


  • I purchased 27 units at a cost of $700/unit.
  • I then added landing costs of $2,700, which means the total cost per unit should be:

→ $700 + ($2,700 ÷ 27) = $800/unit.


However, when I deliver the product, Odoo uses the sales price ($1,904.7652) to calculate the product’s total value instead of the average cost.


You can see from the screenshot that:


  • The Sales Order shows a sales price of $1,904.7652.
  • The Purchase Order and Landing Cost entries are recorded correctly.
  • But the Stock Valuation at delivery seems to use the sales price instead of the average cost.


Has anyone experienced this before?

Is there any possible configuration or data issue that could cause Odoo to use the sales price instead of the average cost during stock valuation? 


Any suggestion or explanation would be greatly appreciated!


Avatar
Discard
Best Answer

Hi,


When using AVCO with automated valuation and lot/serial tracking, Odoo should always take the average cost (in your case $800/unit) when posting delivery valuation, while the sales order line shows the sales price separately. If instead you see the sales price being used in valuation, it usually means Odoo is not picking up the cost correctly.


This can happen for several reasons. The most common are product configuration mismatches (e.g., originally set to Standard Price or FIFO and later changed to AVCO), landed costs not validated before delivery, or valuation by lot/serial not updating properly. It may also be due to a customization overriding stock move pricing logic, or issues with currency conversion and rounding that make it look like the sales price is being used.


To diagnose, check the Stock Valuation Layers and accounting entries for the delivery to see what value was posted. Testing the process on a fresh product set to AVCO from the start can confirm if the issue is product-specific. If it works correctly there, the issue is likely due to the product’s historical setup or timing of landed cost validation.


The usual fix is to reverse the incorrect delivery, validate landed costs properly on the receipt, and then deliver again so Odoo recalculates with the correct average cost. If custom modules are installed, it’s also worth checking if they override how costs are computed in stock moves.


Hope it helps

Avatar
Discard
Best Answer

Hi,

That’s a tricky situation — and you’re right, the sales price should never affect the product’s cost or stock valuation. If Odoo is using the sales price in valuation, it’s likely a configuration or data issue rather than normal behavior.

A few things to check before assuming it’s a bug:

  1. Currencies and Exchange Rates – Make sure all related transactions (PO, Landed Cost, Delivery) use consistent currencies and correct exchange rates.
  2. Product Reception – Verify that the goods were properly received into stock before applying Landed Costs. Otherwise, the valuation adjustment may not apply correctly.
  3. Landed Cost Document – Open it and confirm that you clicked “Compute” (Calculate) before validating. Without that, Odoo doesn’t actually distribute the extra cost.
  4. How You Verified the Cost – Are you checking via the Stock Valuation report or via Accounting Entries? It’s important to confirm which layer Odoo is using for cost valuation.
  5. Document Sequence – The correct flow must be: Receipt → Landed Cost → Delivery. If the delivery was done before landed costs were posted, the system won’t recalculate the valuation automatically.

We at ERPixel have seen similar cases — in most situations, it turns out to be a data sequence or configuration issue rather than a true bug.

Are you using Odoo Online (Cloud) or your own server? That can also affect how valuation updates behave.

Avatar
Discard
Related Posts Replies Views Activity
0
फ़र॰ 20
3881
1
नव॰ 24
23033
3
जन॰ 18
15155
5
नव॰ 23
6624
3
मई 25
3396