Who we are

About IT Horizon

A boutique technology house engineering enterprise systems with the precision of a luxury maison.

Our story
Odoo Partner

Comprehensive Odoo

End-to-end Odoo 20 Enterprise, implemented, customized, integrated and supported by our own senior team.

Become a client
Odoo apps

Every app, configured for the Gulf

Finance, sales, supply chain, HR, marketing and services apps implemented with the local tax, payroll and language rules each country needs.

All Odoo apps
What we do

Beyond ERP

Strategy, product engineering and customer-experience work that turns systems into advantage.

Talk to us
Sectors

Industry depth

Domain fluency across the sectors that define the GCC economy, and the regulations behind them.

Discuss your sector
Learn · grow · succeed

Insights

Real-world ideas, case studies and sessions to help your business work smarter with Odoo.

Browse the blog
Contact usالعربيةBook a consultation
Home/Blog/Odoo 20 · How-to
Odoo 20 · How-to · 8 min read

Landed costs in Odoo for importers in Kuwait

An importer’s real cost of goods includes freight, insurance, customs duty and the clearing agent’s charges. This guide shows how Odoo 20 adds them to the cost of the products they came with, with a worked example in Kuwaiti dinars.

Landed costs in Odoo add charges such as freight, insurance, customs duty and clearing fees to the value of a received shipment, so the cost of each product, and every margin after it, reflects what the goods really cost you. In Odoo 20 you post them against the receipt from the vendor bill that carries them. Odoo spreads each charge over the products by quantity, weight, volume, value or in equal parts, can restrict a charge to some products only, and corrects the cost of goods already sold. The products must use average cost (AVCO) or FIFO.

What an import costs on top of the supplier’s invoice

ChargeWho bills itSplit method that usually fits
Sea or air freightThe forwarderBy Volume or By Weight
InsuranceThe insurer or the forwarderBy Current Cost
Customs dutyKuwait customs, often paid through the clearing agentBy Current Cost
Clearing agent’s feeThe clearing agentBy Quantity or Equal
Port handling and the trip to your warehouseThe port, the clearing agent or the transporterBy Volume or By Weight

Kuwait applies the GCC common customs tariff: 5% on the CIF value for most goods, which means the goods plus freight and insurance to the port. Listed basic foodstuffs and some agricultural, medical and pharmaceutical items are exceptions, and tobacco carries 100%, according to the US International Trade Administration’s Kuwait guide (April 2026). Check the rate for each HS code with your clearing agent before you rely on it. Odoo does not work out the duty for you; you enter the amount on the customs declaration. Kuwait has no VAT, so there is no import VAT to track.

Set up landed costs in Odoo 20

  1. In Inventory → Configuration → Settings, Valuation section, tick Landed Costs and choose the Default Journal for the entries.
  2. Check the product categories of imported goods. Their costing method must be Average Cost (AVCO) or First In First Out (FIFO); products at Standard Price keep their cost, whatever the landed costs.
  3. Create a service product for each kind of charge, for example Customs Duty, Sea Freight and Clearing Fees. On its Purchase tab tick Is a Landed Cost and choose a Default Split Method.
  4. New in Odoo 20: on the same tab, Apply Landed Cost On limits a charge to the products you list, whenever they are in the shipment.
  5. Fill in weight and volume on imported products if you will split by them: Odoo multiplies them by the quantity received.

From the vendor bill to the product cost

  1. Receive the purchase order and validate the receipt. Landed costs only apply to validated transfers.
  2. Record the forwarder’s or clearing agent’s bill with your landed cost products as lines. The Landed Costs column is ticked on those lines.
  3. Click Create Landed Costs at the top of the bill. Odoo opens a landed cost with each charge as a line.
  4. Choose the receipt in Transfers. On each line, check the split method and, in Odoo 20, the products it applies to.
  5. Click Compute, then open Valuation Adjustments: each product shows its original value, its share of the charges and its new value.
  6. Click Validate. Odoo posts the journal entry and updates the products’ cost.

You can also start from Inventory → Operations → Landed Costs, for example when charges arrive before the bill is recorded.

A worked example in Kuwaiti dinars

A container brings two products. Product A: 400 units at KD 2.500, so KD 1,000.000, taking 6 cubic metres. Product B: 200 units at KD 10.000, so KD 2,000.000, taking 4 cubic metres. The charges, for illustration:

ChargeAmount (KD)SplitProduct AProduct B
Sea freight570.000By Volume342.000228.000
Insurance30.000By Current Cost10.00020.000
Customs duty, 5% of CIF 3,600.000180.000By Current Cost60.000120.000
Clearing agent’s fee60.000By Quantity40.00020.000
New value of the receipt1,452.0002,388.000
New unit cost3.63011.940

Product A cost KD 2.500 on the supplier’s invoice and KD 3.630 on your shelf, 45% more. Priced on the invoice cost, it would look far more profitable than it is. Product B rises by 19%, because freight weighs more on bulky, cheap goods.

By Current Cost shares the duty in proportion to value, which is right when every item carries the same rate. When a shipment mixes dutiable goods with exempt ones, such as some medical items, put the duty only on the dutiable products with Apply On, or enter one duty line per rate.

When goods are sold before the charges arrive

Clearing bills often come weeks after the goods are on sale. When a product’s cost changes after it was delivered, through a landed cost or a bill at a different price, Odoo 20 updates the value of those deliveries retroactively, and the cost of goods sold too under perpetual valuation. A validated landed cost cannot be cancelled; to correct one, create a negative landed cost for the difference.

Kuwait details worth getting right

  • Foreign currency. Supplier and forwarder bills in US dollars or euros are converted to dinars at the rate of the bill date, and the landed cost is in dinars.
  • Three decimals. The dinar has three decimals; check that your costs and reports show fils.
  • One line per charge. Clearing agents often put the duty they paid for you and their own fee on one invoice. Keep them as separate lines with their own landed cost products, so duty and fees can be split differently and reported apart.
  • Keep the declaration. Attach the customs declaration to the landed cost or the bill, so the duty amount can be traced.

We set up import costing for traders and distributors in Kuwait and the Gulf: see Odoo Purchase, Odoo Inventory and Odoo for trading and distribution.

What to do next

  1. Check the costing method of the categories you import, and switch to AVCO or FIFO with your accountant if needed.
  2. Create the landed cost products for your usual charges and run the next container through them.
  3. Book a consultation to set up import costing for your company.
FAQ

Common questions

Average cost (AVCO) or FIFO. Products valued at Standard Price can be included in a landed cost, but their cost does not change.

No. Odoo spreads the duty you paid over the products, but the amount comes from the customs declaration. Enter it as a line with a Customs Duty landed cost product.

For most goods, 5% of the CIF value under the GCC common customs tariff. Listed basic foodstuffs and some agricultural, medical and pharmaceutical items are exceptions, and tobacco carries 100%. Confirm the rate for your HS code with your clearing agent.

Yes, in Odoo 20. Each landed cost line has an Apply On field, and the landed cost product can carry a default list of products, so a charge goes only to the products it concerns.

Odoo 20 updates the value of the deliveries already made, and the cost of goods sold under perpetual valuation, when a product’s cost changes after delivery.

It cannot be cancelled once validated. Create a negative landed cost for the amount to reverse, on the same receipt.

Need help with your Odoo project?

Tell us what you are working on. A senior consultant will reply with how we would approach it.

Phone
+965 5015 3388
WhatsApp
Message us
Email
[email protected]
Office
Salem Al Mubarak Street, Salmiya, Kuwait
Hours
Sunday to Thursday, 8:00 to 19:00