If you already run an operating store, you are not asking this question out of curiosity. You are trying to read your own numbers correctly — because where COGS lands changes what your margin looks like. Get it wrong and a healthy store can look like it's bleeding, or a bleeding one can look fine.
Let's settle the account type first, then walk a real month so you can see why it matters.
Is cost of goods sold an expense account?
Yes. COGS is an expense account. It shows up on the income statement immediately after your sales lines and before your selling and administrative costs, and for most product businesses it is the largest single expense you carry (AccountingTools).
In bookkeeping terms it is a temporary (nominal) account: it accumulates cost during the period, then closes into retained earnings when you close the books, and resets to zero for the next period. Like all expense accounts, it carries a normal debit balance — you debit COGS when a sale ships and the cost is consumed.
So when someone asks "what type of account is cost of goods sold" or "what account is cost of goods sold," the clean answer is: an income-statement expense account, temporary, debit-balance. If you want the mechanics of the entry itself, our guide on recording cost of goods sold walks the debits and credits.
Is cost of goods sold an asset?
No. This trips people up because COGS starts its life as an asset.
For a store that holds stock, the cost of unsold inventory sits on the balance sheet as an asset (inventory). Nothing is expensed yet. Only when a unit sells does its cost move off the balance sheet and become COGS on the income statement — the matching principle at work, pairing the cost with the revenue it produced (AccountingTools).
Here is the print-on-demand twist: you barely have an inventory asset. Your supplier — Printify, Printful, Gelato — prints on demand, so there is no shelf of pre-paid stock sitting on your books. The cost is incurred at the moment the order ships and lands straight in COGS. That's why, for POD, "is cost of goods sold an asset" is almost always answered no, it went straight to expense — there was never an inventory-asset stage to speak of.
Is cost of goods sold a liability?
No. A liability is something you owe — a loan, an unpaid supplier invoice, taxes payable. COGS measures cost you have already consumed to earn revenue; it is not an obligation.
The confusion usually comes from timing. If your supplier bills you after fulfillment, the unpaid invoice is a liability (accounts payable) until you pay it. But the underlying production cost, matched to the sale, is still an expense — COGS. Two different accounts doing two different jobs. So "is cost of goods sold a liability" is a firm no.
COGS vs. operating expenses: the line that decides your margin
This is the distinction that actually moves money in your reports, and it's where most generic articles stop short.
COGS is your direct cost of producing the units you sold. Operating expenses (OpEx) are the indirect costs of running the business that don't attach to a specific unit — a useful test is that COGS disappears if you stop selling, while OpEx keeps running (Ramp). On the income statement:
Revenue − COGS = Gross profit. Then Gross profit − OpEx = Operating profit (Ramp).
For a POD store, the split usually looks like this:
- COGS (direct): what the supplier charges to produce each item, plus the shipping the supplier charges you to send it to the customer, plus per-order fulfillment or transaction fees tied to that unit.
- OpEx (indirect): Meta and Google ad spend, your Shopify subscription, apps, design software, and your own time.
The big trap: ad spend is not COGS. It's marketing OpEx. Dumping your Meta and Google spend into COGS crushes your reported gross margin and hides whether the product itself is profitable before you even layer on acquisition cost. Our unit economics guide breaks down which costs belong on which line.
A worked month: where each dollar lands
Say your store does 340 orders a month at a $31 average order value. That's $10,540 in revenue.
Your POD supplier charges $12 to produce each item and $5 to ship it — so $17 per order in true product cost. That $17 is your COGS.
- Monthly COGS: 340 × $17 = $5,780
- Gross profit: $10,540 − $5,780 = $4,760
- Gross margin: $4,760 ÷ $10,540 = 45.2%
That 45.2% is in the neighborhood of the roughly 65–70% of sales that retail COGS often runs (leaving a thinner gross margin), which POD can beat because it carries no warehouse or dead stock (Ramp).
Now the OpEx that comes below gross profit — starting with your $2,800 in monthly Meta spend:
- Gross profit: $4,760
- Ad spend (OpEx): −$2,800
- Shopify plan + apps (OpEx): say −$120
- Payment processing (~2.9% + $0.30 × 340 orders): roughly −$408
- Operating profit: about $1,432
Notice what happens if you'd misclassified the ad spend into COGS: your "gross margin" would read 18.6% instead of 45.2%, and you'd think your product economics were broken when the real story is that acquisition cost is eating most of a genuinely healthy gross margin. Same dollars, completely different diagnosis.
Per-order profit, the number that actually matters
Gross margin is the store-level view. On a single order:
- Revenue: $31.00
- COGS (product + supplier shipping): −$17.00
- Gross profit per order: $14.00
- Ad cost per order ($2,800 ÷ 340): −$8.24
- Payment fee (2.9% + $0.30): −$1.20
- True per-order profit: about $4.56
That $4.56 is what's left to cover your fixed OpEx and pay you. If a lost chargeback or a POD reprint wipes out the COGS on an order (a printed item can't be restocked, so that cost is gone), you don't just lose one order's profit — you erase the margin from three or four good orders. That's the operator reason COGS classification isn't academic. The cluster hub on ecommerce ops economics connects these threads, and if you're building the calculation from scratch, start with how to calculate cost of goods sold.
Where PodVector AI fits
Splitting COGS from OpEx correctly, per order, across a whole month of orders is exactly the kind of reconciliation that's tedious to do by hand. Victor, the AI employee inside PodVector AI, connects to your Shopify store, your Printify, Printful, or Gelato supplier, and your Meta and Google Ads accounts, then computes true per-order profit — keeping supplier product-and-shipping cost in COGS and ad spend where it belongs, in OpEx. He delivers the breakdown as a report to your Google Drive. If you want the profit math done on live data instead of a spreadsheet, try PodVector AI.
FAQs
Is cost of goods sold an expense or an asset?
It's an expense once the goods are sold. Before the sale, the cost of unsold stock is an asset (inventory) on the balance sheet. The moment a unit sells, that cost moves to the income statement as COGS. For print-on-demand there's effectively no inventory-asset stage, because items are produced on demand and the cost hits COGS at fulfillment.
What type of account is cost of goods sold?
An income-statement expense account. It's a temporary (nominal) account with a normal debit balance that accumulates during the period and closes into retained earnings when you close the books. Cost of goods sold is what type of account confusion usually clears up once you see it grouped with your other expenses, just higher on the statement.
Is cost of goods sold a liability?
No. A liability is money you owe. COGS is cost you've already used up to generate revenue. If your supplier bills you after fulfillment, the unpaid invoice is a liability (accounts payable), but the production cost matched to the sale is still an expense.
Is COGS an operating expense?
Not in the strict accounting sense. COGS is a direct cost that sits above gross profit; operating expenses are indirect costs that sit below it, like advertising, subscriptions, and rent (Ramp). Both are expenses, but keeping them on separate lines is what lets you read gross margin correctly.
Does COGS include shipping and ad spend?
The shipping your supplier charges to produce and send the unit belongs in COGS. Ad spend does not — it's marketing OpEx. Lumping ad spend into COGS understates your gross margin and hides whether the product is profitable before acquisition costs. To confirm which supplier and fulfillment costs to pull in, see how to find cost of goods sold.