Landed cost is the total per-unit cost of getting a product into your 3PL, ready to ship to a customer. It includes the supplier price, freight, duties, broker fees, insurance, inbound handling, and FX spread. For Shopify brands, landed cost determines true gross margin, inventory valuation on the balance sheet, and the COGS number that hits your P&L.

What is landed cost in plain English?

Landed cost is every dollar you spend to move a unit of inventory from your supplier's factory to your 3PL's shelf. It is not just the price on the supplier invoice. It includes ocean freight, customs duties, broker fees, insurance, inbound trucking, and the FX hit you took when wiring USD to a CNY or EUR account.

The textbook formula looks clean. The reality is messier. Most Shopify DTC brands we work with under-state landed cost by 4 to 12 percentage points because they forget a line item or use the supplier invoice price as a stand-in. That gap shows up as a fake-good gross margin until the 3PL invoice lands 45 days later and the CFO wonders why cash is tighter than the P&L suggests.

The standard landed cost formula

Standard landed cost formula (per unit)
Supplier unit price (FOB)$8.40
International freight allocation$1.20
Customs duty (6.5% of declared value)$0.55
Customs broker fee allocation$0.08
Marine insurance$0.04
Inbound trucking to 3PL$0.18
3PL inbound receiving fee$0.12
FX spread on supplier wire (1.5%)$0.13
Landed cost per unit$10.70

Notice the supplier price is $8.40, but the true landed cost is $10.70 — a 27 percent uplift. A founder who priced this SKU using the $8.40 figure and assumed a 70 percent gross margin at a $28 retail price is actually running closer to 62 percent. On a brand doing $4M in revenue, that's $320K of imaginary margin per year.

Across the 100+ Shopify brands Ottit closes books for, the average gap between supplier invoice price and true landed cost is 23 percent. The brands that don't track it are the ones surprised by Q4 cash crunches.

Takeaway: A typical DTC brand should treat the supplier invoice as one line item in a longer stack. The landed cost number — not the FOB price — belongs in the Shopify cost per item field and feeds gross margin reporting.

What line items do DTC founders miss in landed cost?

The line items DTC founders miss are duty drawbacks, supplier chargebacks, FX spread on international wires, per-SKU inbound freight allocation, and inbound 3PL receiving fees. Competitors stop at "freight plus duties." In our work with Shopify brands, these five buried costs are where the gross margin variance hides — sometimes 5 to 8 percentage points worth.

The five hidden landed cost components

  • FX spread on supplier wires — Wiring USD to a CNY-denominated supplier through a traditional US bank usually costs 1.5 to 3 percent above the mid-market rate. On a $200K PO, that's $3K to $6K of pure margin loss baked into your inventory cost. Brands using Wise or Airwallex typically see spreads under 0.5 percent.
  • Customs duty drawbacks — If you re-export inventory (returns sent back, B2B sales to Canada from a US 3PL), you may be eligible to claim duty back. Most DTC brands never file. The brands that do file recover 50 to 80 percent of duties on re-exported units.
  • Supplier chargebacks and quality reserves — Defect rates above the contracted threshold trigger chargebacks. The accounting question: is the chargeback a reduction of landed cost (yes, in most cases) or a separate other-income line? Industry standard is to net it against inventory cost.
  • Per-SKU inbound freight allocation — When a single container holds 12 SKUs at different volumes and weights, allocating freight by unit count overweights small items and underweights heavy items. Weight-based or volume-based allocation is the industry standard.
  • 3PL inbound receiving fees — ShipBob, Stord, and most modern 3PLs charge per-pallet or per-carton receiving fees. These are inventory costs, not fulfillment expense. Many brands mis-code them to OpEx and overstate inventory turn.

Takeaway: Stores in this situation typically build a landed cost worksheet with all eight to ten line items per PO, not just freight and duty. The worksheet becomes the source of truth for both the Shopify product cost field and the inventory journal entry.

How does landed cost flow through the chart of accounts?

Landed cost flows through three accounts: Inventory Asset on the balance sheet at receipt, COGS on the P&L when the unit sells, and an Inventory in Transit clearing account between the supplier wire and the 3PL receipt. The clearing account is what separates clean books from chaotic ones.

