By weight, by value, or by volume? The freight allocation decision that quietly sets your margin

Three defensible ways to allocate a freight bill across SKUs, worked through one 40 ft container — and why the method you pick reorders which product looks most profitable.

A freight invoice arrives for one number. Your accounting needs six.

Whatever happens between those two facts is an allocation. Most importers make it once, in a spreadsheet, in a hurry, and never write down why. Then eighteen months later somebody asks why the margin on a hero SKU moved three points, and nobody in the business can answer.

This post walks one realistic container through all three defensible methods. Same goods, same $4,800 bill, three different sets of unit costs — and, as it turns out, three different answers to the question “what is our best product?”

The short version


  • By weight suits air freight and dense goods. On an ocean container it punishes anything heavy regardless of what it sells for.
  • By value applies an identical percentage to every SKU — always, as a matter of arithmetic. Easy to defend, structurally incapable of telling you what is expensive to ship.
  • By volume tracks what ocean carriers actually sell, and is usually the most honest basis for consumer goods.
  • The spread between methods reaches on a single line below, and flips the margin ranking of two products.
  • Pick one, write down why, and apply it consistently. The unexplained switch is what creates margin swings nobody can account for.

What GAAP actually says, and what it doesn’t

ASC 330-10-30-1 defines the cost of inventory as the expenditures incurred in bringing an article to its “existing condition and location.” Inbound freight, terminal handling and customs brokerage all clear that bar without argument. Goods sitting on a vessel are not yet in their existing condition and location, and what you spend to change that belongs in inventory rather than in this month’s expenses.

What the standard does not do is tell you how to split a shared bill across the items that shared it. There is no prescribed basis. Weight, value and volume are all defensible. What you owe is consistency — pick a basis, apply it the same way each period, and be able to explain it when someone asks.

For US taxpayers there is a second layer. Section 263A, the uniform capitalization rules, requires certain handling and transportation costs to be capitalized for tax purposes. The small-business exemption keys off the section 448(c) gross receipts test, inflation-adjusted to $32 million for 2026, so most Shopify brands sit comfortably under it. If you are above that line, or heading toward it, your tax basis and your book basis may not be the same number — and that is a conversation with your accountant rather than a formula in a spreadsheet.

The point here is not that one method is correct. It is that the method is a decision, it has consequences, and almost nobody writes it down.

The three methods

By weight

Each SKU takes the share of freight matching its share of total shipment weight.

This is the easiest to compute, because the packing list already has the numbers. It is also the one most likely to mislead on ocean freight. Weight is genuinely what you pay for on air cargo and on dense commodity shipments. On a container you are buying space, and the weight limit is a constraint most consumer-goods importers never come near.

By value

Each SKU takes the share matching its share of commercial invoice value. This is the default in most inventory and accounting systems, and it carries a property worth understanding before you accept it.

The arithmetic

Freight per unit under value allocation is unit value × (total freight ÷ total shipment value). Divide that by the unit value and the unit value cancels out. What remains — total freight over total value — is a constant.

Every SKU in the shipment carries freight equal to the same percentage of its cost.

In the container below that percentage is 5.5%. The $3.20 essential oil and the $32.00 dinner set both carry freight worth exactly 5.5% of what they cost. It is tidy, it is trivially easy to defend to an auditor, and it is structurally incapable of telling you which products are expensive to ship — which is usually the reason you started allocating in the first place.

By volume

Each SKU takes the share matching its cubic metres.

This is closest to what an ocean carrier is actually selling you. A 40 ft high-cube container offers roughly 76 m³ of space and around 28 tonnes of payload. Brands shipping homewares, apparel, supplements or electronics run out of the first long before they trouble the second. When space is the binding constraint, space is the honest basis.

One container, three answers

Here is the same shipment costed all three ways: six SKUs in one 40 ft container out of Ho Chi Minh City, carrying $4,800 of ocean freight, terminal handling and customs brokerage. The load is 7,758 kg across 54.5 m³ — about 80% full by space, 27% by weight, which is typical for consumer goods.

