Cost of goods sold (COGS) is the direct cost of producing the goods you actually sold in a period — not everything you spent, just the make-and-ship cost of the units that left the door. For a print-on-demand store, that's mostly one clean number: what your supplier charged you to produce and ship each item. It excludes ad spend, apps, and your Shopify subscription. Get COGS right and your gross profit is honest; get it wrong and every margin decision downstream is built on sand.

You already run the numbers. You know your ad spend, your refund rate, and roughly what each order nets. So the reason to nail down the cost of goods sold meaning isn't textbook curiosity — it's that COGS is the single line that decides whether the gross profit on your P&L is real. Most ranking definitions stop at the formula. This one walks the profit math an operating store actually needs.

What cost of goods sold actually means

Cost of goods sold is the accumulated direct cost of the products a business sold during a specific period. The key word is sold. If you produced or bought inventory but haven't sold it, that cost sits on the balance sheet as inventory — it only becomes COGS at the moment of sale.

So what is a cost of goods sold in plain terms? It's the "make it" cost of the things that turned into revenue this month. Materials, direct labor, and the freight to get product into your hands all count. Marketing, rent, and salaries do not.

For a traditional store holding stock, COGS is calculated with the standard inventory formula:

COGS = Beginning inventory + Purchases during the period − Ending inventory

That formula exists because a stocked store buys inventory at one time and sells it at another, so you back into "what did I sell" by measuring what's left. It's the same structure you'll see in any operating expense breakdown, like the one walked through in JB Hunt's 2015 Form 10-K operating expenses.

The POD shortcut: your COGS is already itemized

Here's what the generic guides miss. If you run print-on-demand, you don't hold inventory, so the beginning-minus-ending dance mostly disappears. Your supplier charges you per unit at the moment the order is placed, which means your COGS is invoiced line by line, in real time.

That's a gift and a trap. The gift: you know the exact production cost of every order without a stock count. The trap: it's easy to treat only the product price as COGS and forget the supplier shipping charge, which is just as direct and just as unrecoverable.

For a POD order, true per-unit COGS is:

Supplier product cost + supplier shipping + any per-unit add-ons (embroidery, extra print location, branding insert)

That number — and nothing about your ads or your subscription — is your cost of goods sold. This is the input that feeds directly into how you record cost of goods sold in your books, so it's worth getting the boundary exactly right.

What's in COGS — and what isn't

The line between COGS and operating expense trips up more operators than any formula. The test is simple: would this cost exist if you sold zero units? If yes, it's an operating expense, not COGS.

In COGS:

  • Product cost your supplier bills per unit
  • Supplier shipping / fulfillment charge per unit
  • Direct add-ons tied to that specific item (custom labels, extra print areas)
  • Payment-related per-transaction production surcharges, if your supplier itemizes them

Not in COGS (these are operating expenses):

  • Meta and Google ad spend
  • Your Shopify subscription and apps
  • Design tools, email platform, and software
  • Your own time and any VA hours
  • Customer-support labor

Getting what is the cost of goods sold boundary right matters because it changes which number you optimize. Cut COGS and you widen the margin on every future order; cut ad spend and you change acquisition volume. They are different levers, and mixing them into one blob hides both.

Worked example: COGS on a real operating month

Say your store does 340 orders in a month at a $31 average order value. Your supplier charges $11.20 in product cost and $4.90 in shipping per order, and there are no add-ons.

Per-order COGS: $11.20 + $4.90 = $16.10

Monthly revenue: 340 × $31 = $10,540 Monthly COGS: 340 × $16.10 = $5,474 Gross profit: $10,540 − $5,474 = $5,066

Gross margin: $5,066 ÷ $10,540 = 48%

Notice what's not in that gross profit yet: your ad spend. Layer on $2,800/month in Meta spend and the picture changes fast:

Contribution after ads: $5,066 − $2,800 = $2,266 before your subscription, apps, and time.