Here is the pattern we see across the Shopify stores we work with. A brand wires $200K to a supplier in March. Goods leave the factory in April. They arrive at the LA port in May. They reach the ShipBob warehouse in late May. The customer buys the unit in July. Each step needs a journal entry, and most brands get it wrong by collapsing everything into one COGS hit when the supplier invoice clears.

Journal entry 1: Supplier deposit wire

Supplier 50% deposit wire — March
DRInventory in Transit (Asset)$101,500
CROperating Bank Account$100,000
CRFX Spread Expense (or capitalize)$1,500
50% deposit on PO-2026-0418 to supplier in Ningbo, $1.5K FX spread capitalized to inventory if material

A note on the FX spread: under US GAAP, costs necessary to bring inventory to its present location and condition are capitalized. Material FX spread on supplier wires arguably belongs in inventory. Immaterial amounts can go to expense. Most DTC brands we work with capitalize FX when it exceeds 0.5 percent of PO value and the PO is over $50K.

Journal entry 2: Goods received at 3PL

Goods received at ShipBob LA — May
DRInventory Asset - Finished Goods$214,000
CRInventory in Transit$203,000
CRAccrued Freight & Duty$11,000
20,000 units received at ShipBob LA at $10.70 landed cost. Freight and duty accrued pending broker invoice.

Takeaway: Many Shopify stores collapse landed cost into a single inventory entry when the supplier invoice posts. The cleaner pattern uses Inventory in Transit as a clearing account and accrues freight, duty, and broker fees at receipt — even before those invoices arrive.

How do you reconcile landed cost when 3PL invoices arrive 30 days late?

Bookkeepers accrue estimated landed cost at goods receipt based on the PO, freight quote, and broker estimate, then post a true-up journal entry when actual invoices arrive. The true-up adjusts both Inventory Asset for units still on hand and COGS for units already sold. This pattern keeps gross margin accurate without waiting 30 to 60 days for every paper trail.

The accrual-then-true-up pattern

  1. At goods receipt, post inventory at estimated landed cost using accrual accounts for freight, duty, broker, and inbound handling. Estimates come from the freight quote, the HTS duty rate, and historical broker fees.
  2. Each week, sync Shopify orders into the accounting system. We use Bookkeep for revenue recognition and daily sales summaries across the 100+ Shopify stores Ottit closes books for monthly. COGS posts based on the estimated landed cost in inventory.
  3. When the actual 3PL invoice, customs broker bill, and freight forwarder invoice arrive (usually 30 to 60 days later), calculate the variance per SKU.
  4. Allocate the variance: the portion attributable to units still in inventory adjusts Inventory Asset. The portion attributable to units already sold adjusts COGS.
  5. Update the per-unit landed cost in Shopify and your ERP (Cin7 or similar) so future COGS postings use the corrected number.

True-up journal entry example

Say the brand accrued $11,000 for freight and duty at receipt in May. The actual broker invoice arrives in July showing $12,800. By July, 6,000 of the 20,000 units have already sold.

Variance allocation
Actual freight + duty$12,800
Accrued at receipt$11,000
Total variance to allocate$1,800
Allocated to COGS (6,000 of 20,000 units sold = 30%)$540
Allocated to Inventory (14,000 units on hand = 70%)$1,260
Landed cost true-up — July
DRCost of Goods Sold$540
DRInventory Asset - Finished Goods$1,260
DRAccrued Freight & Duty$11,000
CRAccounts Payable - Freight Broker$12,800
True-up actual broker invoice $12,800 vs $11,000 accrual. $540 to COGS, $1,260 to inventory.

Takeaway: A typical DTC brand should accrue estimated landed cost at receipt, sell through inventory at the estimate, and true up monthly when actuals arrive. The variance gets split between Inventory Asset and COGS based on sell-through percentage. This is how the profit and loss statement stays accurate in close-to-real time.

What tools handle landed cost for Shopify brands?

No single tool handles landed cost end-to-end for Shopify DTC. The stack is split: an ERP like Cin7 calculates and stores per-SKU landed cost, Bookkeep or A2X syncs Shopify revenue and COGS to QuickBooks or Xero, and BILL processes the supplier and broker invoices that feed the true-up. Brands trying to do it in spreadsheets break down around $3M to $5M in revenue.

The Shopify landed cost stack

