Job Costing Basics: Know What Each Job Really Costs You

You wrapped up a kitchen fit-out, sent the invoice, got paid, and felt good about it. But did that job actually make you money? Job costing basics are about answering that one question for every job you do: what did this job truly cost me in labour, materials, and overhead, versus what I charged for it. The gap between those two numbers is your real margin, and most tradespeople are guessing at it.

Guessing is expensive. A job can look profitable on the invoice and quietly lose money once you count the real cost of your time, the materials you under-quoted, and the slice of overhead every job has to carry. This guide walks you through the components of job cost, how to track time and costs against a single job, how to compare your estimate against the actual, and how to spot the jobs that bleed cash so you price the next one properly.

What "job cost" actually means

Job cost is the total of everything it took to complete one specific job. Your price is what the client pays. The difference is your profit on that job. Simple in theory, but the cost side has four parts that people routinely miss or underestimate.

1. Direct labour at your real loaded rate

This is the big one, and it is where most undercosting happens. The hours you spend on a job are not free, and your real cost per hour is higher than the wage figure in your head. If you pay yourself or a worker GBP 18 an hour, the true loaded cost is more like GBP 24-28 once you add the time you cannot bill: travel between sites, quoting, buying materials, paperwork, and the days you are sick or on holiday. Bill 1,200 hours a year out of 2,000 paid hours and your loaded rate jumps by roughly 40% over the raw wage.

The fix is to track every hour against the job, then cost it at a rate that reflects reality. If you have not worked out that number yet, our guide on how to set your hourly rate shows you how to build it up from the ground.

2. Materials

Every fixing, board, litre of paint, and length of cable that went into the job. Easy to track when you buy a single big order, easy to lose track of when you make three top-up runs to the merchant. Materials are also where estimates slip: you priced the job off a six-month-old supplier list and copper has moved 12% since.

3. Subcontractors

If you brought in a sparky for a day or a plasterer to finish a wall, their invoice is part of your job cost. Whatever you pay them comes off your margin unless you marked it up when you quoted. A lot of profit disappears here because the sub's day rate gets forgotten when the owner looks at the headline invoice total.

4. Overhead allocation

Overhead is everything you spend to be in business that is not tied to one specific job: van lease and fuel, insurance, tools, phone, software, accountant, advertising. Every job has to carry a share of it, or your "profit" is just overhead you have not paid yet. A rough way to allocate it: take your annual overhead, divide by your billable hours, and add that per-hour figure to your loaded labour rate. If you run EUR 14,000 of overhead a year and bill 1,300 hours, that is roughly EUR 11 of overhead per billable hour.

A worked example: the job that looked profitable

Here is a bathroom refit that felt like a winner. You quoted a fixed price of GBP 4,200 and the client paid in full and on time. On the invoice it looked great. Now let us cost it properly.

  • Your labour: 78 hours tracked on the job. At a loaded rate of GBP 26/hr, that is GBP 2,028. (At the GBP 18 wage you carry in your head it would only read GBP 1,404, which is the trap.)
  • Materials: tiles, suite, fittings, adhesive, sundries: GBP 1,180. You estimated GBP 950, so you are GBP 230 over.
  • Subcontractor: one day of plastering at GBP 220.
  • Overhead: 78 hours at GBP 9/hr allocated overhead = GBP 702.

Total job cost: 2,028 + 1,180 + 220 + 702 = GBP 4,130. Against a price of GBP 4,200, your actual profit is GBP 70. A 1.7% margin on a job you thought was a solid earner. If those tiles had come in GBP 230 over and you had not noticed, or the job had run two more hours, you would have done a fortnight's work for free or at a loss.

The point is not that the job was a disaster. The point is that nothing on the invoice told you the truth. Only costing it did.

How to track time and costs against one job

You cannot cost a job you did not measure. The whole exercise depends on capturing the hours and the spend against the right job while you work, not reconstructing it from memory weeks later. This is where Billr's projects do the heavy lifting.

  • Set up the job as a project. Create a project for the job, link it to the client, and fill in the budget estimate and time estimate fields. Those two numbers are your plan: what you think the job should cost in money and in hours.
  • Track every hour against it. Use the one-tap timer and pick the project before you start, or log it manually after the fact. Each entry snapshots the hourly rate applied at that moment, so your costed hours never silently change later. Track travel and material runs too, even if you do not bill them, so you see the true time the job ate.
  • Capture materials and subs as line items. Build the things you bill from your service-item catalog so a tile order or a plastering day is a saved item you drop in rather than retype. Your invoice then reflects what really went into the job.
  • Watch it build in real time. The project view shows a time-tracked progress bar against your time estimate and earnings versus budget with a percentage, so you can see a job creeping toward its limit before it blows through.

