Distribution

Landed Costs in Odoo: The True Cost of Imported Stock for Distributors

By Shravya Shetty6 min read
10 views
Warehouse staff check an incoming shipment against a tablet at a bright loading dock, with a shipping container behind (an AI-generated illustration; the people are fictional)

Illustration: the people shown are AI-generated and fictional.

For an importer or distributor, the price on the supplier’s invoice is only part of what a product costs. Freight, insurance and customs duty can add a large share on top, and if they sit in a general expense account instead of in product cost, every margin report overstates profit on imported lines.

Odoo’s Landed Costs feature adds those charges to the valuation of the goods they relate to. This guide explains how it works in Odoo 19, which split method fits which charge, and the setup it depends on.

Landed Costs in Odoo at a Glance

  1. Landed costs belong in product cost. Shipment, insurance, customs duties, taxes and other fees are added to the valuation of the goods received.
  2. Set them up once as products. A Service product with Is a Landed Cost ticked can be added to RFQs and draft vendor bills.
  3. Five split methods. Equal, By Quantity, By Current Cost, By Weight and By Volume.
  4. AVCO or FIFO is required. Products must be in a category using AVCO or FIFO costing for a bill’s landed cost to apply.
  5. One journal for the entries. You pick a default journal when you turn the feature on.

Why Landed Costs Change Your Margins

When freight and duty are booked as general expenses, the cost of each imported product looks lower than it is. Margin by product, by customer and by supplier all look better on paper than in the bank. Adding them to inventory valuation means the cost of goods sold carries its real share of those charges, so pricing decisions are based on what the product actually cost to land.

Setting Up Landed Costs in Odoo

  1. Turn on the feature. In Inventory › Configuration › Settings, under Valuation, tick Landed Costs and choose the default journal for its accounting entries.
  2. Check your costing method. The product categories of imported goods need AVCO or FIFO costing; landed costs can’t apply otherwise.
  3. Create landed cost products. One per recurring charge (for example International Shipping or Customs Duty), with Product Type set to Service and Is a Landed Cost ticked.
  4. Choose each one’s default split method. Set how the charge spreads across the products on a receipt; see the next section.
  5. Add charges as they arrive. Put the landed cost product on the RFQ, or on the freight forwarder’s vendor bill while it is in draft.

Choosing a Split Method

The split method decides how one charge is shared across the products on a receipt. Odoo offers five:

  • Equal: the same share for each product line, whatever its quantity.
  • By Quantity: spread across every unit received.
  • By Current Cost: in proportion to each product’s cost, so higher-value items take more.
  • By Weight: in proportion to weight.
  • By Volume: in proportion to volume.

Match the method to what drives the charge. Ocean freight is usually priced on volume or weight, while customs duty and insurance are usually based on value, which By Current Cost reflects.

Weight and volume methods only work if those fields are filled in on your products, so check product data before relying on them.

Before You Switch It On

  • Agree the approach with finance. Changing the costing method or valuation affects reporting, so plan it with your accountant.
  • Fill in weight and volume on imported products if you will split by them.
  • Decide who adds the charges, purchasing or accounts payable, and when, so no freight bill is missed.
  • Test on one shipment and compare the resulting unit costs with your current spreadsheet.

Landed costs pair naturally with pricing and replenishment; see Odoo for wholesale distributors. Our Odoo accounting page covers the finance side.

Landed Costs in Odoo: FAQ

What are landed costs in Odoo?

Landed costs are the extra costs of getting goods into stock, such as shipment, insurance, customs duties, taxes and other fees. Odoo adds them to the valuation of the products received, so product cost reflects what you really paid.

How does Odoo split a landed cost across products?

A landed cost product has a default split method: Equal, By Quantity, By Current Cost, By Weight or By Volume. Each spreads the charge across the products on the receipt in a different way.

Which costing method do landed costs need?

To apply a landed cost on a vendor bill, the products on the original purchase order must be in a product category whose costing method is AVCO or FIFO.

Where do landed cost accounting entries go?

When you enable Landed Costs in Inventory settings, you choose a default journal, and Odoo records all landed cost accounting entries there.

Can I add a landed cost to a purchase or a bill?

Yes. A landed cost product (a Service with Is a Landed Cost ticked) can be added as a line on a request for quotation, or on a vendor bill while it is still in draft.

Want margins that include freight and duty?

Our Odoo accounting team can set up landed costs, costing methods and journals so product cost reflects what each shipment really cost.

Talk to Our Odoo Team
Odoo Landed CostsInventory ValuationImportersDistributionOdoo Accounting