Cost of goods (COGS) on Shopify
You can't know your profit without knowing what your products cost you. That number is your cost of goods sold, or COGS. Here's how to record it in Shopify and keep it accurate.
What COGS means
Cost of goods sold is what you paid for the units you actually sold in a period. It isn't what you paid for everything on your shelves, only what went out the door.
Sell 50 mugs that cost you $6 each, and your COGS for those sales is $300.
Where it lives in Shopify
Every product variant has a Cost per item field, on the product's page in your Shopify admin, under pricing. Shopify uses it to show the margin on that variant.
A few things to know:
- Set it on each variant. A large and a small size often cost different amounts.
- Include what it costs to get the product to you, like freight and packaging, if you want your profit to be real.
- Update it when your costs change. An old cost makes your margin look better or worse than it is.
The common problems
Costs left blank. If some variants have no cost, any profit figure only covers the ones that do. A blank should never be read as zero.
Costs not showing in reports. Merchants often find costs they entered don't appear in older sales. A cost change typically doesn't rewrite the cost on orders that were already placed.
Too many products to fill in by hand. A spreadsheet upload, or a default margin for products you haven't costed yet, gets you a usable number while you fill in the rest.
Getting from COGS to profit
COGS gives you gross profit: sales minus product costs. Take off shipping and payment fees as well, and you have net profit. See our guide to calculating your real profit.
Let it fill itself in
Nesvo is a free Shopify app that imports your Shopify cost per item automatically, and gives you three other ways to fill gaps:
- type a cost in, and apply it to every variant of a product at once;
- upload a spreadsheet of variant IDs and costs;
- set a default margin for any variant with no cost yet.
A cost you enter yourself always wins over the imported one, and a sync never overwrites it. Each order keeps the cost it was sold at, so changing a cost later doesn't rewrite past profit. Nesvo treats a blank or $0 cost as unknown, shows how many items are still missing, and uses your costs to calculate gross margin and net profit across your store.