Most articles ranking for "inventory and cost of goods sold" explain the textbook accounting relationship and stop there. That's fine if you carry stock. If you run a POD store on Shopify with Printify or Printful behind it, the standard picture is misleading — and the gap costs you real margin on every refund. This is the operator's version.
What inventory and COGS actually mean
Inventory is a current asset: the cost of goods you own and haven't sold yet, reported on the balance sheet (AccountingCoach). COGS is an expense on the income statement — the cost of the specific units that actually sold during the period.
The transition is the whole point. When a unit sells, its cost leaves the inventory asset and lands in COGS (AccountingCoach). One number moves from your balance sheet to your income statement.
COGS matters because it sets your gross profit. Gross profit is revenue minus COGS, and gross margin is that gross profit divided by revenue (Wall Street Prep). Everything else — ad spend, apps, your own time — has to come out of what's left.
Why print-on-demand rewrites the inventory line
For a stocked retailer, inventory is a big, real asset and COGS is calculated by figuring out what's left at period end. The classic formula is Beginning Inventory + Purchases − Ending Inventory (Wall Street Prep).
POD flips this. You don't buy stock ahead of demand — the supplier prints each item only after a customer pays. So your beginning and ending inventory are effectively zero, and the middle term ("purchases") is really just the sum of what suppliers charged you for orders that shipped in the period.
That means the tidy formula collapses into something simpler and more dangerous: your COGS is the per-order supplier bill, full stop. There's no ending-inventory cushion to smooth things out, and there's no stock to fall back on when an order goes wrong. If you want the bookkeeping mechanics of moving each order's cost into the expense line, our guide to recording cost of goods sold walks the journal entries.
The COGS number that actually decides your profit
The number that matters to a POD operator isn't a quarterly COGS total — it's per-order COGS, because that's what stands between your AOV and your profit. Suppliers bill you a base product cost plus a per-order shipping charge, and both are COGS.
Say you run a store doing 340 orders a month at a $31 average order value, with $2,800 a month in Meta spend. Here's what one representative order looks like.
| Line item | Amount |
|---|---|
| Revenue (this order) | $31.00 |
| Supplier product cost (COGS) | $12.50 |
| Supplier shipping (COGS) | $5.00 |
| Payment processing (~3%) | $0.93 |
| Ad spend per order ($2,800 ÷ 340) | $8.24 |
| Profit on this order | $4.33 |
These are illustrative worked numbers, not market data. But the arithmetic is the lesson: COGS here is $12.50 + $5.00 = $17.50, which is about 56% of the order's revenue. After processing and ad spend, you keep $4.33 — a ~14% net margin that a "just look at product cost" view would badly overstate.
Now scale it: $4.33 across 340 orders is roughly $1,472 in monthly profit. One misread COGS assumption — a supplier raising a base cost by two dollars — wipes out nearly half of that. This is why the broader economics of running a lean Shopify/POD store live or die on COGS precision, not on top-line revenue.
The POD twist textbooks skip: COGS is unrecoverable
Here's the part no accounting explainer written for stocked retailers will tell you. When a normal retailer refunds an order, the item usually comes back and re-enters inventory — the cost is recovered. When you refund a POD order, nothing comes back. The item was printed for that one customer and can't be resold, so the COGS you already paid your supplier is simply gone.
That changes the math on every refund and every dispute. A chargeback is worse still: the funds are clawed back by the bank, and on Shopify Payments you also eat a fixed chargeback fee — reported at $15 per chargeback for US merchants, refunded only if you win (chargeback.io).
Add it up and a lost dispute typically runs 2x–2.5x the order value once you count the clawed-back revenue, the unrecoverable COGS, shipping, the fee, and the ad spend that acquired the customer (chargeback.io). Even at a healthy average dispute rate — around 0.26% of transactions in one 2025 benchmark (chargeflow.io) — a store doing hundreds of orders a month is quietly burning printed-and-gone COGS every month.
The takeaway: treat COGS as a committed, non-refundable cost the instant an order routes to your supplier. That's the opposite of how inventory-based accounting teaches you to think.
Do POD sellers need FIFO, LIFO, or weighted average?
A stocked business has to pick a cost flow assumption — FIFO, LIFO, or weighted average — to decide which costs move into COGS and which stay in inventory (AccountingCoach). The choice can swing reported profit meaningfully for a company holding stock.
For pure POD, this is mostly moot. With no meaningful inventory to flow costs through, each order's COGS is simply the supplier's actual charge for that order — a specific-identification approach by default. You match the real supplier cost to the real order.
The one place it resurfaces: if you hold any physical stock alongside POD — bulk-bought packaging, samples, a small stocked hero product — those units do need a cost flow method. Keep them on their own books; don't let a handful of stocked SKUs infect the clean per-order COGS on your print-on-demand lines.
Where COGS hides inside platform fees
COGS is direct cost of the goods — supplier product and shipping. Platform and payment fees technically sit below the gross-profit line, but for a solo operator they behave like COGS because they scale with every sale. Ignoring them is how "profitable" stores run out of cash.
This is sharpest on Etsy. Combined listing, transaction, and payment fees approach 10–13% of a sale, and sellers above roughly $10,000 in annual revenue face a mandatory 12% Offsite Ads fee on ad-attributed orders, which can push total fees to 22–28% on those sales (Sherocommerce). At around 100 orders a month averaging $50, one modeled scenario saved about $335 a month on Shopify even after its ~$39 subscription (Sherocommerce).
The lesson isn't "always switch" — Etsy brings traffic Shopify makes you earn. It's that your true per-order cost includes the platform's cut, and only counting supplier COGS flatters your margin. If fee drag is your problem, how to reduce operating expenses in your business covers the levers.
Tracking COGS without living in a spreadsheet
The hard part isn't the formula — it's keeping per-order COGS accurate as supplier prices drift, shipping changes by region, and refunds erase costs you already paid. Doing this by hand across Shopify, your suppliers, and your ad accounts is where most operators give up and guess.
This is what Victor, the AI employee from PodVector AI, is built for. Victor connects to Shopify, Meta Ads, Google Ads, Printify, Printful, Gelato, and Klaviyo, pulls the real supplier charge behind each order, and computes your true per-order profit — COGS, fees, and ad spend included, not the flattering version. Victor is not a dashboard you have to read; it works your live data like a teammate and can deliver the numbers as reports to Google Drive.
Every write action Victor takes is approval-gated — it drafts, you approve before anything executes, right down to customer-support emails. If knowing your real per-order margin sounds better than reverse-engineering it monthly, put Victor on your store. For a deeper look at where AI changes the COGS workflow, see our piece on AI and the cost-of-goods-sold transformation.
FAQs
Is cost of goods sold the same as inventory?
No. Inventory is an asset on your balance sheet — the cost of goods you own but haven't sold. COGS is an expense on your income statement — the cost of the units that did sell. The cost moves from one to the other at the moment of sale (AccountingCoach).
What counts as COGS for a print-on-demand store?
The direct cost of producing and shipping each sold item — the base product price your supplier charges plus the per-order shipping they bill you. Since you don't stock goods, that per-order supplier charge essentially is your COGS. Marketing, apps, and your own labor are operating expenses, not COGS.
How do I calculate COGS if I hold no inventory?
Sum what your suppliers actually charged you for orders that shipped in the period. With beginning and ending inventory near zero, the textbook formula (Beginning + Purchases − Ending) reduces to just your total supplier order costs (Wall Street Prep). For accuracy, match each order's real cost to that order rather than averaging.
Why does a refund cost me more in POD than in normal retail?
Because there's no restock. A stocked retailer recovers the item and its cost on a refund; a printed POD item can't be resold, so the COGS you paid your supplier is unrecoverable. On a chargeback you also lose the disputed amount and a fixed fee, which is why a lost dispute can run 2x–2.5x the order value (chargeback.io).
Should POD sellers use FIFO or LIFO?
Generally no. Those cost flow methods exist to allocate costs across held inventory (AccountingCoach). With no meaningful stock, you match each order's actual supplier cost directly. Only apply a cost flow method to any physical items you genuinely hold, and keep those separate from your print-on-demand books.