Each method allocates the full $4,800. None of them is wrong.

Grouped bar chart comparing freight per unit as a share of supplier cost for six SKUs under weight, value, and volume allocation methods.
Figure 1. Freight per unit as a share of supplier unit cost. Value-based allocation applies one rate to everything, while weight and volume vary sharply by product.
SKUUnitsSupplier costBy weightBy valueBy volumeSpread
Cast iron skillet800$14.00$1.61$0.77$0.404.1×
Silk pillowcase2,400$9.50$0.07$0.52$0.117.0×
Ceramic dinner set400$32.00$4.21$1.76$3.962.4×
Essential oil 30ml3,000$3.20$0.06$0.18$0.045.0×
Wool throw900$22.00$0.87$1.21$1.762.0×
Stainless kettle600$18.50$1.18$1.02$1.591.6×
Total allocated$4,800$4,800$4,800

Worked example

The silk pillowcase

2,400 units at 0.12 kg and $9.50 each. By weight the pillowcases carry 288 kg of a 7,758 kg shipment — 3.7% of the freight, or $0.07 a unit. By value they carry 26% of the invoice total, or $0.52 a unit.

Same container, same bill, both methods entirely defensible, and a seven-fold difference in what this product appears to cost. Across 2,400 units that is roughly $1,076 of cost moving onto or off this SKU and onto the others, decided by a choice nobody wrote down.

The part that should actually worry you

A two-point swing in gross margin is uncomfortable. What is worse is that the swing is not uniform across SKUs, so the ranking changes.

Put realistic retail prices on those six SKUs and compute gross margin under each method:

SKURetailGM by weightGM by valueGM by volume
Cast iron skillet$44.0064.5%66.4%67.3%
Silk pillowcase$29.0067.0%65.4%66.9%
Ceramic dinner set$95.0061.9%64.5%62.1%
Essential oil 30ml$12.0072.9%71.9%73.0%
Wool throw$69.0066.9%66.4%65.6%
Stainless kettle$54.0063.6%63.9%62.8%

Allocated by weight, the silk pillowcase is your second-best product at 67.0%, and the cast iron skillet is fourth at 64.5%. Allocated by value, they swap: the skillet rises to second at 66.4% and the pillowcase drops to fourth at 65.4%. Nothing about either product changed. No supplier renegotiated, no price moved, no unit shipped differently. A choice of denominator reordered the list.

This is why the decision matters beyond bookkeeping. That league table is what people use to decide which products to reorder, which to promote, which to discontinue and which to feature in the next campaign. If the order can be rearranged by a spreadsheet convention, every decision downstream of it inherits the convention — usually without anyone realising there was one.

Stop rebuilding this every shipment

MarginChief applies your chosen basis consistently across every container and keeps the working, so the number is still defensible nine months later.

Start free trial

When each method is defensible

The useful test is not which method is most conservative. It is which basis correlates with what the carrier actually billed you for.

  • Volume, for full-container ocean freight. You bought a box and filled it. Space is what you paid for, so space is how the cost should land.
  • Weight, for air freight and for dense commodity goods where the weight limit is the binding constraint. If the carrier priced on weight, allocate on weight.
  • Value, when the shipment is homogeneous enough that the basis barely changes the answer, or when insurance and value-linked charges dominate the bill rather than transport.

There is a fourth option worth naming: allocate different cost lines on different bases. Ocean freight on volume, insurance on value, and duty not allocated at all. It is more work and it is more accurate. Whether that trade is worth making depends on how mixed your containers are — the more your SKUs differ in density, the more the basis matters.

Chargeable weight, and the trap inside it

On air freight, carriers bill the greater of actual weight and volumetric weight. The IATA convention divides volume in cubic centimetres by 6,000 to get volumetric kilos, though some carriers use 5,000, which charges bulky freight more.

