Costs & ROI

How do I know if I am actually making money on each job?

Mitchell Cross
By Mitchell CrossFounder, TradieBuddy AI · 04/09/2026 · 10 min read
An Australian tradesperson sitting at a kitchen table with a coffee mug, looking out the window in morning light

Track every cost against every job: materials, your own hours, any subbies, fuel, and a share of your fixed overheads (insurance, rego, tools, phone). Subtract the total from what you invoiced. The gap is your real margin on that job, not the margin you guessed when you quoted it.

Key takeaways

  • Revenue is not profit. A $5,000 invoice can leave you with less than minimum wage once materials, labour, travel and overheads are counted.
  • The minimum tracking set is materials, labour hours (yours and any subbies), travel, and a weekly overhead figure divided across your jobs.
  • Australian trade businesses average a net profit margin of roughly 5% to 15% (ABS and industry benchmarks, directional). If your jobs consistently sit below that, pricing or scope creep is the likely cause.
  • Your job management app (ServiceM8, Tradify, simPRO, Fergus, AroFlo, Buildxact) can track costs per job. The data is already half there: timesheets, purchase orders, and supplier invoices.

Track every cost against every job: materials, your own hours, any subbies, fuel, and a share of your fixed overheads (insurance, rego, tools, phone). Subtract the total from what you invoiced. The gap is your real margin on that job, not the margin you guessed when you quoted it.

Updated 04/09/2026

Why do most tradies not know their real margin?

An Australian tradesperson reviewing job costs at a kitchen bench
Knowing your per-job margin starts with tracking costs that most tradies carry in their head.

Because the number in the invoice is not the number in the bank. A $5,000 job can feel profitable on the day you send the invoice, but once you subtract materials, your own time, fuel, a share of your insurance, rego and phone, and the hour you spent quoting it, the real margin might sit at $400. That is less than minimum wage for the hours you put in.

Most tradies price from gut feel or from what the last bloke charged. That works when costs are stable and every job runs to plan. It falls apart when:

  • Materials spike. Timber, copper, and concrete have all moved sharply in the last few years. If your quote is based on last year's prices, the margin evaporates before you finish.
  • Scope creep goes unrecorded. The customer asks for "one more thing" and you say yes without a variation. By the end, you have done 30% more work (illustrative) for the same price.
  • Travel and setup are invisible. Two hours of driving and half an hour of unloading are real costs. If they are not in the quote, they come straight off your margin.
  • Overheads are ignored. Insurance, vehicle costs, tools, phone, accounting, training: these run whether you are on a job or not. If you do not allocate a share to each job, every job looks more profitable than it is.

The pattern is common across trades: revenue comes in, bills go out, and the gap between them is a guess. Without a per-job cost breakdown, every profitable month could be masking two or three jobs that lost money.

What costs should I track on every single job?

The Australian Government's business.gov.au advice is straightforward: good records help you "keep track of your business's health, so you can make good business decisions." For a trade business, that means tracking five cost buckets against every job. Miss any one and your margin is higher on paper than in reality.

Cost bucketWhat to captureWhere it usually lives
Materials
Every purchase order, supplier invoice, and delivery charge against this job
Supplier invoices, your job management app's PO field
Labour (yours)
Hours you worked on this job, at your true hourly cost (not your charge-out rate, your cost rate including super and leave)
Timesheets in ServiceM8, Tradify, simPRO, AroFlo, Fergus, or Buildxact
Labour (subbies)
Every subcontractor invoice for work on this job
Subbie invoices coded to the job
Travel and fuel
Kilometres driven, fuel, tolls, parking, and vehicle wear for this job
Logbook or GPS tracking (some apps have this built in)
Overhead share
A per-job slice of your fixed weekly costs: insurance, vehicle rego and finance, phone, software, tools, accounting, training
Set the weekly figure once, divide by your average jobs per week

If you employ staff, add the employer superannuation rate of 12% of ordinary time earnings (ATO, current rate from 01/07/2025) and workers compensation premiums range from roughly 2% to 8% of wages depending on trade and state (Safe Work Australia, directional). These are real costs on every hour your team works.

How do I calculate my real hourly cost?

Timber framing materials on an Australian building site
Materials are the cost you can see. The margin killer is the cost you cannot: your own unbilled hours.

Your charge-out rate is what the customer pays. Your cost rate is what each hour actually costs you before profit. They are not the same number.

  1. Total your annual fixed costs. Insurance (public liability, professional indemnity, tool and vehicle), vehicle rego and finance, phone and internet, software subscriptions, accounting, training, licence renewals, tool replacement. For most sole traders this sits between $25,000 and $55,000 a year (varies by trade, vehicle ownership, and insurance class).
  2. Count your real billable hours. Not 52 weeks times 40 hours. Subtract holidays, sick days, rain days, admin days, quoting time, travel time, and materials runs. Most tradies land between 1,200 and 1,600 billable hours a year (directional, based on 46 to 48 working weeks with 25 to 35 billable hours per week).
  3. Divide. If your fixed costs are $40,000 (illustrative) and you bill 1,400 hours (illustrative), your overhead cost is about $28.50 per hour (illustrative, $40,000 divided by 1,400). Add your target hourly wage on top. That total is your break-even rate, the floor below which you are paying to work.
  4. Add a margin. A healthy trade business targets 5% to 15% net margin on top of break-even. Australian trade businesses average a net profit margin of roughly 5% to 15% (ABS and industry benchmarks, directional). If your jobs consistently sit below that, pricing or scope management needs a review.

What does a per-job profit tracker look like?

It does not need to be complicated. Here is an illustrative example for a single job (all figures are assumptions for illustration):

