Use stock.landed.cost to allocate freight, duty, and insurance to receipt move lines before products are consumed. Create landed cost records linked to vendor bills or manual charges, choose split method by quantity, weight, or value, validate to post additional stock.valuation.layer entries, and ensure products use automated inventory valuation so GL inventory matches updated unit costs.
Steps
- Enable Landed Costs in Inventory → Settings (stock_landed_costs module).
- Configure default split method and landed cost accounts on product or company settings.
- Receive products with stock.picking; keep receipts in state done but eligible for landed costs.
- Create stock.landed.cost, add cost lines (freight, duty) from vendor bills or manual amounts.
- Pick transfer lines to allocate; use By Current Cost, By Quantity, By Weight, or By Volume.
- Validate landed cost to create valuation adjustment entries on related products.
- Reconcile inventory GL after month-end with Valuation and Landed Cost reports.
Common mistakes
- Applying landed costs after components already consumed on MOs.
- Wrong split method skewing high-value SKU costs.
- Manual inventory valuation without layers—landed costs will not post correctly.
- Linking bills in wrong currency without exchange rate on cost lines.
- Duplicating landed cost on same picking causing double capitalization.
Odoo version notes
Landed costs module works in Community and Enterprise Odoo 16–18 with automated valuation. Enterprise adds smoother accounting bridges on some localizations. Anglo-saxon companies should verify bill timing vs receipt. Upgrade migrations occasionally reset landed cost journals—audit account.journal after version jumps.
When to bring in help
If the fix touches custom modules, regulated traceability, or production outages, a focused rescue sprint beats months of trial and error. See our Odoo service.