A vendor invoice shows up for $1,000. On it are 100 half-inch fittings at $4.00 each and two pumps at $300.00 each. A week later the freight bill lands: $150, once you count the fuel surcharge. Now here's the question that decides whether your shelf prices are honest. Which items on that invoice should carry the freight?
Say you split the $150 by what each line is worth. The fittings take $60 of it, the pumps take $90. Each pump really cost you $345 by the time it was sitting on your floor, and each fitting really cost $4.60. But say you split the same bill by pieces instead. Every one of the 102 units carries $1.47, so the pump's cost barely moves to $301.47 while the fitting jumps to $5.47, a full 37% above what the invoice said. If your price tiers compute margin off that $4.00 invoice cost, the fitting just lost a third of the margin you thought you had, and nothing on the paperwork warned you.
That gap between invoice cost and real cost is landed cost, and getting it into your numbers is mostly arithmetic. Landed cost is the total cost of getting a product onto your shelf: what the vendor charged, plus what it took to get the product to you. In a bold line, because it's the one worth writing on the wall:
Landed cost = invoice cost + freight in + any fees to get the goods on your shelf (fuel surcharges, pallet or handling fees, duties and brokerage on imports), minus vendor discounts.
Everything below is about where each piece of that formula comes from, how to split one freight bill fairly across the lines it rode in on, and what happens to your margin when you don't.
What counts as landed cost
Start with the shipping charge itself. Freight in is the cost to move goods you've purchased from the vendor to your store. Freight out, what you spend delivering to your customers, is a different animal: it's a selling expense and never belongs in the cost of your inventory. A contractor's delivery run to the job site is freight out. The Orgill or Lancaster truck backing up to your dock is freight in, and only freight in gets capitalized into inventory cost.
The accounting reason matters because it changes your margins. Freight in gets capitalized, meaning it becomes part of what your inventory is worth, and it's expensed through cost of goods sold when the goods actually sell, not when the carrier's bill arrives. Expensing it the day the bill shows up understates your inventory, overstates that month's expenses, and distorts gross margin in both directions, as AccountingTools puts it. Your December looks worse than it was, your February looks better than it is, and neither one tells the truth about what the store earned.
Beyond the line-haul charge, the fees pile on quietly: fuel surcharges, pallet and handling fees, residential delivery charges, minimum order fees, and on imports, duties and customs brokerage. If a fee exists because those goods needed to reach your shelf, it belongs in landed cost. On the other side of the formula, vendor discounts come off the top. A 2% early-pay discount on that $1,000 invoice is $20 that reduces the cost before freight ever gets added.
One feed mill owner put the destination plainly on a call with us: freight has to land "in the cost of the corn rather than sitting in an expense account." That's the whole principle. The corn's cost is what the corn cost to have, not what the vendor happened to print.
Three ways to split one freight bill
A single shipment usually carries many lines, and the freight bill comes as one number at the bottom. Allocation is how you split that number across the lines, and accounting systems offer the same handful of bases. Sage 100's documentation lists four: by quantity, where each line takes its share of the total units received; by weight, where each line takes its share of the total weight (items with no weight on file get left out entirely); by volume, which works the same way as weight; and by cost, where each line takes its share of the shipment's base inventory value.
Sage's own worked example shows how much the answer moves. Take $100 of freight on a shipment with two items: item A is 5 units at $10.00 each, weighing 20 pounds total with $50 of value, and item B is 20 units at $7.50 each, weighing 30 pounds with $150 of value.
| Allocation basis | Freight to item A | Freight to item B | A's new unit cost | B's new unit cost |
|---|---|---|---|---|
| By quantity | $20 | $80 | $14.00 | $11.50 |
| By weight | $40 | $60 | $18.00 | $10.50 |
| By cost (value) | $25 | $75 | $15.00 | $11.25 |
Same truck, same $100, and item A's unit cost swings from $14.00 to $18.00 depending on the method you pick. That's a 28% spread on one line, from nothing but an accounting choice.
So which do you use? The general guidance maps each basis to the load it describes. Quantity fits uniform goods, a shipment of the same fasteners or the same fittings where every piece takes up the same room on the truck. Weight fits mixed loads where the carrier priced by the pound, which is most LTL freight: let the heavy things carry what they made heavy. Value fits shipments of physically similar goods at very different prices, where the units and weights are comparable but the dollars aren't, since it keeps expensive items from looking artificially cheap and cheap ones from looking artificially dear.
No basis is perfect on a truly mixed load, and that's fine. The goal isn't mathematical purity, it's that the freight shows up in the cost of the goods that caused it, close enough that your pricing tells the truth.
Landed cost calculator
Enter two lines from a shipment and the freight total, and see what each unit really cost you under the two methods most systems offer:
Landed cost per unit, two ways
The small item is where it bites
Back to the opening shipment: 100 half-inch fittings at $4.00, two pumps at $300.00, and $150 of freight and fuel surcharge. Here's both methods side by side.
| Allocation method | Fitting's freight share | Fitting's landed cost | Pump's freight share | Pump's landed cost |
|---|---|---|---|---|
| By quantity (102 units) | $1.47 per unit | $5.47 (37% above invoice) | $1.47 per unit | $301.47 |
| By value | $0.60 per unit | $4.60 | $45.00 per unit | $345.00 |
Same freight bill, two very different stories. Allocating by quantity, the fittings carry $147 of the $150 because they're 98 of the 102 pieces, and each one lands 37% above its invoice cost. Allocating by value, the pumps carry $90 because they're 60% of the dollars, and the fittings barely notice.
Now the margin consequence. Say your pricing is margin-based and it computes off invoice cost. By quantity, the fitting's real cost is $5.47 but your tier math still thinks it cost $4.00. If you priced for a 33% margin on that $4.00, you're actually making something closer to 9% once the freight is counted, and nobody flagged it because the shelf price looked right. By value, the pump takes the hit instead: you priced off $300, but $345 is what it cost you to have it, and if you priced that pump for a 30% margin, the $45 of freight pulls the real margin down to about 19.5%.
This is worst exactly where independent stores live. A remote hardware store owner told us on a sales call, "Shipping can actually double the cost of an item by the time it gets here. I would have to use algebra on every single one of those 1,000 items." He's not exaggerating about the doubling; on heavy, low-value goods the freight routinely rivals the product. Bagged feed, concrete mix, salt, fencing, full-truck lumber loads priced by the thousand board feet, imports carrying duties and brokerage, drop-ship special orders with per-order fees: these are the lines where landed cost and invoice cost part ways. Island and remote stores feel it on everything, because everything rode a boat or a long truck to get there.
The pattern to remember: the cheaper and heavier the item, the bigger the freight's percentage bite. The fitting doesn't look like a freight problem on the invoice. On the shelf, it is one.
Landed cost and your price tiers
Here's the part that surprises people: getting landed cost into your system doesn't, by itself, fix your prices. Two different costs live in a POS, and they update on different triggers.
The first is average cost, what the units currently on your shelf actually cost you. Every receipt updates it: the new units come in at their landed cost and blend with what's already there. Average cost drives your cost of goods sold and your margin reporting, so it's the number that tells you what you really made. The second is your standard or pricing cost, the number your margin-based price tiers compute from. A receipt does not change it on its own. So you can receive a shipment at the correct landed cost, watch your average cost rise, and still have every price tier in the store calculating off last year's standard cost. Your prices lag your costs, and the lag is pure lost margin.
The fix is a habit, not a project. When landed costs move meaningfully, update the pricing cost on the affected items, then let the tiers recompute. How often depends on your freight exposure: a store whose distributors add a fuel surcharge every quarter should review pricing costs quarterly at minimum, and a store receiving full lumber loads should check after every load, because lumber doesn't wait for your review cycle. If you want the full treatment of margin-based pricing and the markup math behind it, the companion piece on margin versus markup pairs with this one, and the inventory turnover and GMROI guide covers what all this cost accuracy buys you in inventory turns.
Five mistakes
The five ways landed cost goes wrong, in the order we hear about them:
-
Expensing freight to overhead. It makes gross margin by product look better than it is, and it makes the month the bill arrives look worse than it was. Freight in belongs in inventory, out through cost of goods sold.
-
Allocating by value on a heavy, cheap load. When the shipment is bagged concrete plus one expensive item, value-based splits let the cheap heavy lines carry almost nothing and stick the expensive line with a cost nobody will pay. Match the method to the load.
-
Forgetting the small fees. Fuel surcharge, pallet fee, residential delivery, minimum order fee. Each one is a few dollars, and together they're a real percentage of a small shipment's cost. If it got the goods to your shelf, it goes in.
-
Never updating the pricing cost. Average cost updates itself at receiving; the standard cost your tiers compute from does not. Pricing off last year's invoice cost is how a store loses margin while every report says it's fine.
-
Vouchering freight separately from the purchase order. Then the bookkeeper gets a freight bill with no inventory behind it, and the choice becomes a journal entry nobody loves or an expense that shouldn't be one. Put the freight on the PO it rode in on.
Several of these get easier when purchasing itself is planned instead of reactive. Fewer, fuller trucks beat many small shipments on freight every time, which is the whole logic of an open-to-buy plan.
How Rundoo handles landed cost
Rundoo runs in 500+ independent hardware, paint, farm and feed and lumber stores and garden centers across the US and Canada, and landed cost distribution is built in. Here's what it does, verified against the product, limits included.
On a received purchase order, the Order details panel has an Add fee or discount option. The modal takes a fee or a discount, a name (most stores type "Freight"), a dollar amount, a general ledger account, and a Distribute landed cost choice: By quantity, By subtotal, or No distribution. Fees are entered as dollar amounts, so a $150 freight bill goes in as $150, not a percentage. You can add the fee at receiving or later at vouchering, and the same panel carries the invoice number, invoice date, and due date, so the freight bill and the inventory stay attached to each other.
When you distribute, each line absorbs its share: the fee becomes part of each product's cost and flows into average cost and into cost of goods sold when the items sell. Choose No distribution instead and the fee posts as an order-level total to whatever general ledger account you picked, without touching unit costs, which is the right treatment for a fee that isn't really about the goods.
Two plain limits. Splitting by shipped weight isn't supported; on a mixed load, by quantity or by subtotal gets you close rather than exact, and the worked examples above show how much "close" can matter. And when close isn't good enough, there's a manual route: edit the COST cell on any line in the Receive view, and that figure becomes the landed cost for the line, feeding average cost and the general ledger. Once the receipt is committed, unit cost locks, so get the freight in first.
On the money side, vouchering the purchase order creates the purchase journal that posts to QuickBooks nightly, fees riding in the order total, which is how the POS and QuickBooks stay in step without the bookkeeper re-keying freight bills.
On the pricing side, remember the two costs from the previous section: receiving updates average cost only. Margin-based price tiers compute from standard cost, which a receipt does not change, so retail doesn't move until you update standard cost yourself, either on the product's Costs tab ("Edit average and standard costs") or through the Price changes queue under Products > Integrations. Dooey, Rundoo's AI, can run a routine that flags margin drops after cost changes, so the lines that need attention surface instead of hiding. There's more on this on the pricing and purchasing page.
