Hosted in Germany • GDPR-ready

Odoo Landed Costs: Calculate True Import Costs

Allocate freight, customs, and handling fees directly to your inventory. See why importers and manufacturers choose managed Odoo hosting over DIY complexity.

Test it free — no credit card required
The feature

What are landed costs in Odoo?

Landed costs allocates additional product acquisition expenses to your inventory value after goods are received. These costs include:

  • Freight and shipping (ocean, air, ground)
  • Customs duties and import taxes
  • Insurance premiums during transit
  • Handling and brokerage fees
  • Port and terminal charges

Without landed costs, your COGS is incomplete. A €50,000 laptop purchase looks fine in accounting. But add €100 in freight and suddenly you need €50,100 per unit to know your true margin.

Odoo's landed costs feature applies these expenses to specific receipts before goods leave the warehouse. The system recalculates inventory valuation and posts the accounting entries automatically.

Who needs this?

You need landed costs if you:

  • Import goods from overseas suppliers (freight is substantial)
  • Manufacture products using imported raw materials (accurate COGS critical)
  • Distribute products across warehouses (consolidate shipments, split costs)
  • Run a dropshipping operation from Asia (landed cost = true cost of goods)
  • Report to auditors or investors (accurate profit requires accurate COGS)

How Odoo Landed Costs Work

The workflow is straightforward, but the configuration matters. Here is how to enable and use the feature.

1
Enable in Inventory Settings

Go to Inventory > Settings > Valuation. Turn on landed costs and select your default accounting journal.

2
Create Cost Products

Create service-type products for each cost category: International Shipping, Customs Duty, Insurance, etc. Mark them as landed costs in the Purchase tab.

3
Apply to Receipt and Split

Select the incoming transfer that matches your vendor bill. Choose a split method: equal, by quantity, by current cost, by weight, or by volume.

1

Enable in Inventory Settings

Go to Inventory > Settings > Valuation. Turn on landed costs and select your default accounting journal.

2

Create Cost Products

Create service-type products for each cost category: International Shipping, Customs Duty, Insurance, etc. Mark them as landed costs in the Purchase tab.

3

Apply to Receipt and Split

Select the incoming transfer that matches your vendor bill. Choose a split method: equal, by quantity, by current cost, by weight, or by volume.

4

Validate and Post

Validate the landed cost entry. Odoo automatically updates inventory valuation and posts all accounting journal entries.

The math

AVCO vs. FIFO: How Costing Methods Affect Landed Costs

Odoo supports two costing methods for landed costs. Standard Costing does not support landed costs.

AVCO (Average Cost) — Simplest for High-Volume Products

AVCO recalculates the average cost of every product after you apply landed costs. All future sales use the new average price.

Example: 30 laptops from two vendors

PurchaseUnitsPrice/UnitSubtotalLanded CostSplitAdjusted Cost/Unit
Vendor A10€50,000€500,000€100 freightEqual€10/unit more
Vendor B20€40,000€800,000€100 freightEqual€5/unit more
Calculated Average30€43,340/unit

With AVCO, all 30 units now cost €43,340 each, reflecting both vendor prices and all freight. Simplest approach; avoids batch-level complexity.

FIFO (First In, First Out) — Most Accurate for Varying Prices

FIFO maintains separate cost layers per purchase batch. Landed costs stay with their batch; COGS follows the order goods were purchased.

Useful when vendor prices differ significantly or you sell in phases. More complex accounting, but most precise if margins vary by supplier.

The Critical Rule

Both methods require FIFO or AVCO costing enabled. You must also enable automated inventory valuation in Accounting > Settings.

Without these two settings, the landed costs feature is unavailable in the UI.

Landed Costs Don't Affect Reordering Rules

This is the gotcha. Odoo's reordering rules ignore landed costs. A cheap supplier with high freight will still be auto-selected if invoice price is lowest. Workaround: manually specify the preferred supplier on the reordering rule.

The cost

Self-Hosted DIY vs. Managed Odoo: The Real Cost of Ownership

Landed costs sound simple. The hidden cost is everything else: infrastructure, monitoring, backups, security patches, database tuning, user support.

