Import cost: how to calculate landed cost in your warehouse

Import cost: how to calculate landed cost in your warehouse
The price your foreign supplier quotes is not the cost of the goods. It is the first line of a list that keeps growing until the boxes reach your warehouse: freight, insurance, duty, VAT, broker, port, inland transport and the months that money sat still. A container bought for USD 24,000 can cost USD 34,237 before the first unit is sold, and that gap appears on no invoice from abroad. What follows is the full calculation, with an example that reconciles line by line, the allocation across SKUs and the right order to move from cost to price.
Why FOB cost does not work for pricing
FOB means the supplier delivers the goods on board the vessel at the port of origin. Everything that happens afterwards —freight, insurance, customs clearance, inland transport to the depot— is paid by the importer and never shows on the commercial invoice. That figure is useful to negotiate and to compare suppliers. It is useless for costing.
In the example used throughout this article, SKU A is bought at USD 30 per unit and ends up costing USD 42.80 landed. That is 12.80 dollars per unit that somebody has to pay. If the selling price was set on the 30, every sale leaves less margin than expected, and the mistake only shows when the quarterly income statement does not match the forecast.
Keep three prices apart. FOB: goods at origin only. CIF: goods plus freight and insurance to the Colombian port. Landed: all of the above plus duties, customs clearance, inland transport and the cost of money tied up in the operation. Only the third one can price a sale.
The six blocks of landed cost
Every import cost sorts into six blocks. Each one has a different owner, a different document and a different date, and that is why they get lost: the freight invoice arrives a month later, the customs declaration the following week, the bank statement the month after. Whatever is not captured in time is never recovered.
| Block | What it includes | Where it is paid | How it is allocated |
|---|---|---|---|
| 1. Goods | FOB price per SKU, export packing, declared value | Supplier invoice | Direct, per SKU |
| 2. Transport and insurance | Ocean or air freight, fuel and security surcharges, cargo insurance | Carrier or freight forwarder | By weight or volume; insurance by value |
| 3. Duties and taxes | Tariff duty by subheading, import VAT and other applicable charges | DIAN, at declaration | By customs value |
| 4. Customs clearance | Customs broker fees, terminal handling, unloading, port storage | Broker and terminal | By value or weight, per document |
| 5. Inland destination | Truck port–depot, unloading, conditioning, first storage | Carrier and warehouse | By weight or volume |
| 6. Money and time | Interest, letter of credit commission, inventory days in transit | Bank and opportunity cost | By capital tied up and days |
Blocks 1 to 3 are captured by the import declaration. Blocks 4 and 5 arrive as domestic invoices, in pesos, with their own VAT. Block 6 arrives on no invoice at all: it is calculated. That is why so many companies cost the goods well and the shipment badly.
Customs value and its cascade effect on duties
In Colombia the customs value is built on a CIF basis: goods plus freight and insurance up to the port of import. The practical consequence is underestimated. Freight is not an expense added at the end; it is part of the base on which duties are assessed.
The cascade works like this: every peso of declared freight raises the customs value, raises the duty and, since duty also forms part of the VAT base, raises VAT twice over. With an assumed 8 % duty and an assumed 19 % VAT, each dollar of freight drags 0.08 of duty and 0.2052 of VAT: 0.2852 dollars of tax for every dollar of freight.
| Item | Only FOB is declared | Full CIF is declared | Effect of declaring freight |
|---|---|---|---|
| Customs value | USD 24,000.00 | USD 26,640.00 | + USD 2,640.00 |
| Assumed 8 % duty | USD 1,920.00 | USD 2,131.20 | + USD 211.20 |
| VAT taxable base | USD 25,920.00 | USD 28,771.20 | + USD 2,851.20 |
| Assumed 19 % VAT | USD 4,924.80 | USD 5,466.53 | + USD 541.73 |
| Total duties and taxes | USD 6,844.80 | USD 7,597.73 | + USD 752.93 |
Those percentages are assumptions of the exercise. The real duty depends on the subheading of each SKU and import VAT depends on the rate that applies to that good, which is not always the general rate: some goods carry a reduced rate, some are excluded and some are exempt. Confirm the ten-digit subheading and the rate in force for the year of the shipment.
Freight, insurance and origin charges: what goes in and what does not
Rule of thumb: if the charge is incurred before the goods reach the Colombian port and is part of getting them there, check whether it forms part of the customs value. If it is incurred afterwards, it is a destination cost and does not touch the tax base.
These are added to cost: international freight, fuel, security and peak-season surcharges, cargo insurance, export packing, documentation and inland transport in the country of origin up to the port of loading. Surcharges are the line that escapes most often: they arrive on the same freight invoice, almost never in the first quote, and in a normal year they weigh a great deal.
These are not added to the customs value: inland transport in Colombia, broker fees, port storage, VAT, bank charges and interest. They are cost, yes, but not a taxable base. Mixing them into the declaration is a formal error that is expensive to correct later.
There is a trap with insurance. If the deal was CIF, insurance is already inside the invoice price and must not be added again; if it was FOB or CFR, the importer buys it and it is an additional cost. Writing the Incoterm on each SKU record prevents the line from being counted twice.
Destination costs: broker, port, transport, warehouse
These are paid in pesos, with domestic invoices, and that is why they often end up in "general expenses" instead of the shipment cost. The example uses four round figures: customs broker 1,400,000, port 900,000, transport to the depot 700,000 and warehouse 300,000, for a total of 3,300,000 pesos.
The port line varies most and is reviewed least: terminal handling, unloading, quay use and storage. Storage is charged by the day, and a container delayed at inspection or missing documents builds a daily charge that can exceed the broker fee. The broker fee is not fixed either: it depends on the number of lines in the declaration, on whether there is a physical inspection and on whether the goods need prior permits.
The cost of money: advances, letters of credit and inventory days
The cycle ties up cash long before the goods arrive. An advance is paid to start production, freight is paid, clearance is paid, and the sale happens weeks after the first disbursement. That money has a cost even when no invoice shows it.
The formula is simple: capital tied up times rate times days, divided by 365. With the investment in the example —USD 34,237.73 at 4,000, that is 140,250,920 pesos—, a financing rate of 2 % per month and 75 days between the advance and the sale: 140,250,920 × 0.24 × 75 ÷ 365 = 6,916,484 pesos. Almost 5 % of the value of the goods.
Days are counted from the first disbursement, not from the shipment. An advance paid 60 days before the vessel sails adds 60 days to the cycle, and that is the most common error: the 30 days of ocean transit are counted and the two months of production are forgotten. A letter of credit adds the opening commission, charged as a percentage of the instrument with a minimum, which the bank quote settles exactly.
How to allocate cost across SKUs in a mixed container
A container with two or five SKUs forces a decision on how to split what cannot be identified by SKU: freight, insurance, duties, local charges and the cost of money. The criterion must follow the cause of the charge, not the convenience of the spreadsheet.
Duties and insurance are allocated by value, because they are assessed on the customs value. Freight, inland transport and storage are allocated by weight or volume, because that is how they are charged. Allocating by units only works when the SKUs are homogeneous in value, weight and price; in any other case it distorts.
| Item | Container total | SKU A | SKU B |
|---|---|---|---|
| Units | 1,000 | 600 | 400 |
| FOB value | USD 24,000.00 | USD 18,000.00 | USD 6,000.00 |
| Freight allocated by value (75 % / 25 %) | USD 2,400.00 | USD 1,800.00 | USD 600.00 |
| Insurance allocated by value | USD 240.00 | USD 180.00 | USD 60.00 |
| Customs value | USD 26,640.00 | USD 19,980.00 | USD 6,660.00 |
| Assumed 8 % duty | USD 2,131.20 | USD 1,598.40 | USD 532.80 |
| VAT base | USD 28,771.20 | USD 21,578.40 | USD 7,192.80 |
| Assumed 19 % VAT, not recoverable in this example | USD 5,466.53 | USD 4,099.90 | USD 1,366.63 |
| Local charges | COP 3,300,000 | COP 2,475,000 | COP 825,000 |
| Total cost | USD 34,237.73 | USD 25,678.30 | USD 8,559.43 |
| Unit cost | — | USD 42.80 | USD 21.40 |
| Unit cost at an exchange rate of 4,000 | — | COP 171,200 | COP 85,600 |
| Local charges per unit | — | COP 4,125 | COP 2,062.50 |
| Final cost per unit | — | COP 175,325 | COP 87,662.50 |
| If freight is allocated by weight (90 % / 10 %) | — | USD 43.57 | USD 20.24 |
Both columns reconcile with the total: 25,678.30 plus 8,559.43 is 34,237.73 dollars, exactly the customs value plus duty plus VAT. That check should be run before any cost is considered closed.
The last row shows why the criterion matters. Allocating freight by weight, with 3,600 kilos for A and 400 for B, pushes SKU A to USD 43.57 and pulls B down to USD 20.24. The container total does not change: what changes is who pays what. With prices already published, a badly chosen allocation leaves one SKU selling below cost while the other looks highly profitable.
Unit cost, margin and price: the right order
The order is full unit cost, target margin, price, then verification of the real margin. Reversing it —set the price and then see whether it works— is the fastest way to work for free.
With the final cost of A at 175,325 pesos and the cost of money included, the cost per unit rises to 183,971 pesos. If the target margin is 30 % of the selling price, the price is not the cost times 1.30: it is the cost divided by 0.70, that is 262,816 pesos. The shortcut costs 23,653 pesos per unit, margin given away on every sale.
Margin on price and markup on cost are not the same thing. A 30 % markup on 183,971 gives 239,162 pesos, but that price leaves a 23.1 % margin on the sale, not 30 %.
What to do with goods in transit while cost is not final
The goods arrive, they sell, and the final cost still does not exist because the broker invoice or the freight adjustment is missing. Leaving the cost open is worse than estimating it: inventory carries a value nobody can explain and the month's margin is distorted.
The way out is a provisional cost per SKU, built from the documents at hand —invoice, quoted freight, duties estimated from the subheading— plus a provision for the expected difference. When the final cost arrives, inventory is adjusted and, if the goods are already sold, cost of sales is adjusted. The provision is reversed, with a date and a document: a silent adjustment is a discrepancy that surfaces months later.
What the cost sheet for each SKU must contain
The sheet is a table per SKU, not a file per shipment. It must carry supplier and country of origin, tariff subheading, unit of measure, quantity, FOB unit price, freight and insurance per unit, effective duty, VAT treatment —recoverable or cost—, local charges per unit, cost of money per unit and the exchange rate applied.
The exchange rate deserves its own line: the cost in pesos changes with every shipment even when the dollar price is identical, because the rate on the payment date is not the rate on the quote date. A sheet holding a single peso cost is out of date from the second shipment onwards. Keeping the history shows whether cost rose because of the supplier, the freight or the rate, and that distinction is what gives you an argument at the negotiating table.
Costs that are not cost, and expenses that are
Import VAT is a cost only when it cannot be recovered. If the company is VAT-registered and the goods are sold with VAT, that VAT is credited and must not inflate cost, because it pushes the price up and takes the company out of the market. If the goods are excluded, or the company is not VAT-registered, the VAT paid stays in cost. The example includes it for that reason, and the sheet should say so.
The advance is not cost either: it is an asset that turns into goods, and its cost is the financing, not the amount wired. Booking it as an expense distorts both the expense and the inventory. The exchange difference, by contrast, is pure cost when more pesos are paid for the same dollar: it is part of what the goods cost. And the broker fee is cost of the goods, not an administrative expense.
Common mistakes
The five mistakes in the table come up in almost every costing audit. None of them is fixed with more discipline in the same spreadsheet.
| Mistake | Symptom | Consequence | Fix |
|---|---|---|---|
| Allocating freight by units instead of value or volume | The light, expensive SKU carries too much | Wrong prices in both directions | Freight by weight or volume; duties by value |
| Forgetting import VAT, or including it when it is recoverable | Margin that does not match the bank, or a price out of the market | Cost understated or overstated by several points | Decide per SKU whether VAT is recoverable and write it down |
| Ignoring inventory days in transit | Cost creeps up every quarter with no explanation | 3 % to 6 % of the goods value never recorded | Capital times rate times days, from the first disbursement |
| Sending the broker fee to monthly expenses | Administrative expense grows, inventory does not | Unit cost too low, gross margin inflated | Capitalise it into the shipment that caused it |
| Pricing on FOB cost | The real margin shows up three months later | Loss-making sales on the SKUs with the highest freight | Price only on verified landed cost |
What gets costed is what arrives by email; what gets calculated is forgotten. The fix is not a longer template, it is giving every block a capture date and an owner.
An honest closing before you decide
This calculation replaces neither the accountant nor the customs broker. The subheading, the rate in force, the VAT treatment and any withholding that applies to payments abroad depend on each operation and change with the rules; what is explained here is the mechanism, with assumed percentages. If this is your first import, or if the goods need prior permits, confirm the classification before asking for a freight quote: a change of subheading moves cost more than a freight negotiation.
Nor does it apply the same way to every operation. In low-value air imports freight weighs less and the cost of money weighs more; in bulk cargo the allocation by weight rules over value. And if you sell in dollars, the peso cost matters less than the cost in the currency you sell in.
What is universal is the discipline: landed cost is a sheet that is updated with every shipment, not a calculation done once and filed away. Tools such as Kardex Tauro help keep that unit cost, the exchange rate and the inventory in transit in the same system where you invoice, which is the only way the margin you see is the margin you have.