That gap between the 48% gross margin and the thin dollars left after ads is exactly why the COGS/opex boundary matters. If you'd sloppily folded ad spend into "cost of goods," you'd never see that your product economics are healthy while your acquisition cost is eating the result. Splitting them cleanly is the whole point of tracking unit economics instead of a single lump.

Why COGS is where your profit hides — the part every definition skips

For a stocked store, a refunded item usually comes back and re-enters inventory, so a return costs shipping, not the whole product. For POD, there is no restock. The item was printed for that order and can't be resold, so when you refund, the COGS you already paid your supplier is gone.

That makes COGS a live risk number, not just an accounting entry. Take a lost chargeback: you don't just refund the order and eat the $15 dispute fee — you also lose the unrecoverable COGS, the shipping, and the ad spend that acquired the customer. Industry guidance puts the fully loaded cost of a lost dispute at roughly two to two and a half times the order value once you add production, shipping, processing, and ad spend back in.

On the $31 order above, that's not a $31 problem — it's closer to a $60–$70 hole, and the $16.10 COGS is the piece that's always lost because a printed shirt can't go back on a shelf. If you don't know your true per-unit COGS, you can't see how expensive a single reversal really is.

COGS vs. gross profit vs. net profit

These three get used interchangeably in seller forums, and they shouldn't be:

  • COGS — the direct cost of the units you sold.
  • Gross profit — revenue minus COGS. Answers "does my product make money?"
  • Net profit — gross profit minus every operating expense (ads, apps, subscription, labor). Answers "does my business make money?"

Your gross profit is only as trustworthy as your COGS. If your per-order product and shipping costs drift — a supplier price bump, a shift to a pricier print provider — and you don't update COGS, your gross profit looks fine on paper while your real margin quietly erodes. That drift is invisible until you tie the exact supplier cost to the exact order.

Where an AI employee fits

Keeping true per-order COGS current across a live store is tedious, which is why most operators do it once and never again. This is the kind of grind PodVector AI's AI employee, Victor, is built for: Victor connects to Shopify and to your Printify, Printful, or Gelato account, pulls the actual supplier cost and shipping on each order, nets it against fees and ad spend from Meta and Google Ads, and computes true per-order profit — then delivers the report to your Google Drive. Victor is not a dashboard you have to go read; it's an operator that does the reconciliation and, for any write action, waits for you to approve before it executes. If you want the plumbing behind this, the ops economics hub and the guide to what an operations manager does in ecommerce map the full picture.

FAQs

What is cost of goods sold in one sentence?

It's the direct cost of producing the specific products you sold in a period — for a POD store, the supplier's product plus shipping charge on each order, excluding ads, apps, and subscriptions.

Does cost of goods sold include shipping?

The shipping you pay your supplier to produce and get the item to the customer is a direct cost and belongs in COGS. Shipping revenue you charge the customer is separate income, and marketing or warehouse-to-office freight is an operating expense, not COGS.

Is advertising part of cost of goods sold?

No. Ad spend on Meta or Google is a selling expense, not COGS. It exists to acquire customers, not to produce the product. Keeping it out of COGS is what lets you see product margin and acquisition cost as two separate levers.

What is the cost of goods sold formula for a store that doesn't hold inventory?

You skip the beginning-minus-ending inventory formula and simply sum the actual supplier charges — product cost plus fulfillment shipping plus any per-unit add-ons — for the orders sold in the period. POD invoices this per order, so your COGS is effectively itemized as you go.

Why does COGS matter more for POD than for a stocked store?

Because a printed item can't be restocked, so on every refund, return, or lost chargeback the COGS is unrecoverable. That turns COGS from a bookkeeping figure into a direct measure of how much each thing going wrong actually costs you.

Is COGS the same as gross profit?

No. COGS is a cost; gross profit is revenue minus that cost. You subtract COGS from sales to get gross profit, then subtract operating expenses from gross profit to get net profit.