DEV Community

ELYRS
ELYRS

Posted on

Odoo Landed Costs: Handling Partial Vendor Returns

When you manage inventory in Odoo, the purchase price is not always the complete cost of getting a product into your warehouse.

Freight, customs duties, insurance, shipping fees, and other import-related charges can increase the real cost of inventory. Odoo handles these additional expenses through landed costs, allowing them to be included in inventory valuation rather than treating every charge as an ordinary operating expense.

The workflow becomes more interesting when part of the shipment is later returned to the vendor.

This article walks through the logic behind Odoo landed costs and partial vendor returns, with a focus on inventory valuation, FIFO, AVCO, and accounting.

What Are Landed Costs in Od****oo?

Landed costs are additional expenses associated with bringing purchased goods into your inventory.

Common examples include:

Freight and transportation
Customs duties
Import taxes
Insurance
Port or handling charges

In Odoo, landed costs can increase the valuation of products that have already been received. The system supports different allocation methods, including equal distribution, quantity, current cost, weight, and volume. You'd like to shop for medical Bamboo scrubs

For example, imagine purchasing:

500 units
Purchase cost: $20 per unit
Freight: $500
Customs: $300

The inventory does not really cost the business only $10,000. The additional $800 can be incorporated into inventory valuation through landed costs.

Why Vendor Returns Make Landed Costs More Complicated

A vendor return changes both the quantity and value of inventory.

Suppose your original receipt contains 500 units and you later return 50 units because they are damaged or incorrect.

The original landed costs may already have been allocated across the received products.

That creates an important accounting question:

How should the inventory value of the returned units be handled after landed costs have been applied?

This matters because an incorrect workflow can make inventory valuation, product cost, and accounting reports difficult to reconcile.

Odoo's inventory valuation is based on stock movements, and vendor returns reduce inventory quantity and value according to the configured costing method.

A Simple Example

Consider this scenario:

Purchase quantity: 500 units
Product cost: $20/unit
Freight: $500
Customs: $300
Total landed cost: $800
Vendor return: 50 units

The original merchandise value is:

500 × $20 = $10,000

After the additional costs are applied:

$10,000 + $800 = $10,800

The effective inventory cost is therefore higher than the supplier's original unit price.

Now imagine that 50 units are returned.

The important point is that the return should not be analyzed only as a quantity adjustment. It also affects the value carried by inventory.

FIFO vs. AVCO in Odoo

The costing method matters when analyzing this situation.

FIFO

With First In, First Out (FIFO), incoming inventory can retain separate valuation layers. When goods leave inventory, Odoo determines their value according to the FIFO costing logic.

This is particularly useful when you need visibility into different purchase batches or costs.

Odoo's documentation shows that remaining quantities in FIFO can retain their individual valuations rather than being reduced to one universal unit cost.

AVCO

With Average Cost (AVCO), Odoo calculates a weighted average cost as inventory changes.

When additional landed costs are applied, they can influence the average inventory cost. This means a later vendor return needs to be considered in the context of the current valuation rather than simply assuming that every unit has one permanently fixed historical cost.

Odoo supports both FIFO and AVCO for landed-cost workflows; standard-price products behave differently because their cost is manually controlled.

What Should You Check After a Vendor Return?

One of the most useful habits is to inspect the inventory valuation rather than relying only on the quantity shown on the receipt.

After processing the return, check:

  1. The original receipt

Confirm the quantity received, purchase price, and the stock valuation associated with the receipt.

  1. The landed cost record

Review which transfer received the landed cost and how the additional amount was allocated.

Odoo only allows validated transfers to be selected for a landed-cost record.

  1. The vendor return

A vendor return creates an outbound stock movement and decreases inventory value. Odoo calculates the value according to the configured costing method.

  1. Inventory Valuation

Compare the inventory value before and after the return.

Odoo provides an Inventory Valuation report so businesses can review the value of stock and identify differences between inventory and accounting valuation.

  1. Accounting entries

For companies using automated or perpetual inventory valuation, it is also important to verify the corresponding accounting impact.

Odoo records landed-cost accounting entries when the landed cost is validated, and those entries can be reviewed from the Accounting application.

A Common Mistake: Treating Freight as a Normal Expense

A frequent implementation mistake is recording every shipping or customs charge directly as an operating expense.

That may be appropriate for some costs, but when a charge is part of getting purchased inventory ready for use or sale, it may need to be included in the inventory cost instead.

This is exactly where landed costs become useful.

Instead of thinking:

Purchase price + shipping expense

the inventory team can think in terms of:

Purchase price

  • freight
  • customs
  • other applicable landed costs = inventory valuation

The correct accounting treatment still depends on the business's accounting policy and local requirements, but Odoo provides the landed-cost mechanism specifically for increasing product valuation with eligible additional costs.

A Practical Odoo Workflow

A clean workflow usually starts with the purchase order and receipt.

First, receive and validate the products.

Next, record the relevant vendor bill or landed-cost product and create the landed-cost record.

Then select the validated transfer, calculate the valuation adjustments, review the allocation, and validate the landed cost. Odoo adds the additional value to the selected inventory valuation.

When a vendor return becomes necessary later, process the return from the original receipt and then review the resulting valuation.

The important part is not simply asking whether the returned quantity is correct. You should also verify whether the resulting inventory value makes sense.

How to Troubleshoot Valuation Differences

When the numbers do not look right, start with the stock moves instead of immediately creating a manual journal entry.

Check:

Receipt
↓
Original inventory value
↓
Landed cost allocation
↓
Updated inventory value
↓
Vendor return
↓
Remaining inventory value

This makes it easier to identify whether the problem is related to the receipt, costing method, landed-cost allocation, return, or accounting configuration.

Odoo's inventory system tracks value through stock movements, while differences between inventory valuation and accounting valuation can be reviewed as stock variation.

Final Takeaway

Odoo landed costs are useful when the supplier's invoice does not represent the complete cost of bringing inventory into the warehouse.

Once vendor returns enter the picture, the process becomes more dependent on the company's costing method and the valuation of the underlying stock movements.

The safest approach is to treat the workflow as a complete chain:

Purchase → Receipt → Landed Cost → Vendor Return → Inventory Valuation → Accounting

Rather than making manual adjustments too early, review each stock movement and valuation layer first. This gives you a much clearer picture of how Odoo arrived at the final inventory value.

For businesses using FIFO or AVCO, understanding this relationship is especially important because inventory valuation can change as goods are received, returned, and adjusted.

The goal is not simply to make the quantity correct. The goal is to make sure the quantity, inventory cost, valuation, and accounting records tell the same story.

Top comments (0)