Odoo Landed Costs: Accurate Product Costing for Imported Goods
When a company imports products, the purchase price is only one part of the actual cost. Freight, insurance, customs duties, shipping charges, handling fees, and other expenses can significantly increase the final cost of inventory.
If these additional expenses are not properly allocated to products, businesses may end up with inaccurate inventory valuation, incorrect product margins, and misleading profitability reports.
Odoo 19 Landed Costs provides a structured way to include these additional expenses in inventory valuation and calculate a more accurate cost of imported goods. Odoo supports landed costs such as shipment, insurance, customs duties, taxes, and other fees.
What Are Landed Costs?
Landed costs are the additional expenses incurred to bring purchased goods from the supplier to your warehouse and make them available for sale.
For example, imagine a company imports products worth €20,000.
Additional expenses include:
International freight: €1,500
Customs duty: €1,200
Insurance: €300
Port and handling charges: €500
The total additional cost is:
€3,500
Therefore, the actual landed value of the shipment becomes:
€20,000 + €3,500 = €23,500
Instead of treating these expenses separately, Odoo can allocate the landed costs across the products included in the receipt.
This provides a more realistic inventory cost.
Why Accurate Landed Costing Matters
Without landed-cost allocation, a business may consider a product's purchase price to be its complete cost.
For example:
Purchase price: €100
Freight: €10
Customs: €8
Insurance: €2
The actual cost is:
€120
If the company sells the product for €140, calculating profit based only on the €100 purchase price would show €40 gross margin.
But after including landed costs, the actual margin is only:
€140 − €120 = €20
This difference can have a major impact on purchasing decisions, pricing, profitability analysis, and inventory valuation.
How Odoo 19 Landed Costs Work
Odoo's standard workflow can be structured as:
Purchase Order
↓
Goods Receipt
↓
Vendor Bill
↓
Freight / Customs / Insurance Costs
↓
Create Landed Cost
↓
Select Receipt
↓
Compute Valuation Adjustments
↓
Validate Landed Cost
↓
Updated Inventory Valuation
Odoo's documentation explains that landed costs can be created from a vendor bill or directly from the Inventory app. After selecting the relevant validated transfer, Odoo calculates the valuation adjustments and allows the landed cost to be validated.
Step 1: Enable Landed Costs
Go to:
Inventory → Configuration → Settings
Under the Valuation section, enable:
Landed Costs
Odoo also provides a Default Journal field for recording accounting entries related to landed costs.
Step 2: Create a Landed Cost Product
For recurring expenses such as international shipping or customs charges, create a service product such as:
International Freight
Set the product type to:
Service
Then enable:
Is a Landed Cost
Odoo allows a default split method to be configured for the landed cost product.
Step 3: Choose the Right Cost Allocation Method
Odoo provides several methods for distributing landed costs across products:
Equal
The cost is divided equally across the products included in the receipt.
By Quantity
The cost is allocated according to the quantity of each product.
By Current Cost
Products with a higher current cost receive a larger share of the landed cost.
By Weight
The allocation is based on product weight.
By Volume
The allocation is based on product volume.
Choosing the appropriate method is important because different types of imported products may require different allocation approaches.
Example: Import Shipment
Suppose a company receives:
| Product | Quantity | Purchase Value |
|---|---|---|
| Product A | 100 | €10,000 |
| Product B | 200 | €6,000 |
| Product C | 100 | €4,000 |
| Total | 400 | €20,000 |
The company then receives a freight and customs bill of:
€3,000
The business can create a landed cost record and select the relevant receipt.
Odoo calculates the valuation adjustments based on the selected split method.
The resulting inventory value becomes:
€20,000 + €3,000 = €23,000
The additional €3,000 is incorporated into the valuation of the received products.
Landed Costs and Inventory Valuation
Odoo's inventory system maintains stock valuation based on physical inventory movements. With supported costing methods, stock movements affect inventory value as products enter or leave the warehouse.
Odoo 19 supports these costing methods:
Standard Cost
Average Cost (AVCO)
FIFO
The appropriate method can be configured at the product category level.
For landed-cost workflows, Odoo specifically requires the products in the original purchase order to belong to product categories using AVCO or FIFO.
Landed Costs with AVCO
With Average Cost (AVCO), the additional landed costs contribute to the product's valuation.
For example:
Initial inventory:
100 units × €50 = €5,000
New shipment:
100 units × €60 = €6,000
Additional landed costs:
€1,000
The total inventory value becomes:
€5,000 + €6,000 + €1,000 = €12,000
The additional costs therefore affect the effective inventory cost.
Odoo's AVCO documentation explains that incoming product costs are used to calculate the weighted average cost and that additional costs such as shipping, taxes, and landed costs can be included in the valuation.
Landed Costs with FIFO
FIFO values inventory based on the first units received being consumed first.
When landed costs are applied, the additional cost becomes part of the valuation of the relevant received inventory.
This is particularly useful for businesses that need inventory valuation to reflect the actual cost associated with specific inbound shipments.
Why Businesses Should Not Ignore Landed Costs
Ignoring landed costs can create several problems:
❌ Incorrect product costing
❌ Incorrect gross margin calculations
❌ Inaccurate inventory valuation
❌ Difficult import profitability analysis
❌ Pricing decisions based on incomplete costs
❌ Manual spreadsheet calculations
❌ Higher risk of accounting discrepancies
By incorporating these costs into inventory valuation, businesses can obtain a clearer picture of their actual inventory investment.
Odoo Landed Cost Workflow for Import Businesses
A typical import workflow can look like this:
1. Purchase
Create a purchase order with the supplier.
2. Receive
Receive and validate the imported products.
3. Vendor Bill
Record the supplier invoice.
4. Additional Expenses
Record freight, insurance, customs, duties, and other applicable costs.
5. Create Landed Cost
Create the landed cost record and select the applicable receipt.
6. Compute
Odoo calculates the valuation adjustments.
7. Review
Review the original value, additional landed cost, and new value.
8. Validate
Validate the landed cost.
9. Accounting
The corresponding accounting entries can then be reviewed in Odoo's Accounting app.
Benefits of Odoo Landed Costs
1. More Accurate Product Cost
Import-related expenses are included in inventory valuation.
2. Better Profitability Analysis
Businesses can calculate margins using a more realistic product cost.
3. Reduced Manual Work
Instead of maintaining separate spreadsheets for freight and customs allocation, the process can be handled within Odoo.
4. Better Inventory Valuation
The inventory value reflects additional costs associated with bringing products into stock.
5. Improved Pricing Decisions
Businesses can determine selling prices based on a more complete cost structure.
6. Better Accounting Visibility
Landed-cost-related journal entries can be reviewed within Odoo's accounting system.
Odoo Landed Costs for Different Industries
Landed Costs can be particularly useful for businesses involved in international purchasing, including:
Manufacturing
Import and distribution
Retail
Electronics
Automotive parts
Footwear
Textiles
Pharmaceuticals
Food and ingredients
Machinery
Industrial equipment
For businesses with significant international procurement expenses, accurate landed costing can make a meaningful difference to inventory valuation and profitability.
Final Thoughts
For an import-driven business, the supplier's purchase price is rarely the complete cost of getting a product into inventory.
Freight, customs, insurance, taxes, and handling charges can materially change the actual cost.
Odoo 19 Landed Costs provides a structured process for allocating these additional expenses to received products and incorporating them into inventory valuation. Combined with appropriate costing methods such as AVCO or FIFO, businesses can achieve more accurate product costing and better financial visibility.
If your company imports goods and currently manages freight, customs, or other additional costs manually in spreadsheets, Odoo can help bring the complete Purchase → Receipt → Landed Cost → Inventory Valuation → Accounting workflow into one integrated ERP system.
Need Help Implementing Odoo Landed Costs?
At ERP Harbor Consulting Services, we help businesses configure Odoo for inventory, purchasing, accounting, manufacturing, costing, and other business processes.
If you are planning an Odoo implementation or need help optimizing your existing Odoo setup, our team can help you design the appropriate landed-cost and inventory valuation workflow for your business.
Accurate costs lead to better pricing, better margins, and better business decisions.