You buy a phone from a factory in Shenzhen for $100.
You sell it for $140 and feel great about a $40 margin.
Two months later finance tells you the item is losing money. Why? Because the true cost was never $100.
After adding air-freight fuel charges, lithium-battery “dangerous-goods” fees, cargo insurance, Indian customs duty, BIS certification, recycling tax and the truck ride from the airport to your warehouse, the phone really cost $120+.
If you keep pricing at $140 your margin drops from 29 % to about 15 %.
Odoo 18 fixes this by letting you record every extra rupee, dollar or euro into the product value the moment the shipment lands. Your price lists, profit reports and stock valuation now run on fact – not guesswork.
Landed cost is simply the all-in price of getting goods into your warehouse, ready to sell :
Landed Cost = Factory Price
+ Freight (air/ocean/road)
+ Insurance
+ Customs Duty & Import Taxes
+ Port or Airport Handling
+ Compliance Tests & Certificates
+ Local Transport & Warehousing
+ Bank & Currency Fees
+ Returns / Warranty Logistics
Instead of dumping these charges into random expense accounts, Odoo posts them to a special journal then adds them to inventory value -> so Cost-of-Goods-Sold (COGS) and profit are right from day one.
Electronics of all kinds – phones, tablets, smart-watches, Bluetooth speakers, even gaming consoles – share four pain points.
We’ll highlight smartphones only in this blog because their battery fees and rapid price drops make the math easy to see; the same rules apply to every gadget you import.
Cost Bucket | Typical Charges | Odoo Hint |
International Freight | Air waybill, fuel surcharge, lithium-battery DG fee | Split by Weight |
Port/Airport Handling | Terminal handling, storage, demurrage | Split by Volume |
Customs Duty & Taxes | Basic Customs Duty (BCD), Social-Welfare Surcharge (SWS), Goods & Services Tax (IGST) | Map to tax accounts |
Cargo Insurance | ~0.4% of goods value | Split Equally |
Compliance & Testing | BIS, CE, FCC, energy-label fees | Add analytic tag “Compliance” |
Eco-Fees | WEEE, battery recycling levy | Separate account per country |
Inland Transport | Truck or rail from port to DC | Split by Weight |
Warehousing/Storage | Pallet put-away, cold storage | Split by Quantity |
Packaging & Labelling | Retail box, battery icons | Split Equally |
Quality Inspection | Pre-shipment audit, factory visit | Tag “Quality” |
Bank & Currency Fees | Letter of Credit, SWIFT, FX hedge | Split Equally |
Licensing / Royalties | Android compliance test, codec patent | Split by Current Cost |
Returns / Reverse Logistics | RMA shipping, refurb cost | Enter as negative landed cost on returns |
Create each item once in Odoo as a Service product, tick Is a Landed Cost, choose a default split rule and reuse forever.
Example : Air Freight
Do the same for each bucket in the checklist.
A. From the Vendor Bill
B. Directly in the Wizard
Want full automation? POST to /api/stock.landed.cost. Example payload:
{
“name”: “DHL AWB 334-2025”,
“account_journal_id”: 32,
“cost_lines”: [
{“product_id”: 811, “price_unit”: 1050},
{“product_id”: 812, “price_unit”: 600}
],
“picking_ids”: [1552, 1553]
}
An importer moving $10 million of gadgets a year often misses 5 % in hidden costs. Capturing even 1 % adds $100 000 of real profit. A typical landed-cost rollout in Odoo costs far less and can pay for itself in a month.
Hidden logistics, testing and compliance fees can quietly kill your margin. Odoo 18 captures every extra cost the instant your shipment lands, turning guesswork into precision.
The setup is simple : switch on the feature, create cost products once and teach your team the two-click workflow.
Pragmatic Techsoft has rolled out several Odoo cost-accounting projects worldwide.
Want every gadget you import to carry its true cost—so you price with confidence and protect profit? Book a free consultation today.
Share this guide with anyone who still thinks “shipping cost” tells the whole story.
1. Which valuation methods work with landed cost?
FIFO (First-In-First-Out) and Average Cost. Standard Cost doesn’t recalculate.
2. Can one freight invoice cover many receipts?
Yes – add multiple pickings in the wizard before Compute.
3. How do I fix a mistake?
Cancel the journal entry, duplicate the landed-cost record, correct amounts, validate again.
4. Will my Bill-of-Materials roll up these costs?
Yes, manufacturing roll-up pulls inbound landed cost into Work-In-Process.
5. How does this work in multi-company setups?
Costs follow each company’s currency, journals and analytic tags automatically.
6. Can I report landed costs by brand or sales channel?
Use Analytic Plans or simple analytic tags – new in Odoo 18.
7. What about drop-shipping direct to customers?
Attach landed cost to the drop-ship receipt so resale margin stays accurate.
8. Is there a REST API?
Yes – stock.landed.cost and stock.landed.cost.lines endpoints accept JSON.
Leave a Reply
You must be logged in to post a comment.