COGS guide · June 15, 2026

How to Track COGS by SKU in Shopify

COGS by SKU connects each order line to the product's unit cost, which turns sales reports into margin reports.

Short answer: Track COGS by assigning a reliable unit cost to each Shopify SKU, reconciling that cost against order line items, and reviewing missing or outdated costs regularly. This makes gross margin and net profit more accurate than revenue-only reporting.

Define the cost source

Choose where unit costs come from: supplier price sheets, landed-cost spreadsheets, inventory software, or a maintained internal cost table. For many merchants, a practical first step is a SKU and cost CSV.

Decide whether cost includes product cost only or landed cost with freight, duty, packaging, or preparation fees. Consistency matters more than false precision.

Match costs to order lines

Every Shopify order line should map to a SKU and a cost. Missing SKUs, variant changes, bundles, and discounted kits need special attention because they can distort margin.

Flag missing costs instead of treating them as zero. A zero cost makes margin look better while hiding the data problem.

Review cost drift

Supplier prices change. Freight changes. Product mix changes. Review high-volume SKUs first because small cost errors on best sellers create large reporting errors.

When a cost changes, decide whether the new cost applies to future orders only or should restate recent margin.

Use COGS in decisions

DecisionWhy SKU-level COGS helps
DiscountingShows whether a promotion still leaves contribution margin.
MerchandisingSeparates high-revenue products from high-profit products.
InventoryHighlights products tying up cash with weak margin.
Ad spendShows whether acquisition cost is sustainable after product cost.

Put the workflow into practice

LedgerAI combines Shopify orders, refunds, payment fees, SKU-level COGS, and approved vendor bills into a daily true net profit dashboard.

Explore LedgerAI