Why Your Books Aren’t Telling You the Truth
Join Helina Patience live to learn how growing businesses move from financial chaos to real clarity, and get a practical implementation guide when you attend.
Register Now
6 days left before the webinar
Webinar image

How to Account for Shipping Costs to Customers

Ask ten accountants where shipping costs belong on the P&L, and you’ll get more than one answer. The COGS vs. operating expense question isn’t actually that contested, but the direction of the shipment, your business model, and how your platform reports payouts all change the math. 

The answer isn’t complicated: inbound freight on inventory goes into cost of goods sold, outbound shipping to customers is a selling expense. What makes it messy is everything around that: customer-paid shipping, FOB terms, IRS thresholds, and platforms that bundle it all into a single payout. According to Opensend’s 2025 ecommerce shipping research, 58% of global shoppers cite high delivery costs as their top frustration with online purchases, so shipping is already a pressure point with customers. Getting the accounting right means it stays off that list internally too.

This article will tell you how to categorize freight expenses, when each classification applies, and how to record shipping correctly if you’re managing books for an ecommerce business, reviewing margins as a CFO, or cleaning up a chart of accounts for a client.

TL;DR

  • Freight-in belongs in COGS: Inbound shipping on inventory is part of the product’s acquisition cost, recognized when the goods sell.
  • Freight-out is a selling expense: Outbound shipping to customers sits below gross profit, in operating expenses or cost of sales.
  • Don’t net customer-paid shipping: Record it as revenue and the carrier cost as a separate expense to see true per-order economics.
  • Synder automates shipping categorization: It syncs ecommerce transactions into your accounting software and automatically posts shipping to the right account.

What is freight expense?

Freight expense is any cost a business pays to transport goods – receiving inventory from suppliers or delivering products to customers. It covers carrier charges, freight broker fees, fuel surcharges, and handling costs tied to physical movement.

The accounting treatment hinges on direction: which way were the goods moving? 

  • Freight-in is what you pay to receive goods from your manufacturer or supplier. 
  • Freight-out is what you pay to ship to customers. 

That distinction is the foundation of how shipping costs flow through your financial statements, and it’s where most of the confusion originates. 

Shipping costs: COGS or operating expense?

This is the core question, and the answer differs by freight type and by who actually owns the goods at the time the cost is incurred.

Freight-in: cost of goods sold

When you pay to receive inventory, that cost is part of the product’s total acquisition cost. Under GAAP and IRS Publication 334, freight-in is folded into inventory value and recognized as COGS when the product sells. If you buy 500 units at $10 each and pay $200 in inbound freight, the landed cost per unit is $10.40 – calculated as: 

($10 × 500 + $200) ÷ 500 = $5,200 ÷ 500 = $10.40 per unit, not $10

Recording only the purchase price understates COGS and overstates gross profit.

Freight-out: operating expense or cost of sales

Outbound shipping to customers is technically a selling expense under GAAP, reported below gross profit. Many ecommerce accountants place it within cost of sales because it’s directly tied to each sale and keeps order-level profitability visible. 

The difference matters more than it sounds: if you sell a product for $50, it costs you $20 to make, and $8 to ship, recording the $8 as an operating expense gives you a gross profit of $30, which looks healthy. Move it into cost of sales, and gross profit drops to $22, which is a more honest reflection of what you actually made on that order. 

FOB terms: who records what and when

FOB terms

FOB, short for Free On Board, determines when ownership of goods transfers from seller to buyer, and it directly affects who records the freight cost. 

  • Under FOB Origin, ownership transfers when goods leave the seller’s location, so the buyer is responsible for shipping costs and records them as freight-in. 
  • Under FOB Destination, ownership doesn’t transfer until the goods arrive, so the seller retains the cost and records it as freight-out. 

This matters most when goods are in transit at a period end: under FOB Origin, the buyer should already have the inventory and its associated freight cost on their books even if it hasn’t physically arrived yet. Getting FOB terms wrong means recognizing costs and inventory in the wrong period.

Read more about FOB Shipping Point vs. FOB Destination.

When customers pay for shipping

If your store charges a $9.99 flat rate and your actual carrier cost is $12.50, you’re absorbing a $2.51 loss per order. That only appears if you’ve recorded both sides separately. Record the $9.99 as shipping revenue and the $12.50 carrier cost as a separate expense – never net them, and never bundle the $9.99 into product sales. Doing so makes product margins look artificially stronger, a problem that shows up during due diligence or when a CFO starts asking why profitability lags top-line growth.

