The Margin Was Calculated on the Supplier's Price. The Cost Arrived Six Weeks Later
· 7 min read · Written by Faceela Research & Editorial Team
Reviewed by Ahmed Hassan Algammal — Founder and Enterprise Systems Consultant
On the day you quote, there is exactly one number in the system for a container of goods: the supplier's price on the purchase order. USD 42,000, say. Everything a salesperson does that week — the price list, the discount he is allowed, the margin the sales report shows — is calculated from it.
The actual cost of that container is not knowable that week. It is assembled, over the following six to ten weeks, out of a dozen invoices from six different parties, and every one of them arrives after the decision it should have informed.
That is the whole problem, and it is not an accounting problem. The accounts are usually right. The item is wrong, permanently, and every decision made per item inherits it.
What arrives after the purchase order
| Cost element | Who invoices | When it is known |
|---|---|---|
| Sea or air freight | Forwarder | On booking, roughly; on invoice, exactly |
| Marine insurance | Broker | With the shipment documents |
| Customs duty, 5% on CIF | Paid at entry | At clearance |
| Clearing agent, documentation | Agent | Days after clearance |
| Port handling, delivery order | Terminal | With the agent's invoice |
| Demurrage and detention | Line | Only if something went wrong |
| Inland transport to the warehouse | Transporter | On delivery |
| LC charges, acceptance commission, FX spread | Bank | On the statement, unallocated |
Eight parties, eight timings, one container. Notice that not one of them is available at the moment somebody sets the selling price.
Notice too that they do not scale together. Freight is per container and duty is per value, so a light expensive item and a heavy cheap one loaded into the same box carry wildly different shares of the same bill — and splitting that bill by line value, which is what a spreadsheet does because it is the easy column, charges the expensive item for the heavy one's space.
The shape of it
One number on the day, eight more after the decisions
The day you quote
The purchase order price
One number, and the only cost figure in existence this week. The price list, the discount the salesperson may give and the margin the sales report will show are all calculated from it.
The rest of the cost arrives below, grouped by when it becomes knowable — and set against what had already been decided by then.
While the container is on the water
Sea or air freight
Too late for: The quotation. It went out priced from the purchase order, and the customer has already answered it.
Marine insurance
Too late for: The discount approved on that quotation, signed off as points of margin that were never there.
At clearance, and in the days after it
Customs duty, 5% on CIF
Too late for: The stock valuation. The goods were received at the purchase order price, and that is what the system says they are worth.
Clearing agent and documentation
Too late for: The gross margin already reported on the first deliveries out of the container.
Port handling and the delivery order
Too late for: The price list review, which began from a cost figure that is not the cost.
Inland transport to the warehouse
Too late for: The reorder. The item is back on the buying list, ranked by a profitability figure that has never carried any of this.
After the goods are on the shelf, and some of them sold
Demurrage and detention
Too late for: Nothing, and that is the trouble. The shipment file is closed, so the charge is not late for a decision — it is late for an owner.
LC charges, acceptance commission, FX spread
Too late for: The month, closed and reported. They arrive on a bank statement, unallocated, where no item can inherit them.
Six to ten weeks later
Every invoice above is now posted, correctly, to an expense account in the month it arrived. The P&L adds up and the auditor is satisfied. The item's cost is still the purchase order price at the top of this figure, and every decision made per item still inherits it.
Where the money actually goes
The default treatment is to post each of those invoices to an expense account in the month it arrives. Nothing is untrue in that. The P&L adds up. The auditor is satisfied.
But the goods were valued at the PO price when they were received, so:
- Gross margin per item is overstated, by whatever proportion of landed cost sits outside the PO — commonly 8% to 18% on sea freight from Asia into Jebel Ali, and far more on air.
- The overstatement is uneven, so it does not cancel out. It is largest on low-value, high-volume, heavy goods, which is exactly the category a distributor thinks of as his bread and butter.
- Reorder decisions are made on the wrong ranking. The item at the top of the "most profitable" list is often the one whose freight share was never charged to it.
- Price list reviews start from a cost figure that is not the cost, so a discount approved as "still 12 points of margin" is sometimes three.
None of this produces an error anywhere. It produces a company that is quietly less profitable than its own reports, which is the dashboard problem in its most expensive form.
Demurrage is the one worth naming separately
Every other line above is a cost of doing business. Demurrage is a cost of not answering an email.
It accrues per container per day, it starts after a free period nobody is watching, and it is caused by an incomplete document, a delayed payment, or a delivery order not collected. It is also the only line in the table that is entirely avoidable and the only one nobody can attribute to a job, because by the time the invoice arrives the goods are on a shelf and the shipment is closed.
A system that carries demurrage back onto the shipment, and shows it per shipment per month, changes behaviour in about one quarter. Not because anyone is lectured — because the number finally has a name attached to it.
What to make a vendor show you
On a live system, on a real shipment, not on slides.
- Receive goods against a purchase order and post the freight invoice afterwards, and show the item's cost change.
- Allocate one freight bill across a mixed container by weight, by volume and by value, and show the three answers differ.
- Show the cost of an item that was partly sold before the freight invoice arrived — and show what happened to the margin already reported on those sales.
- Show landed cost per shipment against the estimate made at the time of ordering.
- Show demurrage as a line against the shipment that incurred it, not as an admin expense.
- Produce a gross margin report per item that uses landed cost, and reconcile its total to the general ledger.
Item 3 decides it. Every system can accumulate costs onto stock still sitting in the warehouse. Handling the part already sold — and being honest about the margin restated — is the case that separates a real landed-cost engine from a checkbox.
The short version
The purchase order price is the only cost figure available when the price is set, and it is not the cost. The rest arrives later, unevenly, from parties who do not know each other, and lands in expense accounts where no item can inherit it.
Nothing in the accounts is wrong. Every number a trader actually steers by is.
The fix is not more discipline in coding invoices. It is that the shipment, not the month, has to be the thing costs attach to — and that the item's cost must be allowed to change after the goods have been received, including after some of them have been sold.
How that runs end to end on Odoo, with the warehouse and the freight file on the same record, is Logix. The wider case for a trading business is in ERP for trading and distribution in the UAE, and the neighbouring leak — stock that exists on paper and not on the rack — is why your stock figure is wrong.
