How does Jogan work out what a product costs?

Jogan keeps one running weighted-average cost per item. Every stock-in at a price re-averages it, a recipe's cost is the sum of its components at their current averages, and production adds the finished good at that rolled-up cost.

2 min readUpdated Markdown

Jogan uses weighted-average costing. Each item carries a single number, its current cost per unit, that blends everything you currently hold at the prices you actually paid. You never type it; it moves on its own as stock moves.

Stock-ins re-average the cost

When you record a purchase, an opening balance, a return or an adjustment-in, you enter what you paid per unit. Jogan blends it with what is already in stock:

Example. You hold 20 kg of flour at $2.50/kg. You buy 30 kg at $3.00/kg. Your new average is (20 × 2.50 + 30 × 3.00) ÷ 50 = $2.80/kg. Every recipe that uses flour now costs a little more, immediately.

If you leave the unit cost blank on a stock-in, Jogan uses the item's current cost, so the average does not move.

Stock-outs are costed at the average

Sales, production consumption, waste, damage, expiry write-offs and adjustments-out all leave stock at the item's average cost at that moment. The movement records that cost, which is what makes the profit report possible later. See How profit is calculated.

Recipes price themselves

A recipe lists the components for one batch and how many units the batch makes. Its material cost is the sum of each component's quantity times that component's current average cost, and cost per unit is that total divided by the units per batch. The Recipes page shows both, and they update whenever an ingredient's average changes. See How to set up a recipe.

Production rolls the cost into the finished good

When you run production, each component leaves stock at its average cost, and the finished item enters stock at the total material cost divided by the quantity produced. That stock-in re-averages the finished item's cost exactly like a purchase would. See How to run production.

Why weighted average, and not the price of each batch?

One number per item is deliberately simple. It smooths price swings, needs no per-batch cost audit trail, and matches how most small producers think about "what this costs me now". Batches in Jogan exist for expiry and traceability, never for costing. See How expiry tracking works.

Things that affect accuracy

  • Enter the unit cost on every purchase. A blank cost keeps the old average; a wrong cost skews it.
  • Use consistent units. If flour is stocked in kilograms, recipe quantities for flour must be in kilograms too.
  • Set a starting cost on new items. When you create an item you can give it a cost price; your first stock-in will then blend against something sensible.

Did this not answer it? Use the chat bubble in the corner and a person will reply. If you are inside your workspace, the book icon in the top bar opens a short guide for the page you are on.