Hando
← All resources

Finance · Guide · 6 min read

Job costing and gross profit for trades

How to calculate real GP per job, why a 40% markup is not a 40% margin, and the deposit trap that makes profitable jobs look like losses.

01The only formula you need

Gross profit = revenue ex GST − direct costs (subcontractors, labour, materials, approved variations). GP % = gross profit ÷ revenue ex GST.

Always work ex GST. GST isn't your money — including it inflates both sides and makes every percentage wrong.

02Markup is not margin

Illustrative example: a subcontractor quotes $6,000. You add a 40% markup and quote the client $8,400 ex GST. Your gross profit is $2,400 — which is 28.6% of revenue, not 40%.

To earn a 40% margin, the cost must be 60% of the price: $6,000 ÷ 0.60 = $10,000 ex GST. Decide which number you're targeting, and label it clearly on every quote tool you use.

03The deposit trap

Many job-management systems record a deposit or progress invoice as a negative line on the job, so the job total starts showing the remaining balance instead of the contract value.

Illustrative example: a $10,000 ex GST job with a $3,000 deposit invoiced shows a job total of $7,000. Against $6,000 of subcontractor cost, GP reads 14% — the real figure is 40%. Rebuild revenue from the line items and add deposits back — but keep genuine discounts and credits as reductions.

04Attribute to the right month

Count a job's profit in the month it's completed where you can, and fall back to the month it was awarded for jobs still in flight. Pick a rule, write it down, and apply it the same way every month so the trend means something.

05Review weekly, not quarterly

  • List every job completed this week with revenue, cost and GP %.
  • Flag anything under your floor and write one line on why.
  • Look for patterns — the same subbie, the same job type, the same estimator.
  • If the numbers look strange, check the books are up to date before drawing conclusions.