September 21, 2026 · 5 min · Purchasing and inventory valuation

Lire en français

Odoo landed costs: include freight in inventory cost

A receipt is complete, but the carrier’s invoice arrives two weeks later. If the team compares sales with the purchase price alone, decisions may rely on an incomplete cost picture. For an Odoo project in Belgium or France, landed costs deserve a shared process across purchasing, warehouse operations and finance. This guide proposes preparation and acceptance checks for Odoo Enterprise, drawing on Odoo 19 documentation and Underside’s analysis.

The documented scope in Odoo 19

Landed costs add expenses such as freight to product valuation. Odoo documents FIFO or average-cost (AVCO) categories, a service-type cost product and validated transfers. Allocation options are equal shares, quantity, current cost, weight and volume. Calculation lets the team review adjustments before validation.

Choose an allocation basis the team can explain

Our advice is to start with a real invoice and the supplier’s charging model. Weight-based freight raises different questions from insurance linked to the value of goods. Ask purchasing and finance to document why each cost category uses a particular allocation basis. One rule makes processing easier, but may hide differences between product families.

Before the pilot, check master data for weights, volumes and units of measure. A rule based on missing data does not become appropriate just because calculation is automated. Assign a data owner and agree how exceptions will be handled.

An acceptance test with a verifiable result

Underside’s simplified example: a receipt contains ten units of A and thirty units of B, all still in stock. You decide to allocate €200 in freight by quantity. The expected result is €5 per unit: €50 for A and €150 for B. This example excludes tax, foreign currencies and complex rounding; it tests allocation rather than defining accounting policy.

Coordinate operations across Belgium and France

For a group operating in both countries, we recommend a record per company and transaction: supplier, invoice, receipt, amount, allocation basis and person responsible for validation. Have the relevant finance leads approve accounts, periods and cost-capitalisation policies. This guide does not define national tax obligations.

During migration, identify receipts with outstanding costs and amounts already included in opening inventory values. This helps avoid double counting. Connect this review with purchasing and replenishment and returns and credit notes.

Underside analysis: start with incomplete records

We recommend testing one product family with straightforward costs before expanding the scope. Track costs without an identified receipt, the time between invoice receipt and processing, and corrections after validation. These measures expose gaps in ownership before an integration is considered.

Automation becomes useful when invoice and receipt references are reliable. If another system sends cost data, define a unique reference, duplicate checks and a rejection log. Custom development should address a gap measured during the pilot.

Official source

Functional reference: Odoo 19 landed costs documentation. The numerical scenario, controls and rollout recommendations are Underside’s analysis.

Bring a receipt and its freight invoice to scope your Odoo inventory valuation process with Underside.

Back to blog