Landed cost: the number most UAE importers are quietly getting wrong
If your cost per unit is the supplier invoice divided by quantity, you are pricing against a number that is 15–40% too low — and the error is not evenly spread across the shipment.
We built an inventory system for a Dubai importer bringing coir and horticultural products in by container. The first thing we did was reproduce their own landed cost by hand, from their own invoices, to make sure the software agreed with reality before anyone trusted it. It came to 52.02 per pack. Their working figure had been the supplier price.
The difference is not a rounding error. It is the difference between a healthy margin and selling at a loss you cannot see.
What actually lands in the cost
- The goods themselves, at FOB or EXW
- Ocean or air freight, and any surcharges on it
- Marine insurance
- Customs duty — commonly 5% on the CIF value for most goods entering the GCC
- Clearance, documentation and port handling
- Inland transport to your warehouse
- Demurrage and detention when a container sits
- Bank charges on the transfer, and the FX rate you actually got
Most of these are known days or weeks after the goods arrive. That is the practical reason they never make it into the cost: by the time the clearance invoice lands, the stock has already been sold at a price set from the supplier figure.
The part that catches people: how you split it
A container rarely holds one product. So the shared costs — freight, duty, clearance — have to be allocated across everything inside it, and the basis you choose changes the answer completely.
| Allocate by | Suits | Distorts |
|---|---|---|
| Value | Duty, insurance, bank charges | Light expensive goods absorb freight they never caused |
| Weight | Sea freight on dense cargo | Bulky light goods look free to ship |
| Volume (CBM) | Most container freight | Dense heavy items look cheap |
For our client the honest answer was mixed: duty and insurance by value, because that is how they are actually charged, and freight by volume, because that is what the shipping line prices. Anyone applying one basis to everything is producing a per-unit cost that is wrong in both directions at once — overstating some lines, understating others, and averaging out to look approximately right.
Why the spreadsheet cannot hold it
It is not that the arithmetic is hard. It is that the cost of a shipment keeps changing after the shipment arrives, and every change has to flow back through to the unit cost of stock that may already be partly sold. A spreadsheet models a moment; landed cost is a moving figure that settles weeks later.
The fix is not a better spreadsheet. It is holding the shipment as the object that owns its costs, and deriving unit cost from it — so a clearance invoice entered in week three silently corrects the margin on everything from that container, including what you have already sold.
The test worth running this week
Take your last container. Add every cost against it from the supplier invoice to the last bank charge. Divide by what came out of it, allocated properly. Compare that to the cost you have been pricing against. If the gap is under 10%, your process is unusually good. Most of the ones we have opened are between 15% and 40%.
Sources
- The Official Portal of the UAE Government — Customs clearanceCustoms duty — commonly 5% on the CIF value for most goods entering the GCC.
- Dubai Customs — Frequently asked questionsCustoms duty — commonly 5% on the CIF value for most goods entering the GCC.
Writing
- What property software has to know in the UAE that generic software does notPost-dated cheques, Ejari, VAT that changes with the unit type, and rent caps set by an…
- Building Arabic software: six things that break, and none of them are translationTranslation is the easy half. The half that ships broken is layout direction…
- What custom software actually costs in the UAEWhat actually moves the number, how the quote works, and the honest cases where you…
JD Software Solutions — a four-person software studio in the United Arab Emirates. We build the system, hand over the code, and stay on to run it.