Skip to content

How Costing Works

From purchase to recipe to production to profit — one costing chain

Back to Concepts

Cost flows through your business the way materials do

Ardent Seller tracks cost the same way it tracks stock: it follows the materials. Purchases give raw materials a unit cost, recipes add those costs up (plus labor), production runs move the total into your finished output, and each sale records its profit against what the sold item actually cost you at that moment. Every link in that chain uses one method — the weighted average — so you never have to pick lots or track batches to know what your work costs.

Weighted-average costing, everywhere

An item's cost per unit is always its total completed cost divided by its total quantity at the current location. Each new purchase re-blends the average: buy 10 jars at $2.00 each and the average is $2.00; later buy 10 more at $3.00 and you now hold 20 jars at an average of $2.50. There is no FIFO, no LIFO, and no "last cost wins" — just one honest blended number per item, per location.

Only Completed transactions enter the average, for the same reason only completed transactions move stock — see How Stock Moves.

Purchases set unit cost

On a purchase line you record the package cost and how many packages you bought — the line's total cost is package cost times package quantity, and the cost per unit follows from how many units each package contains. Buy three 5 kg bags of beeswax at $40.00 a bag and Ardent Seller knows your beeswax cost $8.00 per kilogram.

Purchase-level charges like shipping and tax can be allocated across the lines as a portion of the purchase cost, so each item's unit cost reflects its true landed cost — what it really cost to get that material onto your shelf, not just the sticker price.

Recipes roll up ingredient and labor costs

A recipe (Create → Recipes) prices a batch by adding up its parts. Each ingredient line contributes its quantity times its current average cost, with units converted automatically — buy olive oil by the liter and use it by the gram and the conversion (including density) is handled for you.

Recipe steps with a duration add labor cost, priced through your labor items' time-based rates. Each step scales one of two ways when you make a bigger batch: linear steps (mixing, pouring) cost proportionally more, while fixed steps cost the same regardless of batch size — a 20-minute oven preheat costs once whether you bake one tray or five.

Production moves cost into finished output

Completing a production run turns the recipe's math into real transactions: a consumption transaction deducts each ingredient at its current average cost (scaled to your batch size), and the output transaction adds the finished items carrying the full consumed cost — ingredients plus labor. Cost isn't created or lost in production; it moves from your materials into your finished output, and the output's own average cost updates accordingly.

Nothing is consumed or added until the run is marked Completed.

COGS and margin on a sale

When you sell an item, the sale records your price — but your cost of goods sold is the item's average cost at the moment of sale, and your margin is simply price minus that average cost. If your candles average $4.20 to make and you sell one for $12.00, the sale's margin is $7.80 — even if the very first candle you ever made cost more.

This is why margins can drift as material prices change: every purchase re-blends the average that future sales are costed against. The Pricing Health report and the Smart Pricing Advisor watch exactly this — whether your prices still clear your current costs.

Opening balances seed the starting average

When you bring existing stock into Ardent Seller — including via a CSV import with Quantity and UnitCost columns — the app records an initial transaction that sets both the starting quantity and the starting average cost. A wrong opening UnitCost therefore skews everything downstream: recipe costs, production output costs, and the margin on every sale until enough new purchases dilute it.

The fix is to correct the source, not the symptom: open the item's initial transaction and fix its unit cost. The average recomputes from the transaction history, and everything costed after that point follows. The same applies to a mistyped cost on an early purchase — see Troubleshooting under "sale shows wrong profit."

Related articles