Most articles ranking for this keyword stop at the textbook version and a definition of "beginning inventory." That is fine if you are studying for an exam. If you run a store doing real order volume, the formula itself is the easy part — the hard part is knowing which costs belong inside it and what the number is actually good for once you have it.
The cost of goods sold formula, stated plainly
The standard cost of goods sold formula in accounting is the periodic method:
Beginning Inventory + Purchases − Ending Inventory = Cost of Goods Sold
Read it as a flow. You start the period with some inventory on hand, you buy more during the period, and whatever you did not sell is left over at the end. Subtract what is left from what you had available, and you are left with the cost of what walked out the door.
Say you run a stocked store. You began the month with $4,200 of inventory, purchased another $9,800, and counted $3,600 still on the shelf at month-end. Your COGS is $4,200 + $9,800 − $3,600 = $10,400. That $10,400 is the direct cost of the goods you actually sold — nothing more.
This is the same formula every SERP result gives you, and it is correct. But it was built for merchants who hold inventory. It quietly assumes you buy in bulk ahead of demand and count what is left. Print-on-demand breaks that assumption in a useful way.
How to get cost of goods sold when you hold no inventory
In a print-on-demand store you never buy ahead. Printify, Printful, or Gelato charges you per order, at the moment the order is placed, for exactly the units you sold. There is no beginning inventory and no ending inventory to count — both terms are zero.
So the formula collapses:
Purchases − 0 = COGS
Your cost of goods sold for the period is just the sum of every supplier charge for every order that shipped. If your Printify invoices for the month total $6,320 across the units you fulfilled, that is your COGS. This is why "how to compute cost of goods sold" is genuinely easier for POD operators than for a traditional retailer — your supplier already did the counting, order by order.
The catch is that "the supplier charge" is easy to under-count. It is the base product cost plus the per-order shipping your supplier bills you, and it should include any per-order charges you can't dodge. Miss the shipping half and your COGS reads low, which makes your margins look better than they are. Our deeper breakdown of what belongs in cost of goods sold walks the full line-by-line inclusion test.
What counts as COGS — and what doesn't
The line that trips up most operators is the boundary between COGS and everything else. COGS is only the direct cost of producing or acquiring the specific units you sold. The clean test: if you didn't sell the unit, would the cost still exist?
Inside COGS for a POD store:
- The base product cost your supplier bills per unit
- The per-order shipping charge from the supplier
- Any per-unit print, embroidery, or personalization surcharge
Outside COGS — these are operating expenses, not cost of goods:
- Meta and Google ad spend
- Your Shopify subscription and app fees
- Design software, email tools, and contractors
- Payment processing fees (a per-order cost, but a selling cost, not a production cost)
That last distinction matters because it changes two different numbers on your books. Ad spend and subscriptions live in operating expenses, below the gross-margin line. Confusing the two either inflates your COGS or hides your real ad efficiency — see how the pieces fit together in our guide to ecommerce operations economics.
Calculating cost of goods sold: a full worked example
Say your store did 340 orders last month at a $31 average order value, on $2,800 of Meta spend. Here is the cost of goods sold formula applied to a single representative order, then rolled up.
For one $31 order fulfilled through Printify:
| Line item | Amount |
|---|---|
| Base product cost (supplier) | $11.50 |
| Per-order shipping (supplier) | $4.75 |
| COGS for this order | $16.25 |
Roll that across 340 orders and your monthly COGS is roughly 340 × $16.25 = $5,525. Against $31 × 340 = $10,540 in revenue, that is a gross profit of $10,540 − $5,525 = $5,015, or a gross margin of about 47.6%.
Notice what is not in that COGS number: the $2,800 of Meta spend, your Shopify plan, or your apps. Those come out next, and they are the reason a "healthy" 47% gross margin can still leave you barely above break-even. That gap is the whole point of the next section.
From COGS to per-order profit — the number the formula won't give you
Every ranking article stops at gross margin. Operators can't. Gross margin tells you the order was profitable at the product level; it says nothing about whether the business made money after you paid to acquire the customer.
Take the same $31 order. Start from the $16.25 COGS, then keep subtracting the costs the formula ignores:
- Revenue: $31.00
- Less COGS (product + shipping): −$16.25
- Less payment processing (say your processor keeps roughly a nickel on the dollar plus a fixed fee — call it $1.20 here): −$1.20
- Less customer acquisition cost ($2,800 Meta spend ÷ 340 orders = $8.24 per order): −$8.24
That leaves $5.31 of true per-order profit on a $31 order — before your Shopify subscription, apps, and your own time. Your gross margin said 47.6%; your real per-order margin is about 17%. That is the number that decides whether scaling ad spend makes you richer or just busier.
This is exactly why COGS is a starting point, not an endpoint. It feeds directly into unit economics — the per-order math that tells you your real ceiling on ad spend. And it is why a lost order hurts POD sellers more than stocked retailers: because the unit was printed on demand, that $16.25 COGS is unrecoverable — there is nothing to restock.
COGS percentage — a fast operating benchmark
Once you have COGS, the most useful single ratio is COGS as a percentage of revenue:
COGS ÷ Revenue × 100 = COGS %
From the example above: $5,525 ÷ $10,540 × 100 = about 52%. That means 52 cents of every sales dollar goes straight to your supplier, leaving 48 cents to cover ads, tools, and profit. Track this monthly. If your COGS % drifts up while your prices hold, a supplier raised base or shipping costs and your margin is quietly eroding — a signal you would miss if you only watched revenue.
Where PodVector AI fits
Getting the cost of goods sold formula right by hand, once, is easy. Doing it across every order, every month, while supplier prices and shipping charges shift — and then subtracting ads and fees to see true per-order profit — is the part that eats your evening.
Victor is the AI employee inside PodVector AI. He connects to your Shopify store, your Meta and Google Ads accounts, and your Printify, Printful, or Gelato fulfillment, and computes true per-order profit from live data — COGS, shipping, processing, and acquisition cost, netted out order by order. He is not a dashboard you have to read; he does the arithmetic and delivers the reports to your Google Drive. Every write action he takes is approval-gated, so nothing executes until you say so. You can put Victor to work on your store and stop rebuilding this spreadsheet.
Once you know your COGS, the last step is booking it correctly so your profit-and-loss statement tells the truth — walk through that in recording cost of goods sold.
FAQs
What is the cost of goods sold formula?
Beginning Inventory + Purchases − Ending Inventory = COGS. It measures the direct cost of the units you actually sold during a period. For a print-on-demand store with no inventory to carry, it simplifies to the total of your supplier's per-order charges (product cost plus shipping) for every order that shipped.
How do you calculate cost of goods sold for print-on-demand?
Add up what your supplier billed you for the orders you fulfilled this period — base product cost plus per-order shipping for each unit. Because you never hold stock, beginning and ending inventory are both zero, so the formula reduces to the sum of those supplier charges. If your Printify or Printful invoices total $6,320 for the month, that is your COGS.
What is included in cost of goods sold?
Only direct production and acquisition costs: the product cost and the per-order shipping your supplier bills, plus any per-unit personalization surcharge. It excludes ad spend, your Shopify subscription, app fees, design software, and payment processing — those are operating expenses, not cost of goods.
Is shipping part of cost of goods sold?
The shipping your supplier charges you to produce and send each order is part of COGS — it is a direct cost of fulfilling that unit. Outbound marketing or free-shipping promotions you fund separately are usually treated as a selling cost. When in doubt, ask whether the cost would exist if the unit had never sold; if not, it belongs in COGS.
How do you compute cost of goods sold as a percentage?
Divide COGS by revenue for the same period and multiply by 100. If you had $5,525 in COGS on $10,540 of revenue, that is a 52% COGS ratio — 52 cents of every dollar going to your supplier. Watching this ratio month over month is the fastest way to catch a silent supplier price increase.
Does COGS tell me if my store is profitable?
No — it only gets you to gross profit. Cost of goods sold ignores the two biggest costs an operating store carries: ad spend and platform fees. A 48% gross margin can still net roughly 17% per order once you subtract customer acquisition cost and processing. COGS is the input; true per-order profit is the answer you actually need.