How to record shipping costs

The table below covers the most common scenarios:

Shipping scenarioWho records itClassificationWhere it appears on P&L
Freight from supplier to warehouseBuyerCOGS / inventory costCost of goods sold
Outbound shipping to customer (seller pays)SellerOperating expense or cost of salesBelow gross profit
FOB Origin (buyer pays freight)BuyerFreight-in – COGSCost of goods sold
FOB Destination (seller pays freight)SellerFreight-out – selling expenseBelow gross profit
Customer-paid shipping (collected at checkout)SellerShipping revenue + carrier expenseIncome + cost of sales
Shipping supplies (boxes, tape, labels)SellerOperating expenseSelling / G&A expenses
Return shipping (seller covers)SellerOperating expenseSelling expenses
Dropshipping freightSeller / 3PLCOGSCost of goods sold

The compliance side

Under the Uniform Capitalization Rules (UCR), businesses above approximately $30M in annual gross receipts must capitalize freight-in into inventory. Smaller businesses can expense it directly, which is simpler, but it needs to be applied consistently year over year. Separately, if your business averages under $25M in annual gross receipts, the IRS Section 471(c) safe harbor lets you expense freight-in immediately rather than capitalizing it into inventory cost, which can be a meaningful upfront tax deduction, particularly for high-volume shippers.

How to automate recording shipping costs in your books

The real issue starts with ecommerce platforms. Shopify, Amazon, and others often bundle shipping with product revenue in payouts. Without proper mapping, it all lands in one income account, and you lose visibility into shipping economics.

The fix is automation.

Synder is an accounting automation platform that syncs your ecommerce transactions from 30+ ecommerce platforms like Shopify, Amazon, Stripe, or Square into your accounting system or ERP, such as QuickBooks Online, Xero, Sage Intacct, NetSuite, and Puzzle, including how shipping is recorded, so you don’t have to think about it.

Synder’s Per Transaction sync maps platform-collected shipping income to a dedicated income account and keeps the posting consistent across your accounting software. Here’s how it works:

  • Uses the dedicated shipping field when your setup supports it
  • Falls back to a regular line item if needed
  • Keeps account mapping consistent either way
  • Records shipping income in the correct account
  • Ensures your financials stay accurate, regardless of how they’re posted

As a result, shipping is handled correctly every time, without extra setup or manual fixes, and you can save over 70 hours per month previously spent on manual transaction categorization. 

Want to see how Synder handles shipping categorization for your specific setup? Start a free trial or book a demo to walk through it with the team.

Final thoughts on accounting for shipping costs

Getting shipping costs right comes down to one principle: classify based on direction, record both sides of customer-paid shipping separately, and never net what should be two distinct line items. Freight-in flows into inventory cost and then into COGS at the point of sale. Freight-out belongs in selling expenses or cost of sales. Customer-paid shipping generates revenue that needs its own income account, matched against the carrier cost. 

Apply these rules consistently, and your gross margin will accurately reflect what it costs to make, sell, and deliver your products. For businesses selling across multiple channels, where each platform reports shipping differently, automating that categorization is the only practical way to keep it consistent at scale.

FAQ

How do you record shipping charges to customers?

Record the amount charged to the customer as shipping revenue – a dedicated income account, separate from product sales. Record the actual carrier charge as a shipping expense or cost of sales. Keeping them distinct ensures both product margins and shipping margins stay visible.

How are shipping costs treated in accounting?

Inbound freight is included in inventory cost and recognized as COGS when goods sell. Outbound shipping to customers is a selling expense or cost-of-sales line item. Each gets treated differently because they have different timing and margin implications.

Should shipping be part of COGS?

Freight-in on inventory belongs in COGS under GAAP. Freight-out is typically a selling or operating expense, though many ecommerce accountants place it in cost of sales for clearer order-level margin visibility. Either treatment is acceptable if applied consistently.

What expense category does shipping come under?

Outbound shipping falls under selling expenses or delivery expenses. Inbound freight is classified as inventory cost or COGS. When customers pay for shipping, that amount flows into a shipping revenue account, not product revenue.

How do you account for free shipping?

When you absorb shipping costs entirely, the carrier fee is your expense – debit Shipping Expense, credit Cash or Accounts Payable, no offsetting revenue. Track it separately so you can calculate the real per-order cost and factor it into your pricing strategy.

Total
0
Shares
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like