Costing troubleshooting
Where to start when a cost looks wrong: a $0.00 unit cost, zero COGS, a recipe that disagrees with its batch, a cost that jumped, or stock below zero.
The short answer
- Costs move only through purchases, completed batches, adjustments with a cost basis, vendor credits and restocked returns, through a sale or a batch that costs a product from its recipe, and through a canceled batch putting back a product it used. You can't type a unit cost, so nothing on this page is fixed by typing one.
- A fulfilled order keeps the COGS it got when you fulfilled it. Fixing the cause changes what comes after, never a sale already recorded.
Start here: which number looks wrong?
- A material's Unit cost reads $0.00: A material shows $0.00 unit cost.
- An order's COGS reads $0.00: COGS is zero on a fulfilled order.
- A recipe's Unit cost (incl. labor) differs from a batch's Unit cost: The recipe cost and the batch cost differ.
- A material's Unit cost moved a lot after a purchase: The unit cost jumped after a purchase.
- An on-hand count is below zero: Stock went negative.
- A batch or a sale landed on the wrong day: I logged a batch or sale on the wrong date.
- Unit cost on Products and Full cost on Pricing disagree: The two cost columns on Products and Pricing differ.
A material shows $0.00 unit cost
A material's Unit cost on Materials (Unit cost (WAC) on the material's own page) is the weighted average of what you paid for the stock you hold. $0.00 means no cost has reached it yet. Either you haven't recorded a purchase or opening stock for it, or the only one you recorded had a total of $0.00.
A tool is the other case. A material added with Track as inventory (uncheck for tools / equipment) unchecked is a tool. Its purchases are booked as overhead instead of stock value, a vendor credit on it comes off your overhead, and its opening stock and its adjustments change only its count, so none of these changes its unit cost. A tool always stays at $0.00. Whether a material is a tool can't be changed after it is created.
To fix it, open the material and use Record purchase with what you paid. If a purchase went in with the wrong total, reverse it the way The unit cost jumped after a purchase describes. A tool needs no fix. Why did my unit cost change after a purchase? lists every way a cost ends up at $0.00.
COGS is zero on a fulfilled order
When you fulfill an order, Trackost sets each line's COGS to the quantity times the variation's weighted-average cost as shown, to the cent, at that moment, and freezes it. A variation with no stock and no cost from real stock is costed from its recipe instead. $0.00 means neither gave a cost. Either the variation had no completed batch, no other cost basis and no recipe, or its stock or its recipe cost $0.00 because the materials had no purchase cost (see A material shows $0.00 unit cost). Fulfilling such an order shows 'Recorded with no cost' with the reason. Before you fulfill, the order's cards say the line has no cost yet, which is the moment to fix it.
A line that isn't matched to a product has no COGS at all, and it keeps the order Open. Selling more than you have does not cause a $0.00 COGS, because that sale is costed at the current weighted-average cost, or from the recipe (see Stock went negative).
The $0.00 already recorded stays, because Trackost never re-costs a fulfilled order (About COGS snapshots and true profit explains the snapshot). To fix the cause, record the missing material purchases, build the product's recipe if it has none, then log the missing batch. Batches made after that use the materials' new costs.
Two things carry the old $0.00 forward. If you sold the product before any batch, cost basis or recipe gave it a cost, its count went below zero, and the batch or cost basis that fills the gap also settles that cost (see Stock went negative). If a batch used material you never recorded buying, that material went below zero too. The purchase you record afterwards fills its gap and charges its whole cost to what's left, so the material and the next batches read above what you paid until that stock is used, and they blend with any $0.00 units still in stock. The first sales are costed too low and the later ones too high, but across them the product's cost adds up to what you spent. Don't also correct the product with Adjust, or the material cost counts twice.
To find the sales that went out at $0.00, open Reports › Orders Margin, choose All time, and look for fulfilled orders whose COGS is $0.00. An order that has not shipped isn't listed there. An order that also sold costed products adds their COGS to its row, so also search Orders for the product, open each fulfilled order and read the COGS column of its lines. Why is COGS zero on a sale? walks through each check and fix.
The recipe cost and the batch cost differ
They measure two different moments. The recipe's Unit cost (incl. labor) is what one unit costs to make today: its materials at their current weighted-average cost, waste included, plus labor, divided by the yield. A batch's Unit cost is the same sum, frozen when the batch started. A purchase since then moves the recipe, never the batch. Editing the recipe or changing your labor rate doesn't change a batch either.
Overhead is the other difference. On the recipe, the flat overhead appears only on the With overhead: line of its live cost, and no batch includes it.
A product used inside another recipe is costed at its own weighted-average cost while it has stock, not at the cost of its recipe.
Usually there is nothing to fix. The batch shows what the stock you made cost you. The recipe shows what the next batch would cost at today's prices. Why does my recipe cost differ from my batch cost? covers every cause.
The unit cost jumped after a purchase
A material's Unit cost is a moving weighted average, so every purchase pulls it toward the price of the new stock, except on a tool, whose unit cost doesn't change. A big move usually comes from the purchase itself:
- the total was typed wrong, for example a price per unit entered as the total, or the reverse;
- the quantity went in with the wrong unit, kilograms as grams or the reverse;
- shipping and tax on a purchase order were spread into the cost of its lines. That case is correct, because it is what the material cost you to get.
To find the purchase that moved it, open the material and read the WAC after column in its Purchase history. The row where the cost jumps is the purchase that moved it. Why did my unit cost change after a purchase? walks through each cause, with pictures.
A purchase can't be edited or deleted once it has added stock. To reverse one, open the material and use Record vendor credit with the same amount, then record the purchase again with the right figures.
Enter the credit's quantity in the unit the material's stock is counted in, which is not always the unit you buy in. Quantity received and Purchase history use the unit you buy in. Quantity returned uses the counting unit, the one in the line under it that ends 'on hand — returning more is rejected with no change.' To convert, multiply the purchase quantity by the material's Tracking units per purchase unit from its edit form. A wax bought as 2 kg and counted in grams is a credit of 2000.
If nothing has been used from this material, or adjusted out of it, since that purchase, the credit takes out exactly what the purchase put in. The cost becomes what it would have been without that purchase. If you had none of the material before it, the cost reads $0.00 until you record the purchase again, which then sets it right.
If some of the material has been used since, a credit for the full amount no longer reverses the purchase cleanly. What was used left at the averaged cost, which already included part of the wrong purchase, so the credit leaves the unit cost wrong: too high if the purchase was entered below its real price, too low if it was entered above it, and possibly below zero. A credit for more than you have left is refused with 'You can't return more than is on hand.' Correct the stock that is left on Inventory instead. Use Adjust with the reason Correction to take all of it out, then Adjust again to add the same quantity back with a Cost basis of what that stock really cost.
Past batches and sales keep the costs they were given. The corrected cost applies from now on.
Stock went negative
Trackost never stops a batch or a sale because stock is short. The count goes below zero and Trackost tells you:
- A batch that uses more of a material than you have takes that material below zero. Starting the batch shows 'Stock went negative'; Make it now shows 'Completed with warnings'.
- Selling more of a product than you made takes that product below zero. The order shows 'Untracked production', and its line carries a Negative stock badge.
Running short doesn't make anything cost $0.00. The batch used each material at its current weighted-average cost, which is $0.00 only for a material that never had a cost. The sale was costed at the product's current weighted-average cost, or from its recipe when the product had no cost from real stock.
To fix it, bring the count back above zero. For a material, record a purchase of more than the shortfall. Recording a purchase needs money access. Without it, ask a team member who has it to record the purchase. For a product, log a batch that makes more than the shortfall. Trackost refuses a purchase or a batch that would leave the count at zero or below. A purchase refused this way names the material, for example 'A purchase has to bring the count above zero, and this one would leave Soy Wax (GW464) at zero or below. Record more than the shortfall, or correct the count first.' A tool's purchase is never refused this way: it adds only to the count. A batch refused this way says so, for example 'This batch doesn't cover what you've already sold. You've sold 5 more than you've made, so add more than 5 in one go.'
The purchase or batch that fills the gap also settles the cost. The units that went below zero were already used or sold at the old cost, so the difference between that cost and the new one is charged to the units left over. For example, 5 candles sold before they had any stock, cost or recipe, at a cost of $0.00, followed by a batch of 10 at $3.00 each, leaves 5 candles at $6.00 each. When those sell, their COGS is $30.00 for candles that cost $15.00. The total is right across the two sales, but the missing cost lands in the later sale's period. The COGS already recorded on the first sale stays as it was. Sales costed from the recipe already carried a cost, so the batch then settles only the difference between the recipe's cost and the batch's.
If the count doesn't match your shelf, count the shelf and correct the number with Adjust on Inventory. Negative stock troubleshooting covers each warning and each fix.
I logged a batch or sale on the wrong date
Only some records take a date you choose: a purchase, a purchase order's Received date, a vendor credit's Credit date, an order's Order date, and the ship date you pick beside Fulfill & mark shipped. Make it now, starting or completing a batch, and every adjustment are dated the moment you do them.
Nothing can be moved to another day afterwards. A completed batch can't be canceled or re-dated, and an order can't be edited, canceled or deleted once it is recorded.
For a sale with the wrong ship date, record a return of every unit with restock on and the full refund, then record the order again with the right dates and fulfill it on the right day. Recording a return and creating an order need money access. Without it, ask a team member who has it to make the correction. The return is dated the day you record it, so the report for the wrong period still shows the original sale, and the current period shows the return. The return puts the units back at the first sale's cost, blended into the weighted-average cost. The new sale is costed at that average when you fulfill it again. It books the first sale's cost again only if the rest of your stock cost the same, or none was left.
A batch dated the wrong day can't be fixed afterwards, so record batches on the day you make them.
The two cost columns on Products and Pricing differ
Unit cost on Products and Full cost on Pricing are two different numbers by design.
- Unit cost on Products is what the stock you hold cost you: its weighted-average cost, set by your completed batches and by adjustments with a cost basis. A product sold with no stock and no cost from real stock gets its cost here from that sale instead, taken from its recipe's cost (exactly that figure when nothing was on hand). Before that sale, Products already shows that recipe cost, marked From recipe. A product used in another product's batch while its count is zero or below gets its cost from that batch the same way, even when its old cost came from real stock.
- Full cost on Pricing is what one unit costs to make now, for a product with a recipe: its materials at today's costs, plus labor, plus the recipe's flat overhead. For a product without a recipe, it is the weighted-average cost.
Pricing compares your price with Full cost, because that is what the next one will cost you. About full cost vs unit cost works through both on the sample candle.