DIY Self-Hosted Odoo

Upfront and Ongoing:

  • VPS/server: €5–50/month (Hetzner, DigitalOcean, AWS Lightsail)
  • Admin labor: 20–40 hours setup (€600–2,000 at typical rates)
  • Ongoing maintenance: 2–10 hours/month (patches, backups, monitoring, troubleshooting)
  • Risk: Data loss if backups fail, security gaps from missed patches, unexpected downtime

Year 1 realistic cost: €600 server + €1,000 setup labor + €1,200–6,000 ongoing = €2,800–7,600/year

Plus your admin time. If one outage costs you €5,000 in lost sales, DIY risk adds up fast.

Managed Odoo Hosting (What Opsily Offers)

Flat monthly fee includes:

  • Pre-configured Odoo instance
  • Isolated VM with dedicated CPU/RAM
  • Nightly encrypted backups
  • Automatic security patches and monitoring
  • 99.95% uptime SLA
  • ISO 27001 certified data centers
  • Support for custom modules

Transparent pricing: No surprise bills for users, disk space, or support. Scales with your business.

Competitive Landscape (for reference)

Other managed providers' pricing (as of Sept 2026):

  • Cloudpepper: €73/month platform + server cost
  • OEC.sh: €0–39/month platform + €4.50+/month cloud cost (most flexible, lowest entry)
  • Skysize: Pricing on request (ISO 27001, 99.95% SLA, 7-day free trial)
  • Odoo.sh: ~€164/month (developer-focused; Enterprise only)

Opsily removes the DevOps burden. Your team focuses on landed costs, not monitoring server logs.

Why Opsily for Odoo Landed Costs

Stop managing infrastructure. Start optimizing costs.

Pre-Configured Landed Costs

We set up Inventory settings, AVCO/FIFO costing, and accounting journals so landed costs work out of the box. No configuration headaches. Your team uses the feature, not maintains it.

Daily Backups, Automatic Patches

Your Odoo instance is backed up every night and encrypted at rest. Security patches are applied automatically. You never wake up to a compromised server or data loss.

99.95% Uptime SLA

Your inventory and cost data is always available. Isolated VMs mean your business doesn't compete with other tenants for resources. Performance is predictable.

Built for teams who need reliability

99.95%
Uptime SLA
Daily
Encrypted backups
ISO 27001
Data center certified
GDPR
Compliant hosting

Opsily Odoo Managed Hosting Plans

Simple, transparent pricing. All plans include GDPR-compliant German hosting, daily backups, SSL certificates, and unlimited team members. Start free, pay only when you scale.

Monthly
Annual

Loading pricing...

Built on Trust

Your inventory data is critical. Opsily meets the standards that matter to importers and manufacturers across the EU.

GDPR Compliant

Your customer and product data stays in EU data centers. No export to third parties. Fully audit-ready.

Secure German Data Centers

Your data is hosted in German data centers with encryption at rest, rigorous access controls, and industry-leading security practices.

Daily Encrypted Backups

Every night, your entire Odoo database is backed up and encrypted at rest. Recovery is tested and guaranteed.

Automatic Security Patches

OS and dependency updates are applied automatically. You are never running on outdated, vulnerable software.

99.95% Uptime SLA

Service credit if we miss our guarantee. Your business depends on Odoo; we stake our reputation on availability.

Questions About Landed Costs and Odoo Hosting

Everything you need to know before setting up landed costs or switching to managed Odoo.

In Odoo, go to Inventory > Landed Costs and select the incoming transfer (receipt) that matches your vendor bill. Create a line for each additional cost (freight, customs, insurance) using the landed cost products you defined earlier. Choose a split method: equal, by quantity, by current cost, by weight, or by volume. Validate the entry and Odoo automatically recalculates inventory valuation and posts the accounting journal entries. The entire process takes 2-3 minutes per receipt once configured.

Stop Guessing at Your True Cost of Goods

Odoo landed costs work. But they work best when your infrastructure doesn't get in the way. Start your free trial on Opsily today — 7 days, no credit card, fully configured.