Tool categoryRecommended optionRole in landed cost
ERP / inventory[Cin7](https://www.cin7.com)Stores per-SKU landed cost, allocates freight and duty across PO line items, pushes COGS to QBO/Xero
Sales sync to accounting[Bookkeep](https://www.bookkeep.com)Daily Shopify revenue, fees, refunds, and sales tax summary into QBO/Xero with COGS journal entries
AP / bill pay[BILL](https://www.bill.com)Captures supplier, freight, broker, and 3PL invoices for the landed cost true-up
Multi-currency wires[Wise Business](https://wise.com/business) or [Airwallex](https://www.airwallex.com)Reduces FX spread on supplier wires from 1.5-3% to under 0.5%, directly improving landed cost
US operating bank[Mercury](https://mercury.com)Holds USD, ACH/wire to suppliers, integrates cleanly with QBO/Xero
Attribution[Triple Whale](https://www.triplewhale.com)Compares true gross margin (using landed cost) to blended CAC

A note on alternatives: tools like A2X and Finaloop also sync Shopify to accounting software. Both are credible options for revenue sync. We use Bookkeep across the 100+ Shopify stores we close books for because its sales tax and revenue recognition handling integrates more tightly with our close workflow — but a brand should evaluate based on its own stack and team.

For the chart of accounts side, the Shopify-native chart of accounts playbook covers the inventory and COGS account structure that supports landed cost tracking.

Takeaway: The industry standard for Shopify brands over $3M is a three-tool stack: ERP for inventory and landed cost math, Bookkeep for revenue sync, and BILL for the invoices that feed the true-up. Below $3M, a clean spreadsheet plus QBO can work if someone owns it.

How do you allocate inbound freight per SKU when a container holds multiple products?

The industry standard is weight-based or volume-based allocation, not unit-count allocation. Freight carriers price by weight or cubic volume, so allocating by units overweights small light SKUs and underweights large heavy SKUs. A 200g SKU should not absorb the same freight cost as a 2kg SKU in the same container.

Weight-based allocation example

A brand imports three SKUs in one 20-foot container. Total ocean freight plus inland trucking to the 3PL is $8,400. Here's how weight-based allocation works:

SKUUnitsWeight per unitTotal weight% of weightFreight allocatedFreight per unit
Candle 8oz5,0000.5 kg2,500 kg31.3%$2,630$0.53
Diffuser Set2,0001.2 kg2,400 kg30.0%$2,520$1.26
Reed Diffuser3,0001.03 kg3,100 kg38.7%$3,250$1.08
Total10,0008,000 kg100%$8,400

If this same brand used unit-count allocation, every SKU would absorb $0.84 of freight per unit. The 8oz candle would be over-costed by $0.31 per unit and the diffuser set under-costed by $0.42. On 5,000 candles and 2,000 diffuser sets, that's $1,550 of misallocated cost — enough to materially mis-price one SKU as profitable and another as a loser.

When to use volume vs weight

  • Use weight-based when shipping dense goods: candles, ceramics, supplements, beauty products with glass.
  • Use volume-based (CBM) when shipping bulky low-density goods: apparel, pillows, packaging, paper products.
  • Use the carrier's chargeable weight when freight pricing uses dimensional weight (most LCL ocean and air freight). Chargeable weight is the higher of actual weight or volumetric weight.

Takeaway: A typical DTC brand should pick one allocation method per supplier or per shipping mode, document it, and apply it consistently. Switching methods mid-year creates margin volatility that has nothing to do with actual cost changes.

Why does accurate landed cost matter for Shopify gross margin?

Accurate landed cost matters because it determines true gross margin per SKU, which drives pricing, ad spend allocation, and SKU rationalization decisions. In our work, brands that move from supplier-price-as-COGS to true landed cost see gross margin restate by 4 to 12 points downward — and immediately identify two to four SKUs that should be discontinued or repriced.

The downstream decisions landed cost touches

  1. Ad spend caps in Triple Whale or Northbeam — MER and CAC targets are set against contribution margin. If landed cost is understated, the brand spends too aggressively on Meta and Google, then runs out of cash when the freight invoice clears.
  2. SKU-level pricing — A brand pricing at 3.5x markup on FOB is actually running 2.7x markup on landed cost. That's the difference between 71% and 63% gross margin.
  3. Inventory financing decisions — Lenders like Wayflyer underwrite against gross margin and cash conversion cycle. Understated COGS makes the brand look more cash-generative than it is.
  4. Cash flow forecasting — The freight and duty bill is not the supplier wire. Brands that forecast cash assuming COGS = supplier price get blindsided when broker invoices land.
  5. Sales tax and customs compliance — Declared value at customs affects duty owed. Mis-declaring to lower duty creates compliance risk. The sales tax nexus triage playbook covers the sales tax side; customs is a separate compliance lane.

The brands that figure out landed cost by Series A are the ones that survive Q4 inventory builds. The brands that don't end up at 80% inventory-to-revenue ratios with no cash to run ads.

Takeaway: Stores in this situation typically rebuild SKU-level gross margin reporting with landed cost as the cost basis, then re-run pricing and ad spend math against the corrected numbers. The first run usually surfaces two to four SKUs that need to be repriced, discontinued, or renegotiated with the supplier.

What's the difference between landed cost and COGS?

Landed cost is the per-unit cost capitalized into inventory when goods are received at the 3PL. COGS is the portion of inventory that has been sold and recognized as expense on the income statement. Landed cost lives on the balance sheet as Inventory Asset until the unit ships to a customer — then it moves to COGS on the P&L.

DimensionLanded costCOGS
Financial statementBalance sheet (Inventory Asset)Income statement (above gross profit)
When recognizedAt goods receipt at 3PLAt sale / order fulfillment
Unit of measurePer SKU, per unitPer order or per period
Includes outbound shipping?NoNo (that's fulfillment expense)
Includes 3PL pick & pack?NoNo (also fulfillment expense)
Includes supplier price + freight + duty?YesYes — inherited from landed cost
Adjusted for variance?Yes, via true-up at invoice receiptYes, via true-up split between inventory and COGS

A common mistake: brands code outbound shipping (the FedEx label to the customer), 3PL pick-and-pack fees, and packaging to COGS. Under GAAP, those are usually fulfillment expense, sitting between gross profit and operating expense. Including them in COGS inflates COGS and depresses reported gross margin, which messes with benchmarking against industry peers.

Takeaway: Many Shopify stores conflate landed cost, COGS, and fulfillment expense into one bucket. The industry standard is three distinct line items: COGS (landed cost of sold units), fulfillment (3PL fees, packaging, outbound shipping), and inventory adjustments (write-downs, shrinkage).

What's a realistic monthly landed cost close process?

A realistic monthly close for landed cost takes 2 to 4 hours for a $5M Shopify brand. The process: pull receiving reports from the 3PL, match to supplier and freight invoices, calculate per-SKU variance, post the true-up journal entry, and reconcile Inventory Asset to a physical count at the 3PL at least quarterly.

The monthly landed cost close checklist

  1. Pull the 3PL receiving report for the month (ShipBob, Stord, or similar). Confirm every PO that was received has a matching supplier invoice in BILL.
  2. Pull freight forwarder invoices, customs broker invoices, and any inbound trucking invoices. Match each to a PO.
  3. Pull the FX rate sheet from Mercury, Wise, or Airwallex for any international wires settled that month. Calculate FX spread vs mid-market.
  4. Calculate actual landed cost per SKU per PO. Compare to the estimate accrued at receipt.
  5. Allocate variance between Inventory Asset (units on hand) and COGS (units sold) based on sell-through.
  6. Post the true-up journal entry. Update Shopify product cost and ERP landed cost for future periods.
  7. Reconcile Inventory Asset GL balance to ERP inventory value. Investigate any variance over 1 percent.
  8. Quarterly: physical count or cycle count at the 3PL. Adjust for shrinkage.

For the broader close workflow, the bookkeeping for small business Shopify playbook and the Shopify QuickBooks integration guide cover the surrounding pieces: revenue sync, bank reconciliation, and AP automation.

Takeaway: A typical DTC brand should run a landed cost true-up monthly, not quarterly. Monthly cadence keeps gross margin accurate within 1 to 2 percentage points. Quarterly cadence lets errors compound, and the Q4 catch-up entry can swing a single month's gross margin by 8 to 15 points.

Sources

This guide reflects patterns Ottit has observed across the 100+ Shopify brands we close books for. It is educational and does not constitute tax, legal, or accounting advice for any specific business. For decisions about your specific situation, consult your CPA or bookkeeper.