CalgaryBiztech
Search

Industries

Wholesale Distribution Software

Inventory turns and landed cost formulas, the six places distribution margin leaks, and why retrofitting landed cost makes your history wrong.

By Biztech Editors Reviewed Wholesale DistributionLanded CostInventory TurnsPricingERP

Quick answer: distribution margin leaks first and worst through landed cost sitting in overhead, which overstates gross margin on every product and means pricing decisions get made from a wrong number. It is also the one thing that has to be configured before go-live, because retrofitting it leaves your history permanently wrong.

The Two Formulas That Run the Business

Landed cost      = purchase price + freight + duty + brokerage + insurance
                   (adjusted for currency movement)

Inventory turns  = cost of goods sold / average inventory value
Days of inventory = 365 / turns

Work a landed cost example, because the consequence is sharper than the formula suggests:

Value
Goods on the supplier invoice$10,000
Freight$1,400
Duty$650
Brokerage$300
Actual landed cost$12,350

Now price it. If your system says the product cost $10,000 and you apply a 25 percent markup, you sell at $12,500 believing you made a 20 percent margin.

You made $150 on $12,350 of cost, which is a 1.2 percent margin.

That is a 23.5 percent gap between invoice price and shelf cost, and on imported goods it is entirely normal. A distributor pricing off the supplier invoice is not making thin margins by bad luck.

Where the Margin Leaks

Ranked by how often each turns out to be the answer.

The leakWhy it hides
1Landed cost expensed to overheadGross margin per product is overstated, so pricing is set from a wrong number
2Rebates earned and never claimedOr claimed without the evidence to support them
3Contract pricing that outlives the contractNobody gets an alert when a price should have expired
4Backorders quietly ageingThe sale is lost without anyone deciding to lose it
5Dead and slow stockA financing cost that never appears as a cost line
6Freight charged below actualEspecially on small orders, where it is invisible per order and material per year

Configure Landed Cost Before Go-Live

This is the sequencing point, and it is worth being blunt about.

Retrofitting landed cost does not repair the past. Every product cost recorded before you switch it on excludes freight and duty. So your historical margin analysis is wrong, the pricing decisions you took from it were wrong, and you cannot cleanly recalculate your way backwards.

Odoo handles this through landed costs, attaching freight, duty and brokerage to the goods so they flow into cost of sales instead of sitting in overhead. Comparable capability exists in any serious distribution system. What varies is whether it is configured on day one or after the first year of reporting has already been produced on the wrong basis.

Pricing Is Layered, and Precedence Is Where It Breaks

Distribution pricing is rarely a price list. It is four layers:

  1. List price
  2. Customer tier
  3. Contract price for named accounts
  4. Volume breaks

Those resolve in a specific order that the sales desk knows by habit and that nobody has written down. Reproducing them accurately is the single most common source of go-live surprises in a distribution implementation, because the resolved price for a real customer and a real product is the only test that matters.

The test to run in any demo: take three actual customers who buy the same product at three different prices, and have the vendor produce all three. If they cannot, you have found your project’s hardest requirement before you signed anything.

Contract pricing needs effective dates. Prices agreed for a year that outlive the agreement are pure margin loss, and they persist because nothing prompts anyone to look.

Rebates Are Margin, and They Are Tracked on Paper

Vendor rebates and programme income are frequently a material part of a distributor’s actual profit, and they are commonly tracked in a spreadsheet by one person.

Two failures follow. Rebates get earned and never claimed, because nobody was watching the threshold. And rebates get claimed without the evidence, which becomes an unpleasant conversation when the supplier asks for support.

Modelled properly, a rebate is an accrual against purchases, with the claim evidence retained against it. That turns a memory exercise into a report.

Backorders Age, and Ageing Is the Metric

Whether an order ships partial or holds complete is a business rule you decide. Inheriting the system default is how it goes wrong. It changes picking, invoicing and what the customer expects to happen.

Then measure the right thing. Most systems report backorder quantity. The number that predicts lost sales is backorder age, because an order that has been waiting five weeks is a customer who has probably already bought elsewhere and has not told you.

Reordering rules matter here too, and they need real vendor lead times instead of optimistic ones. Odoo documents reordering rules for this, and the discipline is to review them after go-live once genuine demand data exists instead of setting them once from guesswork.

What to Do First

Take one recent container or inbound shipment and calculate what those goods actually cost on your shelf, including freight, duty, brokerage and any exchange movement. Compare that to the cost your system currently shows.

The gap is your answer. If it is meaningful, every margin report you have produced is overstated by roughly that proportion on imported lines, and any pricing decision made from those reports deserves revisiting.

Then pull your slowest-moving hundred items with their stock ageing. Dead stock is a financing cost that never appears as a cost, and seeing it listed with dates is usually the moment an owner decides to act.

Frequently Asked Questions

What is landed cost and how do you calculate it?
Landed cost is what a product actually costs by the time it is on your shelf, which is the purchase price plus freight, duty, brokerage, insurance and any currency movement. Written out: landed cost equals purchase price plus freight plus duty plus brokerage plus insurance, adjusted for exchange. Anything left in overhead instead of attached to the goods overstates your gross margin on every product it touched.
How do you calculate inventory turns?
Cost of goods sold divided by average inventory value. Days of inventory is 365 divided by turns. A distributor with $4.2 million of COGS and $1.05 million of average inventory is at 4.0 turns, or roughly 91 days of stock. Turns is the metric owners watch because capital is sitting in the warehouse, and it is only meaningful if inventory is valued correctly, which brings you back to landed cost.
Why does landed cost have to be configured before go-live?
Because retrofitting it does not fix history. Every product cost recorded before you switch it on excludes freight and duty, so your historical margin analysis is wrong and any pricing decision taken from it was wrong too. You cannot recalculate your way out cleanly, which makes this one of the few genuinely sequencing-critical configuration decisions in a distribution implementation.
What breaks in distribution pricing?
Precedence. Pricing is layered as list, customer tier, contract price for named accounts, and volume breaks, and those layers resolve in a specific order the sales desk knows by habit and nobody has written down. The other common failure is contract pricing that outlives the contract, which quietly sells at last year's number indefinitely.
How should backorders be handled?
As a business rule you have decided, instead of a preference the system defaults to. Whether an order ships partial or holds complete changes picking, invoicing and what the customer expects. Then report on backorder age instead of only quantity, because the failure mode is orders quietly getting old until the sale is lost without anyone deciding to lose it.