Shopify

Mastering Shopify COGS: Keep Historical Profit Margins Accurate

Ever found yourself scratching your head, wondering why your carefully maintained profit spreadsheets just don't quite line up with what Shopify's reports are telling you? You're definitely not alone. It's one of the most common frustrations we hear from store owners, and it often boils down to one tricky yet critical detail: how you track your Cost of Goods Sold (COGS).

As a Shopify migration expert at Shopping Cart Mover, I've seen countless merchants struggle with this. Accurate COGS isn't just an accounting formality; it's the bedrock of understanding your true profitability, making informed pricing decisions, and strategizing for growth. Without it, you're essentially flying blind.

Recently, a super insightful discussion popped up in the Shopify community, initiated by an expert named josedrobles, that really hit the nail on the head. They broke down exactly why our historical margins can get skewed and, more importantly, shared some rock-solid principles for keeping your COGS accurate, no matter how much your supplier costs fluctuate. It's a game-changer for anyone serious about understanding their true profitability and ensuring their financial data is always reliable.

Example spreadsheet for tracking product costs and landed costs per shipment.
Example spreadsheet for tracking product costs and landed costs per shipment.

The Root of the Problem: Shopify's Variant Cost Field

Here's the kicker that josedrobles pointed out, and it's a crucial piece of information for any Shopify merchant: the 'variant cost' field in Shopify is designed to be a current value. This means every time you go in and edit it – say, because your supplier raised their prices, or you found a new, cheaper supplier – Shopify's own reports will retroactively recalculate past orders using this new number. Suddenly, your historical margin reports become, well, historically inaccurate! Your beautiful profit analysis from last quarter? It just got rewritten without you even realizing it. This discrepancy is the single most common reason your meticulous spreadsheets and the Shopify admin disagree.

Imagine you sold 100 units of a product last month when its cost was $10. Your profit reports reflect this. This month, your supplier increases the cost to $12, and you update the variant cost in Shopify. Instantly, last month's 100 units are now reported as having a COGS of $12 each, wiping out $200 of your reported profit from a period that has already passed. This makes it incredibly difficult to compare performance over time, identify trends, or even accurately file taxes.

So, how do we fix this and ensure our financial data is always reliable? The community expert laid out six crucial principles. Let's dive into them, because understanding these can save you a ton of headaches and give you a much clearer picture of your business's health.

Six Golden Rules for Accurate Historical COGS in Shopify

1. Store Cost as of the Date, Never as the Current Cost

This is perhaps the most critical takeaway. Instead of constantly updating the variant cost field in Shopify, you need to track your product costs externally, tied to specific purchase dates and receipts. Think of it as creating a 'cost snapshot' for every batch of inventory you receive. When a sale occurs, the COGS should reflect the cost of the specific unit sold at that time, not today's price. This often requires a dedicated inventory management system, a robust spreadsheet, or an accounting app that integrates with Shopify to manage your inventory layers (e.g., first-in, first-out - FIFO, or weighted average cost - WAC).

2. Put Landed Cost on the Receipt, Not on the Variant

Landed cost includes all expenses incurred to get a product from your supplier to your warehouse, ready for sale. This typically includes inbound freight, customs duties, taxes, insurance, and any other associated fees. These costs belong to a specific shipment, not to the product variant itself as a static value. Averaging them into the variant cost can obscure the true profitability of individual shipments and make your margin analysis by variant quietly go wrong.

Instead, calculate the landed unit cost for each incoming shipment:

landed_unit_cost = unit_product_cost + (inbound_shipping + duties + other_landed) / quantity_received

This ensures that each unit's true cost is accounted for accurately, providing a clearer picture of your gross profit per sale.

3. Use One Method and Declare It

Consistency is key in accounting. For most small to medium-sized Shopify stores, the Weighted Average Cost (WAC) method by SKU and date is sufficient and widely accepted. Under WAC, each sale takes the average cost of all available inventory on its sale date. While FIFO (First-In, First-Out) and LIFO (Last-In, First-Out) are other methods, they introduce more complexity and are often reserved for larger operations or specific industries. The crucial point is to choose one method (WAC is a great starting point), document it, and apply it consistently across all your inventory and sales.

4. Refunds and Returns Follow the Original Order

When a customer returns an item, the financial reversal should mirror the original transaction as closely as possible. This means the COGS associated with a returned item should be the same cost snapshot that was applied to the original sale, not the current cost of that product today. If a return uses today's cost, it will further distort your historical COGS and profit margins. Your accounting system should be able to link returns back to their original sales for accurate cost reversal.

5. Never Drop a Row Silently

Data integrity is paramount. When processing sales or inventory data, every single input row must either be processed correctly or flagged as an exception with a clear reason. Common exceptions include: a sale recorded before its first receipt (negative inventory), a duplicate or ambiguous SKU, or transactions involving two different currencies in one file. These aren't minor glitches to skip over; they are red flags indicating potential data corruption. Ignoring them leads to inaccurate reports and headaches down the line. A robust system will highlight these issues, allowing you to investigate and correct them.

6. Give the Accountant a Reconciliation, Not a Spreadsheet

Your accountant doesn't just want a raw dump of data; they need a clear, auditable reconciliation. This means presenting your financial data in a structured way where total inputs equal total outputs, with any differences meticulously explained row by row. Crucially, you must also declare the accounting method used (e.g., WAC), the currency, and the timezone. This transforms raw numbers into auditable financial statements, making your books transparent and defensible, rather than a source of endless arguments or confusion.

Implementing Accurate COGS in Your Shopify Store

While Shopify's native reporting has its limitations regarding historical COGS, implementing these principles is achievable. For many merchants, this involves:

  • External Inventory Management Systems (IMS): Apps that integrate with Shopify can provide more sophisticated inventory costing methods and tracking.
  • Custom Spreadsheets: For smaller operations, a well-designed spreadsheet can track receipts, costs, and calculate WAC.
  • Accounting Software Integration: Tools like QuickBooks or Xero, when properly integrated and configured, can handle complex COGS calculations.
  • Expert Assistance: Don't hesitate to consult with an e-commerce accountant or a Shopify expert like those at Shopping Cart Mover to set up your systems correctly.

Understanding and accurately tracking your COGS is not just good accounting practice; it's essential for the long-term health and strategic growth of your Shopify business. By adopting these six golden rules, you'll gain unparalleled clarity into your true profitability, enabling you to make smarter decisions, optimize your pricing, and confidently plan for the future. Stop letting fluctuating supplier costs rewrite your financial history – take control of your COGS today!

Share:

Use cases

Explore use cases

Agencies, store owners, enterprise — find the migration path that fits.

Explore use cases