Skip to content

Fulfill an order and see its true profit

Mark an order shipped: Trackost takes the units out of stock, fixes COGS from each product's average cost or recipe, spreads fees and shows true profit.

How-toLast updated

Fulfilling an order says the goods have left. It is the step that turns an order into a sale in your books. For each line, Trackost:

  • takes the units out of the product variation's stock;
  • sets the line's COGS to the quantity times the variation's weighted-average cost as shown, to the cent, at that moment, and keeps that figure from then on. A variation with no stock and no cost from real stock is costed from its recipe instead;
  • gives the line its share of the order's fees, in proportion to its revenue;
  • works out the line's true profit: revenue − fees − COGS.

Fulfilling needs no money access, so any team member can do it. If your trial or plan has ended, every page opens behind the plan wall, and a page left open in another tab refuses with 'Your plan has ended — subscribe to continue making changes.'

Fulfill an order

  1. Open Orders and click the order. Until it is fulfilled, its cards show an estimate, marked Est.: what fulfilling it would record at today's cost.
  2. Check the date beside Fulfill & mark shipped. It is the ship date, the day the sale's revenue and COGS count in your profit reports. It starts on today's date in UTC, not in your own time zone, so in the Americas it can already show tomorrow's date in the evening. Pick an earlier day if the goods left earlier.

    The action row of the open order SEED-1001: the ship date box, the Fulfill & mark shipped button circled in red, then Record return, greyed out until the order is fulfilled, Invoice and Packing slip
    Check the ship date, then click Fulfill & mark shipped.
  3. Click Fulfill & mark shipped. The button reads Fulfilling… for a moment, then you see 'Order fulfilled' with the order's true profit, for example 'True profit $9.50 (COGS snapshotted, fees allocated).' The status becomes Fulfilled, and the cards drop their Est. mark: COGS, True profit and Margin now show what was recorded.

    The first four cards of order SEED-1001 after fulfilling: Revenue $18.00, Fees $0.90, COGS $7.60 and True profit $9.50, circled in red
    Revenue $18.00 − fees $0.90 − COGS $7.60 = true profit $9.50.

A ship date before your inventory start date is refused with 'This transaction is dated before your inventory start date (2026-09-01). Trackost only tracks inventory from that day onward — pick a later date.', with your own start date. See About the inventory start date.

Reading the result

The pictures show SEED-1001 in the sample workspace: 1 Lavender Candle Gift Set at $12.00 and 2 Lavender Soap Bars at $3.00, with $0.90 of fees.

  • Revenue $18.00: $12.00 + 2 × $3.00.
  • Fees $0.90, spread by revenue. The gift set brings $12.00 of the $18.00, so it takes $0.60, and the soap takes $0.30.
  • COGS $7.60: the gift set at its weighted-average cost of $4.10, plus 2 bars at $1.75.
  • True profit $9.50: $18.00 − $0.90 − $7.60.
  • Margin 52.8%: true profit divided by revenue.

In the lines table, the gift set line makes $7.30 and the soap line $2.20.

The lines table of SEED-1001 after fulfilling, from Variation to Profit: the gift set line with fees $0.60, COGS $4.10 and profit $7.30, and the soap line of 2 with fees $0.30, COGS $3.50 and profit $2.20
Each line shows its share of the fees, its COGS and its profit.

The Orders page now shows the order's true profit in its row.

The Orders list with SEED-100 typed in its search box: SEED-1002 and SEED-1001, both Fulfilled, with true profit $4.82 and $9.50; the True profit cell of SEED-1001 is circled in red
Once an order is fulfilled, the list shows its true profit.

Each line's COGS is fixed from now on. A later purchase or batch changes the product's weighted-average cost for the next sale, never this one. Fulfilling again never re-costs a line that already has its COGS. About COGS snapshots and true profit explains the numbers in more depth.

If a warning appears

  • 'Untracked production', with 'You sold more than you've produced; stock went negative. Log the missing batch.': you fulfilled more units than you had. The order is fulfilled anyway. It shows a banner, and the line carries a Negative stock badge. The sale was costed at the product's current weighted-average cost, or from its recipe if the product had no cost from real stock. Log the batch you made; Costing troubleshooting explains what that does to the cost.
  • 'Costed from the recipe': a product on the order had no stock and no cost from real stock, so its line was costed from its recipe at today's cost. It is only a note. Once you log a batch of the product, its sales are costed from your batches again.
  • 'Recorded with no cost': a line went out at $0.00, because Trackost had no cost for its product. The message gives the reason, for example 'A product has no batch cost and no recipe. Add a recipe or log a batch.' That line's profit is too high. Why is COGS zero on a sale? explains what to do.
  • 'Shipped stock that is still curing': some of the units you shipped haven't finished their cure time yet. It is only a note. The order's page says how many units and until when.

If Fulfill & mark shipped can't be clicked, the order has nothing left to fulfill. Either it is fulfilled already, or its only unfulfilled lines aren't matched to a product yet. An order with an unmatched line stays Open after fulfilling until that line is matched and fulfilled too.

Orders imported from Shopify

An order that came in from Shopify has no Fulfill & mark shipped. Its button reads Record cost now, with a date box beside it for the day the cost is dated. It does in Trackost what fulfilling does: it takes the units out of stock, fixes each line's COGS and spreads the fees. It changes nothing in Shopify, and you see 'Cost recorded'.

Usually it isn't needed. When Shopify marks the order fulfilled, Trackost records the cost by itself, dated when Shopify fulfilled it. The note under the order's status says whether that will happen, or why to use Record cost now instead. The order's badge shows its cost state, such as Cost not recorded or Cost recorded, and a pill beside it shows Shopify's own status, for example 'Shopify: Paid · Unfulfilled'. 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.

In-person and pickup sales

A sale handed over at a market or picked up from you is fulfilled the same way. Use the day the buyer took the goods as the ship date. Trackost has no separate pickup status.

Who sees the profit

A team member without money access can fulfill an order. Their message reads 'Order fulfilled' and 'COGS snapshotted, fees allocated.', with no profit figure, and the order's page doesn't show them the money cards.