How to Track COGS and Expenses Properly on Shopify
To properly track COGS (Cost of Goods Sold) and expenses on Shopify, you need to go beyond Shopify's basic "Cost per item" field. Accurate tracking requires landed cost calculations, regular updates when supplier prices change, and comprehensive operating expense categorization — covering everything from ad spend to payment processing fees. Without this foundation, your profit numbers are unreliable.
Why Revenue Alone Tells You Nothing
Here's a scenario every Shopify merchant has lived through: you check your dashboard, see $50,000 in monthly revenue, and feel great. Then you sit down to actually figure out how much of that you kept — and the number is far less exciting. Sometimes it's alarming.
The gap between revenue and profit is where most ecommerce businesses either thrive or quietly bleed out. And the single biggest reason merchants misjudge that gap is poor tracking of cost of goods sold (COGS) and operating expenses.
If you don't know what each product truly costs you to source, ship, and sell, you're flying blind. You might be scaling a product that's actually losing money on every order.
What COGS Actually Means (and Doesn't Mean)
Cost of goods sold refers to the direct costs involved in producing or purchasing the products you sell. For most Shopify merchants, this includes:
- Product purchase price — what you pay your supplier per unit
- Shipping to your warehouse — inbound freight, customs, duties
- Packaging materials — boxes, mailers, inserts, labels
- Direct labor — if you or your team physically handle fulfillment
COGS does not include things like your Shopify subscription, marketing spend, software tools, or office rent. Those fall under operating expenses — which we'll cover shortly.
The distinction matters because COGS is subtracted from revenue to calculate your gross profit, while operating expenses are subtracted from gross profit to get your net profit. Getting COGS wrong cascades through every financial metric you rely on.
How Shopify Handles COGS (Spoiler: Barely)
Shopify lets you enter a "Cost per item" field on each product variant. That's essentially the extent of its native COGS support. There's no system for tracking landed costs, no way to account for shipping or packaging on a per-unit basis, and no automatic calculation of gross margin across your catalog.
The "Cost per item" field is also static — it doesn't update when your supplier raises prices, when exchange rates shift, or when you negotiate a new deal. Unless you manually update it every time costs change, your data drifts further from reality with each passing month.
For merchants selling a handful of products, manual updates might be manageable. But once you're running 50, 200, or 1,000+ SKUs across multiple suppliers, manual COGS tracking becomes a full-time job nobody wants to do.
Three Approaches to Tracking COGS
Per-Product Cost
The simplest method: assign a fixed cost to each product variant. This works if your costs are stable, you have a small catalog, and you're not dealing with currency fluctuations or variable shipping rates. Most Shopify merchants start here by filling in that "Cost per item" field.
The downside is accuracy degrades fast. A product that costs $8.50 one month might cost $9.20 the next due to raw material prices, and you'll never know unless you check.
Average Cost (Weighted Average)
With this method, you recalculate the average cost each time you receive new inventory. If you had 100 units at $10 and receive 50 more at $12, your new average cost is $10.67. This smooths out price fluctuations and gives a more realistic picture over time.
It requires tracking each purchase order and its unit cost, which is more work than a flat per-product cost but significantly more accurate for businesses with fluctuating supplier pricing.
Landed Cost
The gold standard. Landed cost includes the product price plus all costs to get it to your door: international shipping, customs duties, tariffs, insurance, inland freight, and inspection fees. For merchants importing goods — which is most DTC brands — landed cost is the only method that reflects true product cost.
Calculating landed cost per unit means allocating shared costs (like a $2,000 ocean freight bill across 5,000 units of varying sizes and weights). It's complex, but it's the only way to get genuinely accurate margins.
Why Expenses Beyond COGS Matter Just as Much
Even with perfect COGS tracking, you're only seeing half the picture. Operating expenses eat into your profit in ways that are easy to ignore because they don't feel tied to individual orders. But they add up relentlessly:
- Software subscriptions — Shopify, Klaviyo, review apps, helpdesk tools, analytics platforms
- Advertising — Facebook, Google, TikTok ad spend and agency fees
- Shipping and fulfillment — outbound shipping costs, 3PL fees, returns processing
- Payment processing — Shopify Payments fees, PayPal fees, chargeback costs
- People — salaries, contractors, virtual assistants
- Overhead — rent, utilities, insurance, accounting
A store doing $500K in annual revenue might have $60K–$100K in operating expenses that never show up in Shopify's reports. If you're not tracking them, you're overestimating your net profit by that exact amount.
Common COGS and Expense Tracking Mistakes
Ignoring COGS entirely. Some merchants never fill in the cost field at all. They look at revenue and estimate their margin. This is guessing, not accounting.
Forgetting to update costs. Supplier prices change. Exchange rates move. Shipping rates adjust quarterly. If your COGS data is six months stale, your margin calculations are fiction.
Lumping everything into one "expenses" bucket. Without categorization, you can't identify which costs are growing, which are unnecessary, and where to cut. Breaking expenses into categories — advertising, software, shipping, overhead — is essential for making informed decisions.
Not accounting for Shopify fees and payment processing. These are real costs that reduce your take-home on every order. Shopify's transaction fees, credit card processing fees, and app subscription fees can collectively eat 5–8% of revenue.
Tracking in spreadsheets that fall out of date. A Google Sheet works until it doesn't — which is usually around the time you need accurate data most. Spreadsheets require manual updating, have no data validation, and become unreliable the moment someone forgets an entry.
How to Actually Fix This
The merchants who get this right typically do one of three things: hire a bookkeeper who manually reconciles everything (expensive and slow), build elaborate spreadsheet systems (fragile and time-consuming), or use software that automates the process.
Sunforce takes the automation approach. It connects directly to your Shopify store and automatically calculates COGS using your product cost data, then layers in Shopify fees, payment processing costs, and the operating expenses you track within the platform. The result is a real-time P&L statement that shows your actual profit — not a hopeful estimate.
Instead of manually exporting CSVs, cross-referencing supplier invoices, and building spreadsheet formulas, you get accurate gross and net margins updated continuously as orders come in. When costs change, you update them once and every historical and forward-looking calculation adjusts.
For merchants who've been guessing at their profitability — or worse, who think they know their numbers but haven't accounted for half their costs — the difference is often sobering. But sobering is better than surprised.
Frequently Asked Questions
What is COGS and why does it matter for Shopify stores?
COGS (Cost of Goods Sold) represents the direct costs of producing or purchasing the products you sell — including the purchase price, inbound shipping, customs duties, and packaging materials. It matters because COGS is subtracted from revenue to determine your gross profit. Without accurate COGS data, you cannot know your true margins, and every pricing, marketing, and growth decision is based on incomplete information.
What expenses should Shopify stores track beyond COGS?
Beyond COGS, track all operating expenses: software subscriptions (Shopify, email marketing, apps), advertising spend and agency fees, outbound shipping and fulfillment costs, payment processing fees, employee and contractor costs, and overhead like rent and insurance. A store doing $500K in annual revenue might have $60K–$100K in operating expenses that never appear in Shopify's native reports. Our complete Shopify accounting guide covers the full expense categories in detail.
How do I calculate landed cost for my products?
Landed cost is the total cost to get a product to your warehouse, including the purchase price, international shipping, customs duties, tariffs, insurance, inland freight, and inspection fees. To calculate per-unit landed cost, total all these costs for a shipment and allocate them across units — often weighted by size, weight, or value. For example, if a shipment costs $7,000 total (product + freight + duties) for 2,000 units, your landed cost is $3.50 per unit.
What are the best methods for tracking COGS on Shopify?
Three main approaches exist: per-product fixed cost (simplest but least accurate), weighted average cost (recalculated with each inventory receipt), and landed cost (most accurate, includes all costs to receive inventory). For most growing Shopify stores, weighted average cost strikes the best balance of accuracy and practicality. As your business scales, moving to full landed cost tracking gives you the most precise margin data — and automated expense tracking tools make this much easier to maintain.
How often should I update my COGS data?
Update COGS every time you receive new inventory at a different price, when suppliers change their pricing, when exchange rates shift significantly (for international sourcing), and when shipping or duty rates change. At minimum, audit your COGS data quarterly. Products with volatile input costs may need monthly updates. Stale COGS data is one of the most common reasons merchants miscalculate their true profit.
Can Shopify track COGS and expenses automatically?
Shopify's native COGS support is limited to a static "Cost per item" field on each product variant — it doesn't track landed costs, update automatically when supplier prices change, or calculate gross margins across your catalog. For operating expenses, Shopify provides no tracking at all. Dedicated tools like Sunforce connect to your Shopify store and automate COGS calculations, fee tracking, and expense categorization to give you a real-time picture of your actual profitability.
The Bottom Line
Tracking COGS and expenses isn't glamorous work. It doesn't have the dopamine hit of launching a new product or seeing a spike in traffic. But it's the foundation that everything else rests on. Your pricing decisions, your ad spend allocation, your hiring plans, your growth strategy — all of it depends on knowing what you actually keep from every dollar of revenue.
Get this right, and every other decision you make gets sharper. Get it wrong, and you're building on sand.
Start by auditing your current COGS data in Shopify. Check when you last updated your product costs. Add up your operating expenses from the last three months. If the exercise feels painful, that's a sign you need a better system — and Sunforce was built for exactly that.
Ready to see your true profit?
Sun is an AI CFO that calculates real P&L, forecasts cash flow, and answers any financial question about your store — instantly.
Join the Waitlist