What the Shopify COGS report actually shows
The report lives in your Shopify admin under Analytics → Reports, in the Finances group. It sums the cost-per-item values you entered on each product, matches them to the units sold in your date range, and returns three things: total product cost, revenue, and COGS as a percentage of sales.
That percentage is the point. Subtract it from one hundred percent and you have your gross margin — the single best measure of whether the product itself makes money before you spend anything to sell it. If your COGS runs at forty-five percent of revenue, your gross margin is fifty-five percent, and every dollar of net sales leaves fifty-five cents to cover ads, apps, and your own pay.
The report updates automatically as orders come in, using whatever cost you saved per variant. That is also its first weakness: it is only as accurate as the numbers you typed in months ago.
The formula behind the number
Accountants define cost of goods sold as Beginning inventory + purchases − ending inventory = COGS. That is the inventory-flow version, and it is what you use if you buy stock in batches and hold it.
For a print-on-demand or dropship store the flow version barely applies, because you never hold inventory. Your COGS is simpler and more direct: it is the supplier's production charge for the specific units sold, plus the supplier's shipping to the customer, and optionally your payment processing and packaging. COGS is the cost of the units sold in the period — not units bought, not a monthly subscription, not your ad budget.
Keeping that boundary clean matters more than any single figure. If you want the full top-to-bottom layout — gross sales, discounts, refunds, COGS, then operating expenses — our ecommerce P&L guide walks the whole statement line by line.
Where the Shopify COGS report goes quiet
Every article that ranks for this topic tells you where to click. Almost none tell you what the report leaves out. Here is the honest gap list.
It stops at gross margin, not profit
The report subtracts product cost from revenue and stops. It never touches the costs that actually decide whether you made money: ad spend, app subscriptions, contractor pay, and your own draw. A store can show a healthy gross margin in this report and still lose money for the month, because paid acquisition — which belongs in operating expenses, not COGS — ate the gross profit. The report is not wrong; it is just not the whole picture.
It ignores payment processing fees
Shopify's own COGS report does not fold in the fee you pay on every transaction. On Shopify Payments, online card orders on the lower-tier plans are commonly charged around 2.9% plus 30¢ per transaction, with the percentage falling as you move to higher plans, according to A2X's breakdown of Shopify fees. Verify your own rate on Shopify's pricing page, because it changes by plan.
On a thirty-two-dollar order, that fee is 32 × 0.029 + 0.30 = $1.23. Small alone. Multiply by three hundred orders and it is about $369 the COGS report never mentioned.
It does not claw back the fee on refunds
When you refund a customer, the original processing fee is generally not returned to you, per A2X's guidance on Shopify fees. So a refunded thirty-two-dollar order still costs you that ~$1.23 even though you kept none of the sale. If you sold and returned dozens of orders, that is real leaked margin the COGS report cannot see, because it only counts units sold. Our deeper piece on product returns and COGS covers how to book those correctly.
It only knows the cost you typed in
The report multiplies units sold by the cost-per-item you saved. If a supplier raised a blank price and you never updated the field, the report cheerfully calculates margin at last quarter's cost. Say a garment blank rises from $12.00 to $12.75 and you sell three hundred of them: that is 300 × $0.75 = $225 of real cost the report silently omits until you edit every variant. Nobody sends you a reminder.
A worked example: report margin vs. real margin
Say you run a t-shirt store and one month looks like this. Illustrative numbers, not market claims.
- Net sales: $8,830 (after discounts and refunds)
- Product cost, from the COGS report: $3,600 (300 units × $12)
The report shows COGS at 3,600 ÷ 8,830 = 40.8%, so a gross margin near 59%. Looks great.
Now add the two things the report skips. Processing fees at ~2.9% + 30¢ across 300 orders come to about $346, using the fee structure A2X documents for Shopify Payments. Fold that into your true cost of sale:
- True cost of sale: 3,600 + 346 = $3,946
- True gross profit: 8,830 − 3,946 = $4,884
- True gross margin: 4,884 ÷ 8,830 = 55.3%
Then the part no COGS report ever shows — operating expenses. Suppose ad spend is $3,000, Shopify plan and apps $180, tools $90, and an owner draw of $500. That is $3,770 of OpEx.
- Operating profit: 4,884 − 3,770 = $1,114
- Operating margin: 1,114 ÷ 8,830 = 12.6%
The report said fifty-nine percent. The business kept about thirteen. Both numbers are "true" — they just answer different questions. The COGS report answers is the product priced right? It cannot answer did I make money? — and confusing the two is the most expensive mistake small stores make.
How to make the report trustworthy
You do not need to abandon Shopify's report. You need to close its blind spots.
- Update cost-per-item whenever a supplier price changes. This is the single highest-leverage habit. A stale cost field quietly overstates margin on every order until you fix it.
- Add processing fees as their own line. Do not bury them in COGS unless you do it consistently every month; either way, make sure they land somewhere so they are not invisible.
- Book refunds as contra-revenue and remember the retained fee. The refunded order reduced your top line and still cost you the processing fee.
- Layer operating expenses below gross profit. Ad spend especially — it belongs in OpEx so your P&L can scream "the risk here is customer acquisition cost," which it cannot do if the cost is hidden.
- Reconcile against your payout, not against a single report. Your Shopify payout is a net settlement — sales minus fees minus refunds — on a delayed schedule, not your revenue. Proving the two tie out is what makes every downstream number defensible.
If entering and maintaining all of that by hand sounds like a second job, it can be. A bookkeeper who knows ecommerce keeps cost fields current and reconciles payouts monthly; our overview of ecommerce bookkeeping services explains what to expect and what it costs.
From report to real per-order profit
The deeper problem is structural. The Shopify COGS report was built to answer one question about your catalog, and it answers it well. It was never built to combine your supplier charges, your Meta and Google ad spend, your Stripe fees, and your refunds into one honest per-order profit figure — because those numbers live in five different tools that do not talk to each other.
That is the gap PodVector is built to close. It connects Shopify, Meta Ads, Google Ads, Printify, and Printful, then computes true per-order profit from live data — product cost, fees, and ad spend netted against every order, not just gross margin from a stale cost field. Victor, its AI operator, analyzes that data and proposes moves, executing approved actions on the Shopify side; he reads your ad data but does not touch your ad account. PodVector is not a dashboard you have to interpret — it does the netting the COGS report leaves undone.
FAQs
Where is the COGS report in Shopify?
Open your admin, go to Analytics → Reports, and look in the Finances section for the cost of goods sold report (a Profitability report appears on some plans). It draws on the cost-per-item values saved on each product, so it only exists in a useful form once you have entered those costs.
Why doesn't my Shopify COGS report match my profit?
Because the report stops at gross margin. It subtracts product cost from revenue but ignores payment processing fees, refunded fees, ad spend, apps, and your own pay. Real profit sits well below the gross margin the report shows — in the worked example above, thirteen percent versus fifty-nine.
Does the Shopify COGS report include shipping and payment fees?
It includes shipping only if you built that cost into the cost-per-item you entered. It does not include Shopify payment processing fees, which run around 2.9% plus 30¢ per online transaction on lower-tier plans, according to A2X. Add those separately or your margin will read high.
Should ad spend go in COGS?
No. Ad spend is paid acquisition and belongs in operating expenses, below the gross-profit line. Putting it in COGS inflates your gross margin and hides that customer acquisition cost — not product cost — is usually your real risk.
How do I keep the COGS report accurate for print-on-demand?
Update the cost-per-item field every time a supplier changes production or shipping prices, and set your resale certificate up early so you are not paying sales tax on wholesale orders on top of it. For handmade or made-to-order goods the flow is different again; the same discipline — current costs, per-unit thinking — still applies.
Is this tax advice?
No. This is general information, not tax advice. Rules change and vary by situation — consult a licensed CPA or tax professional before acting.