If you run an operating POD store, this is not an abstract accounting question. Where you put that freight charge decides whether your reported margin is real or a fiction. So let's get the rule exact, then translate it to how Printify and Printful actually bill you.
Freight-in vs freight-out: the line that decides everything
Accounting splits transportation cost into two buckets, and only one touches inventory.
Freight-in is the cost to bring goods into your business — the inbound leg from your supplier to your warehouse. It is capitalized into inventory cost because it is part of getting the goods to a condition and location where they can be sold (Shipfusion).
Freight-out is the cost to ship the finished product to your customer. Because it happens after the goods are already saleable, it is a selling or delivery expense — not inventoried (Shipfusion).
The decision rule is the production-and-sale boundary: costs incurred to get inventory ready for sale get capitalized; costs incurred to move the sold item to the buyer get expensed.
What GAAP actually says
Under GAAP, you are allowed to capitalize freight costs that are directly attributable to acquiring inventory and bringing it to a saleable condition and location (Shipfusion). That is the inbound freight-in leg.
In a standard inventory flow, freight-in sits inside the cost-of-goods-available formula: beginning inventory plus net purchases plus freight-in equals goods available for sale (SuperfastCPA). The freight-in dollars sit on the balance sheet as inventory until the item sells, then release into COGS.
Outbound shipping to the customer never enters that formula. It is a period expense that hits the income statement when you incur it.
Where POD breaks the textbook rule
Here is the part the ranking accounting posts skip entirely, because they assume you hold stock.
A print-on-demand store has no inbound freight leg. You never receive a carton of blank shirts into a warehouse. Your supplier prints the item on demand after the order and ships it directly to the buyer.
That means the shipping your supplier charges you is structurally freight-out — it carries a finished, sold item to the customer. Under the strict rule, it is not an inventory cost; it is a fulfillment cost that belongs in COGS at the sale.
The practical upshot: for POD there is almost nothing to capitalize. Production cost and supplier shipping both land in COGS in the same period the order ships. If you want the fuller mechanics of how that flows through the books, see our walkthrough on recording cost of goods sold.
Why mis-bucketing freight quietly inflates your margin
Operators get burned when they treat the supplier's shipping charge as a "freight" line they mentally set aside, instead of folding it into true per-order cost. The result is a gross margin that looks great and a bank balance that disagrees.
Say you sell a mug at a $31 average order value, doing 340 orders a month. Printify bills you $9 for the product and $5 to ship it to your buyer. Your payment processor takes roughly $1.20 on that order, and your $2,800 monthly Meta budget across 340 orders is about $8.24 of customer-acquisition cost per order.
Walk the real math:
| Line item | Amount |
|---|---|
| Order revenue | $31.00 |
| Supplier product cost | -$9.00 |
| Supplier shipping (freight-out) | -$5.00 |
| Payment processing | -$1.20 |
| Ad spend per order | -$8.24 |
| True per-order profit | $7.56 |
$31.00 − $9.00 − $5.00 − $1.20 − $8.24 = $7.56 per order.
Now watch what happens if you file that $5 shipping as a separate "freight" cost you leave out of COGS. Your COGS reads as just the $9 product, so gross margin looks like ($31 − $9) ÷ $31 = 71%. The number is seductive and wrong — your actual contribution after the shipping, fees, and ad spend that the order truly required is $7.56, or about 24% of revenue.
That 47-point gap between the pretty margin and the real one is exactly how a "profitable" POD store runs out of cash.
The clean way to bucket POD costs
For a POD operator, the simplest correct posture is to treat everything the supplier bills you — product plus shipping — as COGS on the order it belongs to. There is no inventory to sit on, so there is nothing to capitalize and defer.
Keep these separate from COGS, as operating expenses, so your cost structure stays legible: your Shopify subscription, apps, design tools, and the ad spend that acquired the customer. For a cleaner taxonomy of what counts as an operating expense versus a cost of goods, our breakdown of which items belong in operating expenses draws the lines.
Getting these buckets right is the whole foundation of knowing your unit economics, which is the thread running through our guide to ecommerce operations economics.
How Victor keeps the freight math honest
PodVector AI is built for exactly this problem. Victor is an AI employee that connects to your live store data and computes true per-order profit — pulling order revenue from Shopify, production and shipping cost from Printify, Printful, or Gelato, and ad spend from Meta Ads and Google Ads.
Because Victor folds the supplier's shipping charge into the real cost of each order rather than letting it hide as a stray freight line, the per-order profit it reports is the $7.56 kind, not the 71% kind. It delivers those numbers as reports to your Google Drive, and every write action it takes is approval-gated — you approve before anything executes.
If you have been eyeballing margin instead of knowing it, you can put Victor on your store and see your true per-order profit computed from live data.
FAQs
Are freight costs always included in inventory?
No. Only freight-in — the inbound cost to bring goods to your location — is capitalized into inventory cost. Freight-out, the cost to deliver the finished item to your customer, is a selling expense and is never part of inventory (Shipfusion).
Is supplier shipping on a POD order freight-in or freight-out?
It is freight-out. The supplier ships a finished, already-sold item straight to your buyer, so the charge is a fulfillment cost rather than an inbound inventory cost. In practice you book it to COGS on the order it ships with.
Does a POD store ever have freight-in to capitalize?
Rarely. Because you hold no stock and receive no inbound shipments, there is no inbound freight leg to capitalize. The classic "add freight-in to inventory" step has almost nothing to attach to in a pure print-on-demand model.
Where does freight-in go once the inventory sells?
It releases from the inventory asset into cost of goods sold at the moment of sale. The formula is beginning inventory plus net purchases plus freight-in equals goods available for sale, and the sold portion becomes COGS (SuperfastCPA).
Why does it matter where I put the freight charge?
Because leaving supplier shipping out of COGS makes gross margin look far higher than your real contribution. In the example above, mis-bucketing turned a true 24% contribution into a 71% headline margin — the kind of gap that drains cash while the dashboard looks healthy.
Should outbound shipping I charge the customer change anything?
It changes revenue, not the classification. Shipping you collect from the buyer is revenue; shipping your supplier charges you to deliver is freight-out expense. Net the two and fold the result into true per-order profit — the service-level mechanics are covered in our overview of ecommerce operations services.