Skip to content

About COGS snapshots and true profit

How Trackost turns a fulfilled order into COGS, shared fees, true profit and margin, and why an old order's COGS never changes when your costs do.

ConceptLast updated

The short answer

  • A line's COGS is its quantity times the product variation's weighted-average cost at the moment you fulfill the order. It is fixed from then on.
  • For a product you make, that cost comes from your completed batches: materials plus labor. The recipe's flat overhead is not in it.
  • True profit is revenue − fees − COGS, and margin is true profit divided by revenue. Shipping and tax are neither.
  • A variation that has no cost yet sells at $0.00 of COGS, and its margin reads far too high.

When is COGS worked out?

When you click Fulfill & mark shipped, and only then. An open order has no COGS: its COGS, True profit and Margin cards read '—'. Fulfilling looks up the current weighted-average cost of each line's product variation, multiplies it by the quantity and stores the result on the line. That stored figure is the snapshot.

The sale's COGS and revenue are dated on the ship date you pick beside the button, so that is the day the sale lands in your profit reports.

Where does the unit cost come from?

Every product variation carries one unit cost: the weighted average of what the stock you hold cost you.

  • For a product you make, completed batches set it. A batch's unit cost is the materials it used, at their own weighted-average costs, plus labor, the recipe's minutes at your labor rate. Each batch is averaged in with the stock you already hold.
  • For a product you buy in and resell, the cost basis you give when you adjust its stock sets it.

The recipe's flat overhead is not part of a batch, so it never reaches COGS. You see it on the recipe's With overhead: line and in Full cost on Pricing.

Selling doesn't change the unit cost, and neither does a return you put back into stock.

How are fees spread across the lines?

An order carries one Fees amount: what the sale cost you in payment, platform or market fees. When you fulfill it, Trackost splits the fees across the order's lines in proportion to each line's revenue, to the cent. A line with a third of the revenue takes a third of the fees. Each line's share is in the Fees column of the order's lines table.

The fees are not part of the order's Total, and they are not in COGS. They come off true profit.

An order imported from a connected shop can list its fees by type in a Fees breakdown card; a manual order has only the one amount. Connecting a sales channel (Shopify, Etsy or Faire) isn't covered in this help center yet. Email support@trackost.com and we'll walk you through it.

True profit and margin

For each line, true profit is its revenue, minus its share of the fees, minus its COGS. The order's True profit card adds up the lines that have a COGS. Margin is the order's true profit divided by its revenue. While a line isn't matched to a product, True profit leaves it out but Margin still divides by its revenue, so the margin reads too low until that line is matched and fulfilled.

Are shipping and tax part of the profit?

No. Revenue is the price of what you sold: each line's unit price times its quantity. The shipping and tax you enter are part of the order's Total, which is what the buyer paid, but not of its revenue, COGS or profit.

A worked example from the sample workspace

Four of the five cards of order SEED-1002 after fulfilling: Fees $0.60, COGS $6.58, True profit $4.82, and Margin 40.2% circled in red
Margin is true profit divided by revenue: $4.82 ÷ $12.00.

SEED-1002 sells 2 Lavender Candles, Lavender / 8oz, at $6.00 each, with $0.60 of fees. The shop had 120 of those candles in stock at $2.85 each. Shortly before the order shipped, a batch of 12 more was made at $7.66 each, which moved the candle's weighted-average cost to $3.29.

  • Revenue: 2 × $6.00 = $12.00.
  • COGS: 2 × $3.29 = $6.58. The order is costed at the average when it ships, not at the $2.85 of the older candles or the $7.66 of the new ones.
  • Fees: the whole $0.60, because the order has one line.
  • True profit: $12.00 − $0.60 − $6.58 = $4.82.
  • Margin: $4.82 ÷ $12.00 = 40.2%.

Why doesn't an old order's COGS change?

Because it records what those units cost you when they left. A purchase, a batch or a new labor rate after the ship date changes the weighted-average cost for the next sale. It never rewrites a fulfilled order. Your past margins stay the way they were.

A return doesn't change the order either. The order's cards keep the fulfilled figures, and the return is recorded separately, dated the day you record it. The Profit dashboard and Profit & Loss reports include it.

Why is my COGS $0.00?

Because the variation's weighted-average cost was $0.00 when you fulfilled. Either no batch of it had been completed and it had no other cost basis, or its batches were made from materials with no cost. The order then shows $0.00 of COGS and a margin that is far too high: 100% when the order has no fees. Logging the missing batch afterwards doesn't change a sale already recorded. Costing troubleshooting walks through the causes and fixes.