Skip to main content

Freight-In vs. Freight-Out: Why Inbound Shipping Belongs in COGS and Outbound Shipping Is an Operating Expense

Published 12 min readMike ThriftMike Thrift
Freight-In vs. Freight-Out: Why Inbound Shipping Belongs in COGS and Outbound Shipping Is an Operating Expense
On this page

Every shipping bill you pay lands in one of two places on your books, and the wrong one quietly rewrites your gross margin. Put the cost of getting goods to you in operating expenses and you overstate gross profit — and overpay tax on profit you never earned. Bury the cost of shipping orders to customers in COGS and your margins look worse than they are, which sends you "fixing" your pricing for a problem that lives in your bookkeeping. Neither error announces itself. Both compound with every shipment.

The rule itself is simple: freight-in is part of the cost of your goods, and freight-out is a cost of selling them. This guide explains why the line falls where it does, how shipping terms decide who books what, where each one goes at tax time, and how to set up your accounts so the distinction takes care of itself.

The Core Distinction: Direction Decides Everything​

Freight-in (also called transportation-in) is what you pay to bring goods to your business: the supplier's shipment to your warehouse, the import container to your dock, the raw materials to your workshop. It is part of what the goods cost you.

Freight-out (also called delivery expense or transportation-out) is what you pay to send finished goods to your customer: parcel postage, LTL shipments to a wholesale buyer, courier fees for local delivery. It is part of what selling costs you.

The direction of the truck determines the accounting:

Freight-inFreight-out
What it isShipping goods into your businessShipping finished goods to customers
Who usually paysBuyer (you)Seller (you)
Accounting treatmentAdded to inventory cost; becomes COGS when goods sellSelling expense, recorded when incurred
Where it sitsAbove the gross profit lineBelow the gross profit line

Think of it as a timeline. Costs incurred before you own saleable goods are part of the goods. Costs incurred after a sale exists — getting the sold item to its buyer — are costs of the selling effort. That timeline is the entire logic; everything below is application.

Why Freight-In Belongs in COGS​

Inventory accounting follows one principle: an asset on your balance sheet should carry everything it cost to get it ready for sale. The purchase price is the obvious piece, but the goods sitting on your shelf also cost you the freight to bring them there, plus import duties, brokerage fees, and insurance in transit. Together these make up the landed cost of the inventory.

So freight-in is capitalized — recorded as part of inventory on the balance sheet — and only becomes cost of goods sold when the goods themselves sell. If you pay $800 to ship in a pallet of goods and sell half the pallet this month, roughly $400 of that freight joins this month's COGS and the other $400 stays in ending inventory, waiting for the rest to sell.

This is also the tax treatment. The IRS small-business tax guide explains that COGS includes the cost of merchandise purchased for resale plus the costs necessary to acquire it — freight-in, duties, and similar charges — while gross profit is net receipts minus COGS, figured before any business expenses are deducted. On Schedule C, that computation happens in Part III: freight-in folds into the inventory cost pool (in practice, into purchases or the "other costs" line), flows through beginning and ending inventory, and emerges as COGS on line 42.

The journal entries​

Under a perpetual inventory system (inventory updated with every purchase and sale), freight-in goes straight to inventory:

  • Debit Inventory $800 / Credit Cash (or Accounts Payable) $800

Under a periodic system (inventory counted at period end), it parks in a temporary account that gets swept into the COGS computation at close:

  • Debit Freight-In $800 / Credit Cash $800

Either way, nothing hits the income statement until the goods sell. That timing is the point people miss: expensing freight-in the day you pay it overstates this month's expenses and understates next month's COGS, smearing profit across periods.

Why Freight-Out Is an Operating Expense​

Freight-out happens on the other side of the sale. The goods are already sold; moving them to the buyer is a distribution activity, no different in character from advertising or sales commissions. Accounting calls these period costs: they belong to the period in which they are incurred, and they are never attached to inventory.

The entry is straightforward:

  • Debit Freight-Out (or Delivery Expense) $350 / Credit Cash $350

On the income statement, freight-out sits with selling expenses, below gross profit. On Schedule C, it does not enter Part III at all — it is listed among other expenses in Part V (flowing to the other-expenses line), alongside advertising and commissions.

This placement protects your gross margin as a signal. Gross margin should answer one question: for every dollar of sales, how much is left after the direct cost of what I sold? If outbound shipping leaks into COGS, gross margin starts answering a different question — one contaminated by carrier rate hikes, zone mixes, and how much free shipping you gave away. Keep freight-out where it belongs and a falling gross margin means your product economics changed; mix the two and you cannot tell a pricing problem from a postage problem.

FOB Terms Decide Who Books What​

When you buy or sell goods, the purchase contract's shipping terms determine who owns the goods in transit — and therefore who records the freight. The two standard terms are:

  • FOB shipping point (FOB origin): ownership transfers when the seller hands the goods to the carrier. The buyer pays the freight and records it as freight-in (inventory cost). The seller records nothing for shipping.
  • FOB destination: ownership transfers when the goods arrive at the buyer's door. The seller pays the freight and records it as freight-out (selling expense). The buyer records nothing for shipping; the goods enter their inventory only on delivery.
FOB shipping pointFOB destination
Ownership transfersAt origin, when the carrier takes possessionAt destination, on delivery
Risk of loss in transitBuyer'sSeller's
Who typically pays freightBuyer (freight collect)Seller (freight prepaid)
Buyer's booksDebit Inventory (freight-in)No shipping entry
Seller's booksNo shipping entryDebit Freight-Out (selling expense)
Who files a damage claimBuyerSeller