Here is the trap. If your air shipment was billed on volumetric weight and you allocate on actual weight, you have quietly transferred cost from your bulky SKUs onto your dense ones — the exact opposite of what the invoice says happened. Allocate on the same weight the carrier charged you for.

Ocean LCL has its own version: consolidators bill on the revenue ton, the greater of tonnes and cubic metres. Same principle, same trap.

What does not get allocated

Three things belong outside this exercise, and getting them wrong is a more common error than choosing the “wrong” basis.

Duty is not a shared cost. It is assessed line by line at each HS code’s rate, so it attaches directly to the SKU that incurred it. Spreading duty across a container by weight or value smears a cost that already knows exactly where it belongs — and destroys your ability to spot a misclassified code later.

Abnormal freight is not inventory. Expedited air freight to cover a stockout, demurrage from a customs hold, a re-delivery after a missed appointment: these are period costs. Capitalizing them inflates inventory and pushes a bad month into next quarter.

Outbound shipping is not inbound freight. Getting goods to your warehouse capitalizes. Getting them to a customer does not.

Changing your mind later

You can change basis. Treat it as a change in accounting policy rather than a spreadsheet edit:

  1. Apply it prospectively, from a stated date, to shipments received after that date.
  2. Do not restate unit costs already posted to a closed period. Rewrite history and this month’s margin report stops reconciling to last month’s, with no one able to explain the difference.
  3. Write down the reason — one paragraph, in a file someone else can find. “We moved from value to volume in March 2027 because our containers became more mixed and value allocation was hiding the cost of the homewares line” is all it takes.
  4. Tell your accountant before, not after. If you are near the section 448(c) threshold, the change may interact with your tax position.

What to do this week


  1. Find out what basis you are actually using. Not what you think you’re using — open the spreadsheet or the system setting and look. A surprising number of brands discover they are on the software default and never chose anything.
  2. Test whether it matters for you. Recompute your last container both ways. If the spread on every SKU is under 1%, your containers are homogeneous and the basis genuinely doesn’t matter. Document the choice and move on.
  3. If the spread is wide, pick the basis that matches your carrier’s pricing and change it prospectively.
  4. Check your league table. Recompute gross margin per SKU under the basis you just chose, and see whether the order is what you assumed it was.

The goal is not a perfect number. It is a number you chose deliberately, can explain, and apply the same way every time.


Common questions

Which freight allocation method does GAAP require?

None specifically. ASC 330 requires that the costs of bringing goods to their existing condition and location be included in inventory, but it does not prescribe a basis for splitting shared costs. Weight, value and volume are all acceptable. What matters is that you apply your chosen basis consistently and can explain it.

Can I change freight allocation method later?

Yes. Treat it as a change in accounting policy: apply it prospectively from a stated date, document why the new basis is more appropriate, and do not restate unit costs already posted to a closed period. Raise it with your accountant first, particularly if you are near the section 448(c) gross receipts threshold.

Does duty get allocated the same way as freight?

No. Duty is assessed per line at each HS code's rate, so it attaches directly to the SKU that incurred it. Only genuinely shared costs — ocean or air freight, terminal handling, brokerage — need an allocation basis at all.

How do I allocate freight on a partial shipment?

Allocate against what actually arrived, not what was ordered. If half a purchase order lands in one container and half in the next, each container's freight is allocated across the units in that container. Allocating against the PO quantity understates cost on the first receipt and overstates it on the second.

Does the allocation basis affect my tax return?

It can. Under section 263A, taxpayers above the section 448(c) gross receipts test — $32 million for 2026 — must capitalize certain handling and transportation costs for tax purposes, and the required treatment may differ from your book policy. Below the threshold the small-business exemption generally applies. Confirm your position with your accountant.

This article is general information, not accounting or tax advice. Confirm your treatment with your own accountant.

The MarginChief Team

Practical guidance from MarginChief for importers who need accurate, traceable, and defensible inventory costs.