BFBambooForge Labs

Landed Cost by Value

Split a freight or duty bill across receipts by purchase value, get the right receipts suggested, and read the landed cost on each line.

Buy on the Odoo Apps StoreOpen the live demoPurchases€232Community & Enterprise

Available for Odoo 16.0, Odoo 17.0, Odoo 18.0, Odoo 19.0. Technical name bambooforge_landed_cost.

Odoo 16.0Odoo 17.0Odoo 18.0Odoo 19.0
Full walkthrough on a live Odoo 19.0 database, with subtitles. It ends with what this app deliberately does not do.

Landed Cost by Value

Odoo's landed costs split a bill five ways — equally, by quantity, by weight, by volume, and by the stock value already on the goods. The one an importer actually asks for is missing, and the one manual step that eats the afternoon is finding which receipts a freight bill even belongs to.

Split by purchase value

A €2,000 freight bill on a container holding one cheap pallet and one expensive one should fall mostly on the expensive pallet — by what was paid for the goods, not by a stock valuation that on a standard-costed product may be a round number set months ago.

This adds a sixth split method, By Purchase Value, next to the five built in. The weight of each receipt line is its purchase value — the purchase-order unit price times the quantity received, converted to the company currency — so €100 of goods and €900 of goods carry the freight in a 1:9 ratio, not 1:1.

The other five methods are untouched: the new split is computed after Odoo's own, and only for the lines that use it. A landed cost that splits by weight splits by weight, to the cent, exactly as before.

Suggest the receipts

A forwarder's bill names no purchase order, so the receipts it belongs to have to be found — and scrolling the transfer list for the three that match is the step nobody enjoys.

Suggest receipts from the bill proposes them: the done incoming transfers from that vendor, within a month and a half of the bill's date, that no other landed cost has already claimed. You untick the wrong ones; nothing is applied until you compute and validate as usual.

Read it back per receipt line

Inventory › Operations › Landed Costs › Landed Cost by Move is every landed cost that has been applied, line by line: the move, the product, the quantity, what it was worth before, the cost added, and the final cost. Group by product to answer "what did this pallet actually cost us to land", filter to one landed cost to see where a single bill went.

What it does not do

  • It does not change how landed costs are applied. The apply is Odoo's own — the journal entry, the valuation layers and the traceability are core's, untouched, so nothing about your period close changes.

  • It does not touch the five built-in split methods.

  • It splits by the purchase price on the order line; a receipt with no purchase line behind it (a manual inventory move) weighs nothing and is skipped, rather than stopping the computation.

Screens

Bylot - bambooforge_landed_cost
Bylot
Split - bambooforge_landed_cost
Split
Suggest - bambooforge_landed_cost
Suggest