One honest caveat: Billr is not a full accounting package. It will not keep a general expense ledger or reconcile your bank feed. What it does brilliantly is job-level costing from the two things that matter most for margin: your tracked time at the rate you applied, and the amounts you invoiced. For the kind of per-job costing in this guide, that is exactly the data you need.

Estimated cost vs actual: closing the loop

The number that makes you a better estimator is the gap between what you thought a job would cost and what it actually cost. Costing without that comparison is just bookkeeping. Costing with it is a feedback loop that sharpens every future quote.

For each finished job, line up four figures: estimated hours vs actual hours, and estimated cost vs actual cost. In Billr the project already holds your time estimate and budget, and it accumulates the real tracked hours and earnings against them, so the comparison is sitting there for you.

  • Hours over estimate? Either you are pricing the time too tight or the work scope crept. Both are fixable once you can see them.
  • Materials over budget? Your supplier prices are stale, or you are forgetting sundries that add up. Pad the next estimate.
  • Margin thinner than you expected? The price was too low for the real loaded cost. Now you know your floor for that type of job.

Spotting jobs that quietly lose money

The dangerous jobs are not the obvious disasters. They are the ones that pay on time and feel fine but earn you almost nothing per hour. Patterns to watch for across your jobs:

  • The "favour" job for a regular client where you never tightened the price and the hours keep growing.
  • The fixed-price job that ran 30% over on hours because the estimate was a guess, not a costed number.
  • The small callout where travel and setup eat the whole fee. A EUR 90 callout that costs you 90 minutes of driving plus 30 minutes of work is barely break-even.
  • The materials-heavy job where you passed materials on at cost and forgot that buying, collecting, and storing them is unpaid labour.

Run the earnings and work reports by client and by period and the weak spots show up fast: clients who soak up hours for little return, periods where you were busy but broke. That is the data that tells you which work to chase more of and which to reprice or drop.

Using the numbers to price the next job

Job costing only pays off if it changes what you do next. Once you have costed a handful of similar jobs, you stop quoting from gut feel and start quoting from evidence.

  1. Find your real cost floor. Average the actual loaded cost of the last few jobs of a given type. That is the number you must clear before you make a penny.
  2. Add your target margin. Decide the profit you want on top, in percentage terms, and build the quote up from cost rather than guessing a round number.
  3. Adjust for the client and the risk. Awkward access, a fussy client, or a vague scope all cost hours. Price them in instead of absorbing them.
  4. Quote, then re-cost. When the job is done, cost it again and check the gap. Over a few rounds your estimates and your actuals start to converge, and that is when pricing stops being stressful.

FAQ

What is the difference between job costing and accounting?

Accounting tracks the whole business: every expense, tax, and bank transaction. Job costing zooms in on a single job to ask whether that one piece of work made money. You can do useful job costing from tracked time and invoiced amounts without running full books, which is the approach Billr supports.

What loaded rate should I use to cost my labour?

Start from your raw wage, then add the unbillable time (travel, quoting, admin, holidays, sick days) and a share of overhead. Most solo trades land 40-60% above their raw wage. Working out that figure once and applying it to every job is the single biggest fix for undercosting.

Can Billr track my expenses for job costing?

Billr is not a full accounting or expense-ledger tool, so it will not reconcile bank feeds or store every receipt. It does job-level costing from your tracked time at the rate applied and the amounts you invoice, plus a service-item catalog for materials and services. For per-job margin, that covers what you need.

How do I allocate overhead to a single job?

Take your total annual overhead, divide it by the hours you actually bill in a year, and add that per-hour figure to your labour rate. Then every hour you track against a job carries its fair share of running the business.

How often should I cost my jobs?

Cost every job at the point you finish and invoice it, while the details are fresh, and review the patterns monthly using your reports. Little and often beats a once-a-year panic when the accounts come due.

Key takeaways

  • Job cost = direct labour at your loaded rate + materials + subcontractors + a share of overhead. Your price minus that is real margin.
  • Cost your labour at a loaded rate (often 40-60% above raw wage), not the bare hourly figure in your head.
  • Track hours and material line items against the job as you work, using a project with a budget and time estimate.
  • Compare estimated vs actual on every job to sharpen your next quote and spot jobs that quietly lose money.
  • Billr does job-level costing from tracked time and invoiced amounts, not full bookkeeping, which is exactly what per-job margin needs.

Stop guessing whether your jobs make money. Set each one up as a project with a budget and a time estimate, track every hour against it, and let the earnings-versus-budget view show you the truth before the job is done. See how projects and job costing work in Billr and price your next job from evidence, not hope.

Ready to try Billr?

Create a free account and send your first invoice in 60 seconds.

Create your first invoice