LineExample (illustrative)
Invoice total$4,800 (illustrative)
Less materials$1,600 (illustrative)
Less labour (you, 14 hrs at $45 cost rate, illustrative)$630 (illustrative, 14 x $45)
Less subbie (tiler, half day)$480 (illustrative)
Less travel (60 km return, 3 trips, illustrative)$162 (illustrative)
Less overhead share (weekly $800 / 4 jobs, illustrative)$200 (illustrative, $800 / 4)
Net margin$1,728 (36%, illustrative, $4,800 minus all costs)

That example looks healthy. But change one variable, say the job took 22 hours instead of 14 (illustrative) because of a rework, and the margin drops to $1,368 (28%, illustrative). Add a materials price increase you did not re-quote and it drops further. The tracker makes those shifts visible before they compound across a full week of jobs. For a related challenge, see our guide on dealing with callbacks and warranty jobs without eroding your margins.

Can my job management app do this for me?

A plain white trade ute in an Australian suburban driveway at dawn
The tools are already in your stack. The gap is usually the overhead allocation you set once.

Yes, and most of the data is already half-entered. If you use job management software (ServiceM8, Tradify, simPRO, AroFlo, Fergus, or Buildxact), the pieces are there:

  • Timesheets. Log start and finish times against each job. Most apps have a one-tap timer.
  • Purchase orders. Raise POs in the app so material costs link to the job automatically.
  • Subbie invoices. Code each subcontractor invoice to the job it belongs to.
  • Overhead allocation. Set your weekly overhead figure once in your job costing settings. The app divides it across jobs for you.

The app then gives you a per-job margin report. You can see which jobs made money, which ones bled, and where the pattern sits. For tips on quoting jobs so the margin is baked in from the start, see our guide to quoting jobs faster.

What are the warning signs that a job lost money?

You do not always need a spreadsheet to spot the pattern. These are the flags:

  • You quoted a day and it took two. If your time estimate was wrong, the labour cost doubled and the margin halved. Track actual hours against quoted hours for a month, and the pattern shows itself.
  • You ate a variation. The customer asked for extra work, you did it without a written variation, and now you cannot invoice it without a dispute. For more on managing scope changes, see our guide to deposits and payment terms.
  • Materials cost more than you quoted. If you quoted in March and bought in May, the price may have moved. Always requote materials if more than 30 days have passed.
  • You drove 90 minutes each way. Travel is a real cost. If the job is remote, the travel charge needs to be in the quote, not absorbed.
  • You are busy but broke. The clearest sign. A full schedule and a thin bank balance means revenue is high but margin is low. Per-job tracking finds where it is leaking.

How do I fix a pattern of low-margin jobs?

Once you can see the numbers, the fixes are usually straightforward:

  1. Requote your hourly rate. If your break-even calculation shows you need $75 per hour (illustrative) and you are charging $60 (illustrative), the margin is negative before you pick up a tool. Adjust the rate.
  2. Write every variation. A one-line text ("Hi [name], that extra power point is $X on top of the quote, OK to proceed?") protects the margin and the relationship. For a structured approach, see our quoting guide.
  3. Price materials at today's cost. Do not carry over last quarter's prices. Get a fresh supplier quote for every job over $2,000 in materials (directional threshold).
  4. Charge for travel. If the site is more than 30 minutes from your base, a travel charge is standard and expected. Customers understand fuel costs.
  5. Review weekly, not yearly. A five-minute check each Friday, total invoiced minus total costs, shows the trend before it compounds into a bad quarter.

What if I want someone to audit my margins for me?

If reading this raised more questions than it answered, a 15-minute discovery call with us will map out exactly where your margins sit and where they are leaking. We look at your quoting, your job costing, your overheads, and your admin time, and show you the gaps in plain numbers.

Book a free 15-minute discovery call

Common questions

What costs should I track on every job?

At minimum: materials (including delivery), your own labour hours at your true hourly cost, any subcontractor invoices, fuel and travel, equipment hire, and a share of your fixed weekly overheads (insurance, vehicle, phone, subscriptions, tool replacement). Leave any of these out and your margin is higher on paper than in your bank account.

How do I work out my real hourly rate?

Add up every fixed cost you pay in a year (insurance, rego, phone, subscriptions, accounting fees, tool replacement, training). Divide that by the number of billable hours you actually work, not the hours you are awake, but the hours you spend on jobs. Add your target wage on top. That total is your break-even hourly rate before any profit margin.

What profit margin should a tradie aim for?

Australian trade businesses typically sit between 8% and 15% net margin (ABS and industry benchmarks, directional). Some trades run higher, some lower, depending on material intensity and competition. If you are consistently below 5%, your pricing, quoting, or scope management needs a review.

Can my job management app track this automatically?

Most apps (ServiceM8, Tradify, simPRO, AroFlo, Fergus, Buildxact) have per-job costing fields. If you log timesheets and purchase orders against each job, the app calculates margin for you. The gap is usually the overhead allocation, which you set once and it applies across every job.

What is the biggest hidden cost tradies miss?

Your own unbilled time: quoting, driving between jobs, buying materials, chasing invoices, doing admin at night. If you quote four hours of labour but the job takes six including travel and setup, two hours of your time went unpaid. That is the margin killer most tradies do not see until they track it.

Mitchell Cross

Written by

Mitchell Cross

Founder, TradieBuddy AI

Mitchell Cross is the founder of TradieBuddy AI. He identifies the pain points and bottlenecks holding Australian trade businesses back and fixes them, improving profitability, efficiency and scalability. He builds the automations and systems that cut admin, capture missed leads, and connect a business's tools into one place, and writes these guides to share what actually moves the needle for tradies.

More from Mitchell Cross →

See what your business is really leaking

It starts with a free 15-minute discovery call with an Australian-based AI specialist. We map where the money is going and whether a forensic audit is the right next step.

Book a free discovery call →