One wrinkle: FOB shipping point with freight prepaid. Here the seller pays the carrier upfront even though the buyer owns the goods in transit, then bills the buyer back — either as a separate reimbursement or baked into the selling price. Economically the buyer still bears the cost, so if you are the buyer, that reimbursed amount is still your freight-in. Read the invoice, not just the FOB line: whoever ultimately bears the cost of inbound movement capitalizes it.

The Gray Areas, Resolved​

Most real-world confusion lives in a handful of situations. Each resolves by returning to the timeline: was this cost incurred to acquire goods, or to sell them?

"But I offer free shipping"​

Free shipping is a pricing decision, not an accounting reclassification. Your customer pays nothing for delivery; you still paid the carrier to move sold goods to a buyer. That is freight-out, a selling expense. The fact that you absorbed it to win the order makes it a marketing cost in spirit, but it stays in the same selling-expense neighborhood either way. Never let free-shipping costs drift into COGS — that is exactly how sellers conclude their products are unprofitable when their shipping policy is.

Shipping you charge the customer for​

When the customer reimburses shipping — a $12.95 shipping line on the invoice — you have two entries, not a netting. Record the full shipping charge collected as part of sales (or as shipping income, depending on your chart of accounts) and record what you paid the carrier as freight-out. Netting them hides both your true revenue and your true distribution cost, and it understates the top line a lender or buyer will look at.

Import duties, brokerage, and insurance​

Duties, customs brokerage fees, harbor maintenance charges, and in-transit insurance on incoming goods are all freight-in's siblings: costs of acquiring the inventory, capitalized into landed cost. A common mistake is expensing the broker's invoice to professional fees while capitalizing the ocean freight on the same shipment. Same shipment, same logic — all of it rides with the goods.

Packaging​

Packaging that is part of the product as sold — the box, the bottle, the blister pack — is a product cost and belongs in COGS with the goods. Shipping packaging added to move the sold item — the mailer, the bubble wrap, the pallet — is a selling supply, expensed with freight-out. When one box serves both purposes, pick the treatment that matches its primary role and apply it consistently.

Dropshipping and direct-from-supplier orders​

If your supplier ships directly to your customer and bills you for product plus shipping, split the bill: the product cost is your purchase (COGS when sold), and the shipping leg to your customer is your freight-out. It feels like one inbound shipment because one box arrived somewhere, but from your books' perspective the goods never came to you — they went to your buyer.

Common Mistakes and How to Avoid Them​

Lumping all shipping into one account. The single most common error is a catch-all "Shipping" or "Postage" expense holding everything from inbound pallets to outbound parcels. Fix it with two accounts from day one — Freight-In under COGS and Freight-Out under selling expenses — and the classification happens at entry time, when the direction is obvious, instead of at year-end, when it is archaeology.

Expensing freight-in when paid. Writing off inbound freight as a current expense feels harmless in a busy month, but it understates ending inventory and overstates COGS timing shifts that reverse next period. Over a full year the error mostly washes out — except for the freight embedded in whatever is still on the shelf at year-end, which is exactly what an inventory count is supposed to capture.

Capitalizing freight-out into inventory. Sometimes done deliberately to "smooth" a heavy free-shipping month. It inflates the inventory asset with costs that have no future benefit — the goods are gone — and overstates both assets and gross profit. Auditors and buyers treat this as a red flag, not a rounding choice.

Forgetting freight-in when pricing. A product bought for $40 with $6 of inbound freight per unit costs $46, not $40. Sellers who price off the invoice cost alone discover their 50-percent margin is really 42 percent — after thousands of units. Landed cost per unit, freight included, is the only cost that should touch a pricing spreadsheet.

Allocating freight-in badly across SKUs. A $800 pallet holding ten SKUs needs a consistent allocation rule — by weight, by unit count, or by value. Any reasonable, consistent method beats precision theater; what matters is that the full $800 lands in inventory somewhere and the method does not change mid-year.

Setting Up Your Books So This Runs Itself​

You need exactly two accounts and one habit:

  1. Freight-In / Transportation-In — a COGS account. Every inbound shipping bill, duty, and brokerage fee posts here (or straight to inventory under a perpetual system).
  2. Freight-Out / Delivery Expense — a selling-expense account. Every outbound parcel, LTL bill, and courier fee posts here.

The habit: classify at entry. When a carrier invoice arrives, ask one question — which direction was the truck going? Toward you is freight-in; toward your customer is freight-out. Entered correctly once, the distinction flows through to gross profit, to Schedule C, and to every margin report you will ever run, with no year-end cleanup.

If you track inventory in a spreadsheet or an accounting tool, add a landed-cost column per purchase: invoice cost plus allocated freight-in, duties, and fees, divided by units received. That per-unit landed cost is your true COGS per unit and your true pricing floor. For the mechanics of structuring these accounts, the documentation under /docs/ covers setting up a chart of accounts that keeps product costs and selling costs in their own lanes.

Reconcile the two accounts monthly against carrier statements, the same way you reconcile the bank account. Inbound totals that do not roughly track purchase volume, or outbound totals that do not track order volume, mean misclassified entries are already piling up — and a ten-minute monthly check beats a forensic weekend in January.

Keep Your Shipping Costs Where They Belong​

Getting freight-in and freight-out right does more than tidy your books: it protects the two numbers that run a product business — gross margin, which tells you whether your products make money, and selling expense, which tells you whether your distribution does. Maintain clear records with separate freight accounts from the start, and every shipment sharpens those signals instead of smudging them. Beancount.io provides plain-text accounting that gives you complete transparency and control over your financial data — no black boxes, no vendor lock-in. Get started for free and see why developers and finance professionals are switching to plain-text accounting.

Source: https://beancount.io/blog/2026/10/11/freight-in-vs-freight-out-cogs-operating-expense-guide

Published: October 11, 2026