How can I assign Landed Costs to my cost price?

I have invoices for transport and insurance costs related to my incoming shipments. How can I attribute such landed costs to the pickings concerned? 

To be able to attribute Landed Costs in Odoo, some options need to be set.

From the Settings > Configuration > Warehouse, in the Accounting options, make sure to tick the options Generate accounting entries per stock movement and Calculate landed costs on products.

From the Settings > Configuration > Purchases, tick the option Use 'Real price' or 'Average' costing methods.

Start by creating specific products to indicate your various Landed Costs, such as freight, insurance and customs duties. You can add these products either from Warehouse > Products > Products or from the Warehouse > Configuration > Landed Cost Type menu (limited view). Make sure to tick the option Can constitute a landed cost for the product. Select the default split method used to attribute the landed costs.

For the products you buy (other than services), apply costing method Real Price on the Product Variant, because landed costs can only be applied to this costing method. The actual cost price is stored per quant.

Make sure to also set the Inventory Valuation (Accounting tab of the Product Variant) to Real Time (automated). Enter your Stock Input, Stock Output and Stock Valuation accounts in the product's Product Category to allow automatic stock entries to be posted.

  • If you have entered Stock Input and Stock Output ascounts for the product category, but you want to have different accounts for this product only, you can use the Accounting tab of the Product Variant and add a different Stock Input or Stock Output account.

On receipt of your invoices, encode your landed cost invoices as normal purchase (supplier) invoices (or add them to existing draft invoices).

To be able to attribute these landed costs to one or more pickings, you can enter the landed costs from the menu Warehouse > Landed Costs > Landed Costs.

In Landed Costs, click the Create button and select the picking(s) to which you want to attribute landed costs. Select the account journal in which to post the landed costs. 

  • Stock journal: we recommend you to create a specific journal for landed costs, e.g. from the stock journal type, so it will be easy to keep track of postings. If you want the generated landed cost entries to be posted automatically, tick the Autopost Created Moves option in the Journal definition screen. If you do not tick this option, a draft entry will be created which you can validate afterwards.

When you select a picking, the product lines with the correct settings (real price costing and real-time inventory valuation), will be added automatically to the Valuation Adjustments block. In the Cost Lines block, select the Landed Costs products that apply to these pickings. The default Split Method for the cost will be proposed, but as for any other default value in Odoo, you can change it.

Click the Compute button to see how the landed costs will be split accross the picking lines. Click Validate to confirm the landed costs attribution.


The landed cost will be deducted from the cost account linked to the landed costs product (this is the expense account defined in the product category) and transferred to the stock valuation account.

The Quant will now be updated to the correct inventory value (inclusive of the landed costs).


To get an overview of the attributed landed costs, go to the menu Accounting > Reporting > Journals and select Journals. Select the Landed Costs journal and the periods for which you want to print the landed costs overview.

Another option is to go to the menu Accounting > Journal Entries and select Journal Items. Select the journal for your landed costs and the period.

Need more info?

This documentation page has been extracted from the Q&A section where you can discuss it and get feedback.
Related question