If you run an operating Shopify store on Printify or Printful, most COGS guides are written for someone who holds inventory. They walk you through counting stock you never keep. This one computes the number the way a store doing hundreds of orders a month actually needs it — per order, then rolled up for your profit and loss.
What cost of goods sold actually is
Cost of goods sold is the direct cost of producing the things you sold. For a stocked retailer that means raw materials, factory labor, and freight-in. For a print-on-demand seller it is simpler and stricter: it is what your supplier charged you to make and ship each item a customer bought.
COGS excludes indirect costs — your Shopify subscription, design tools, and especially your ad spend. Those are operating expenses, and mixing them into COGS is the single most common error that makes a store think it is more profitable than it is. Ad spend belongs in your full operating-economics picture, not in COGS.
The textbook computation — and why it barely fits POD
The formula every accounting page shows you is:
Beginning inventory + purchases − ending inventory = COGS.
Say you started a quarter with $9,000 of stock, bought $4,000 more, and ended with $2,000 on the shelf. Your COGS is $9,000 + $4,000 − $2,000 = $11,000. Clean, if you hold inventory.
Print-on-demand breaks two of those three terms. You carry no beginning inventory and no ending inventory, because nothing is produced until an order is placed. Both terms go to zero, and the formula collapses to a single line: COGS = everything you paid suppliers for goods that shipped this period. That is why the per-order view is the real computation — the period number is just the sum of it.
The per-order COGS computation that works
Compute COGS one order at a time, then add the orders up. For a single unit:
Per-order COGS = supplier product cost + supplier shipping charged to you.
Say you sell a shirt for $34. Printify charges you $12.50 for the blank plus print, and $4.75 to ship it. Your landed COGS on that order is $12.50 + $4.75 = $17.25. That is the figure you subtract first — before fees, before ads — from the $34 you collected.
Two subtleties operators get wrong:
- Shipping paid to the supplier is COGS, not a separate expense. It is a direct cost of delivering that specific good. Whether you charged the customer for shipping or ate it, the supplier's shipping charge is part of what the order cost you to fulfill.
- A multi-item order is the sum of its line items. Two shirts and a mug in one order means three supplier line items summed into one order's COGS. Do not average across your catalog when you can compute the exact order.
Landed cost: the parts operators forget
"Landed" COGS means the fully delivered cost, not just the sticker price on the product. Beyond product and shipping, watch for costs that quietly belong in COGS:
- Supplier taxes and surcharges billed to you on the production invoice.
- Reprints you paid for that the supplier did not cover — a customer-caused wrong address or a "delivered but not received" claim. If you eat the reprint, that reprint's cost is real COGS on that order.
Print-on-demand has one brutal property here: the COGS is unrecoverable. A refunded stocked item comes back and re-enters inventory; a printed shirt cannot be restocked and resold. So when you refund a POD order, the supplier cost you already paid is simply gone. Keeping that supplier cost low is the highest-leverage move you have — the tactics in reducing your product and fulfillment costs drop straight to your margin.
From COGS to true per-order profit
COGS is step one, not the answer. The reason the ranking pages feel useless to an operator is that they stop at gross profit and never touch ads or fees. Here is the full stack on that same $34 order:
| Line item | Amount |
|---|---|
| Revenue collected | $34.00 |
| Landed COGS (product + supplier shipping) | −$17.25 |
| Card processing (say) | −$1.29 |
| Ad spend to acquire the order | −$8.24 |
| True per-order profit | $7.22 |
The ad-spend line comes from real math: a store spending $2,800 a month on Meta to drive 340 orders is paying $2,800 ÷ 340 = $8.24 to acquire each one. Gross profit after COGS alone looked like $16.75; true profit is $7.22. That gap is the whole game, and it is why revenue minus COGS is only the first line of the profit story, not the end of it.
When refunds and chargebacks rewrite the math
Two events turn a profitable order into a loss, and both hinge on that unrecoverable COGS.
A refund costs you the refund amount plus the sunk supplier cost. Refund the $34 order and you are out the $34 plus the $17.25 you already paid Printify — a real hit even though "you gave the money back" sounds neutral.
A chargeback is worse. The disputed amount and a fee are clawed back from your payout immediately, and for US Shopify Payments merchants that fee is $15 per chargeback, refunded only if you win the dispute, according to chargeback.io. Add the unrecoverable COGS, the shipping, and the ad spend, and a lost dispute typically runs 2x to 2.5x the order value, also per chargeback.io. Your COGS computation should treat every disputed order as a total loss of the supplier cost, because for POD it is.
Suppliers soften this only for their own mistakes. Printify offers a free reprint or refund for damaged or misprinted items reported within 30 days of delivery, per Printify's help center, and Printful covers defects and manufacturer errors reported within 30 days of delivery, per Printful's return policy. Miss the window or hit a customer-caused problem and that reprint is your COGS to absorb.
Rolling per-order COGS into your P&L
For your monthly books you still need one COGS figure. Because you carry no inventory, it is just the sum of every order's landed COGS in the period.
Say those 340 orders averaged $17.25 in landed COGS. Period COGS = 340 × $17.25 = $5,865 for the month. Subtract that from monthly revenue for gross profit, then subtract fees and ad spend for the real number. When you later book it formally, follow the mechanics in recording cost of goods sold so your P&L and your per-order math agree.
Let Victor compute it per order
Doing this by hand across hundreds of orders is where it falls apart — supplier costs vary by product, shipping changes by destination, and ad spend has to be split across the orders it drove. Victor, the AI employee inside PodVector AI, connects your Shopify store, your Printify, Printful, and Gelato suppliers, and your Meta Ads and Google Ads accounts, then computes true per-order profit — COGS, fees, and acquisition cost together — on your live data, and can deliver the report to Google Drive. Victor is not a dashboard you read; it is an operator that does the arithmetic for you, and every write action it takes is approval-gated. Put Victor on your numbers.
FAQs
Does shipping count in the cost of goods sold computation for POD?
The shipping your supplier charges you to produce and deliver the item is part of COGS — it is a direct cost of that good. Keep it separate from any shipping software or packaging you pay for on your own operations; only the supplier's per-order shipping charge belongs in the per-order COGS.
Why doesn't the beginning-inventory formula work for print on demand?
Because you never hold inventory. Beginning and ending inventory are both zero, so the classic formula collapses to "everything you paid suppliers for shipped orders." The per-order sum gives you the same period total with far more useful detail.
Is ad spend part of COGS?
No. Ad spend is an operating expense, not a direct production cost, so it never goes in COGS. But you must subtract it after COGS to get true per-order profit — leaving it out is the mistake that makes a losing store look like a winner.
How do refunds affect my COGS?
For POD, a refund does not return the supplier cost, because the item cannot be restocked. You lose the refunded amount and the already-paid COGS. Treat the supplier cost on any refunded or disputed order as fully sunk.
What's the difference between COGS and gross profit?
COGS is what the goods cost you to produce and ship. Gross profit is revenue minus COGS. Neither accounts for ads or platform fees, which is why gross profit overstates what an operating store actually keeps — you need per-order true profit for that.
Can I use one average COGS for every order?
You can for a rough monthly P&L, but not for deciding which products and orders make money. Averaging hides the products whose supplier cost eats the whole margin. Compute per order where you can, and reserve the average for the period roll-up.