100% FREE · NO SIGNUP · RUNS IN YOUR BROWSER

Which Of Your Jobs Actually Made Money?

You know what you invoiced. Job costing tells you what you kept. Put a finished job in, get gross profit, margin, dollars per labor hour, and how far off your estimate was.

STEP 1

Your shop's two numbers

Every job below gets measured against these. Set them once.

What an hour of crew really costs you, not the wage
The margin you are aiming at on this kind of work
Your gut number. We will check it against the jobs
Default for new jobs. 2.9% is typical on card in 2026
Use the burdened rate, not the wage. A $28/hr helper does not cost you $28. Payroll taxes, workers comp, liability, the truck, the phone and paid time off all ride on top, and none of it is billable. Cost your labor at the wage and every job on this page reads 15 to 30 points better than it is. The employee cost calculator works out your real number in about two minutes. Bring it back here.
STEP 2

Your finished jobs

The autopsy, not the receipt pile. Add a job after it is done and paid.

No jobs yet.Add one you just finished, or load the sample data to see what five jobs from a plumbing shop look like when you put real costs against them. One of the five lost money and it is not the one you would guess.
Saved only on this device. Your jobs live in this browser and nowhere else. Never uploaded, never sent anywhere, never attached to an analytics event. Clearing browser data or switching phones loses them, so export the JSON backup now and then. Nothing saved yet.
STEP 3

Across all your jobs

One job is a story. Five is a pattern. This is where the pattern shows up.

$0
Total revenue
$0
Total job cost
$0
Total gross profit
0%
Your true average margin
$0
Gross profit per labor hour
0
Labor hours logged
0
Jobs costed
$0
What estimating misses cost you
Add a few jobs and this fills in.

Where the profit actually comes from

Same jobs, grouped three ways. The lead source table is usually the one that changes somebody's mind.
Job typeJobsRevenueProfitMargin$/labor hr
Nothing to group yet.

Nothing you type is sent anywhere, and no analytics event ever carries a number from this page. Gross profit is before overhead: your truck payment, insurance, phone, office and your own draw come out of it. Estimates for planning, not tax or legal advice.

Job costing is contract price minus everything that job consumed. Labor at its burdened cost, materials, subs, rental, permits, dump fees, fuel, the warranty trip and the card fee. What is left is gross profit; divide it by the price and you have the job's margin.

Then read two numbers, not one. Margin tells you whether the price was right. Gross profit per labor hour tells you whether the job was worth the crew day. A $385 drain call at 60% throws off $132 an hour. A $12,500 remodel at 20% throws off $17. Margin says one thing, the hourly says the opposite, and the hourly is usually right about what work to chase.

The catch is not the math, it is the data. Labor estimating runs about 12% over on average, and if hours are not tied to the job daily, the job costing is fiction. One rule fixes it: no job number on the receipt, no reimbursement, no entry.

Why does job costing never get done?

Not because contractors can't do arithmetic. Because the arithmetic happens six weeks after the job, when the receipts are in four places and nobody remembers whether Tuesday was the Alvarez bathroom or the Halvorsen sewer line.

So the invoice becomes the scorecard. It's the only number that exists in one piece. You billed $12,500, the material bill was around four grand, it felt like a good job, and it goes in the win column. Nobody ever adds up the 112 hours it actually took against the 80 you bid, or the $1,800 tile sub, or the $320 permit, or the $362 the card company took off the top. Add those and the job lost $517.

Someone who tracks about 2,200 service businesses put the mechanism in one sentence on r/smallbusiness: "labor estimating runs 12% over on average. if hours aren't tied daily to the job, your job costing is fake." That is the whole problem. Not the report. The daily tie.

The shops that get this right are not the ones with the fanciest software. Ask in any contractor thread how people do it and you get answers like "Envelope in truck gang" and "Each job gets a folder in my phone and in my truck." The best comment in that whole genre: paper versus app matters less than forcing every cost through one rule — no job code, no reimbursement, no entry. Once that rule is real, any container works. Until it's real, a $199-a-month platform gives you the same fiction with nicer charts.

And the reporting people pay for often isn't there anyway. Service Fusion customers report that "you can't run job reports, for example, to determine how long it takes to complete a job" and, flatly, "Service Fusion's reporting is useless, as it's impossible to run a valid report." That's a platform whose last published prices ran $208 to $533 a month before it stopped publishing them in July 2026.

What does job costing software cost in 2026?

Per-job profit reporting is one of the most reliably gated features in the category. It's almost never in the entry tier, because it's the thing that makes people upgrade.

ProductPrice (August 2026)What you getWhat it does better than this page
QuickBooks Online Plus$140/mo, up from $99 on 1 Aug 2026Projects with income, cost and margin per project, plus real booksBank feeds. Every receipt and bill flows in on its own, and your bookkeeper already lives there
QuickBooks Online Advanced$340/mo, up from $200 on 1 Aug 2026Plus custom fields, deeper reporting, more usersMulti-user roles and reporting you can shape
Jobber Grow$199/mo, $169 on annualQuoting, scheduling, invoicing, job costing in the top tierThe whole workflow. Quote to schedule to invoice to payment, on phones, in the field
BuildertrendAround $800/mo paid annuallyFull construction management with budgets and job costSelections, client portal, subs, purchase orders, draws
ProcoreAbout $500/mo for the project module; financials another $300–$500Commercial-grade cost controlEverything, at commercial scale, with a real audit trail
Service FusionStopped publishing July 2026; last known $208–$533/moField service management, unlimited usersUnlimited users at a flat price, which is rare
This page$0Post-job P&L, variance, rollups, CSV and JSON outNothing. It does one job and does not sync, invoice, or take payments

Prices as of August 2026 from vendor pricing pages and published increases: Intuit's 1 August 2026 QuickBooks Online increase (Plus $99 to $140, Advanced $200 to $340, no grandfathering); Jobber published pricing after its July 2026 increase; Buildertrend and Procore figures as quoted by a general contractor at roughly $4M revenue on r/Construction; Service Fusion last-known pricing before it stopped publishing in July 2026. This category raises prices most summers, so check before you commit.

Two honest things about that table. First, those products are not overpriced for what they are — QuickBooks Plus at $140 gives you actual bookkeeping, and a browser page can never touch bank feeds. Second, a lot of shops buy the $199 tier for job costing and then never enter the costs, which is the most expensive way to not job cost. If that's you, the problem was never the software.

The same GC who published his quotes had the fairest summary of the whole category: "It's wild how the industry hides pricing just to sell a bloated $1,000/month database that forces you to change how your whole business operates. For a lean team doing $4M, those massive setups are totally out of touch with reality."

Where is this free version enough?

It's enough if you're one to five people, you finish somewhere between five and forty jobs a month, and you already invoice with something — a book, a template, Square, whatever. This is the autopsy, and the autopsy is the part almost everybody skips. Doing it on twenty jobs a year in a browser beats doing it on zero jobs a year in a platform.

It's enough to answer the questions that actually change decisions:

  • Which job types pay, and which ones you keep taking out of habit.
  • Which customers are worth the drive and which ones you should price 20% higher next time or lose gracefully.
  • Which lead source produces profitable work, not just work.
  • Whether your bidding is drifting, and by how much in dollars.
  • What your true average margin is, against the one in your head.

It's not enough for five things, and pretending otherwise would waste your afternoon.

  • It doesn't collect costs for you. No bank feed, no receipt scan, no card sync. You type the numbers. If you won't do that, buy QuickBooks Plus and connect the bank.
  • It doesn't sync. One browser, one device. Export the JSON if you want it somewhere else.
  • It doesn't do work in progress. This is for finished jobs. Percent-complete accounting on a six-month build needs Buildertrend or a real accountant.
  • It doesn't allocate overhead. Gross profit here is before your truck payment, insurance, office and your own pay. A 35% gross margin is not 35% in your pocket.
  • It isn't your books. Nothing here goes on a tax return. It tells you how to bid; your accountant tells you what you owe.

How do you use it?

  1. Set the burdened rate first. Wage plus payroll taxes, workers comp, liability, vehicle, phone, and paid time off, divided by the hours you can actually sell. For most residential trades that lands somewhere between $45 and $80 an hour for a mid-level tech in 2026, and it is always higher than people guess. The employee cost calculator does it properly.
  2. Add a job the week it finishes, while the hours are still recoverable. Put the contract price in, plus the hours and material dollars you had in the bid. Those two estimate boxes are the whole variance section.
  3. Enter labor by person. A lead tech and a helper cost very different amounts and the blend matters. Include drive time and the return trip, because the job ate them.
  4. Sweep everything else in. Dump fees, the permit, the rental, the fuel, the callback, the card fee. The small lines are where jobs quietly lose their margin: $185 of permit and $139 of card fees is $324 off a $4,800 job, which is nearly seven points.
  5. Read the verdict, then the dollars per labor hour. The verdict says whether the price was right. The hourly says whether the job was worth the day.
  6. Do five jobs before you conclude anything, then read Step 3 and export the CSV. The rollup is where the money is; a single job just tells you about that job.

What actually belongs in a job cost?

Everything that would not have been spent if the job had never happened. That test settles almost every argument, including the ones people have with themselves.

CostGoes on the job?Why people get it wrong
Wages for hours on siteYes, at burdened costCosted at the wage, which understates it by roughly a third
Drive time and the parts runYesUnbillable, so it gets left out. The job still ate the hour
Your own hours on the toolsYesOwners work free and call the result profit. It hides which jobs need a second person
Materials, including waste and returnsYes, net of returnsThe extra fittings from the third trip never make it onto the sheet
SubcontractorsYesUsually captured, because they invoice you
Rental and specialty equipmentYesAlso captured, because someone had to pay for it that day
Permits, inspections, dump feesYesSmall enough to feel like overhead. On a small ticket they are not
Warranty callbacksYes, on the original jobBooked as goodwill. It is a cost, and it is the one that tells you which work to stop taking
Card processing feeYes2.9% feels invisible until it is $362 on a $12,500 job
Truck payment, insurance, phone, office rentNo — that is overheadSpread across all jobs by your hourly rate, not charged to one
Software you pay for monthlyNo — overheadSame reason. It is there whether or not the job happens
Your salary or drawNo, unless you swung a hammer on itOwner pay comes out of gross profit, which is why gross profit is not take-home

The line between job cost and overhead trips people up, so here's the short version. Job cost is what the job consumed. Overhead is what the business consumes whether the phone rings or not. Gross profit is revenue minus job cost. Net profit is gross profit minus overhead. This page stops at gross profit on purpose — it's the number that tells you whether you priced the work right, and it's the only one you can compute without your whole tax return open.

Markup or margin — which one are you using?

This costs more money than any other mistake in the trades, and it costs it silently, on every job, for years.

Markup is measured off your cost. Margin is measured off the price. Add 30% to a $1,000 cost and you get $1,300, but your margin is $300 ÷ $1,300 = 23%, not 30%. A contractor on r/Contractor in June 2026 laid it out: "I kept underpricing jobs for 2 years until I learned the difference between markup and margin… I was quoting jobs at '30% profit' and wondering why I was barely breaking even. Turns out I was confusing markup with margin. A 30% markup is only a 23% margin. On a $10k job that's $700 you're leaving on the table. Every. Single. Job."

Markup on costResulting marginMarkup you need for that marginPrice on $1,000 of cost
10%9.1%11.1% for a 10% margin$1,100
20%16.7%25.0% for a 20% margin$1,200
30%23.1%42.9% for a 30% margin$1,300
40%28.6%66.7% for a 40% margin$1,400
50%33.3%100% for a 50% margin$1,500
100%50.0%150% for a 60% margin$2,000

The formula both ways: margin = markup ÷ (1 + markup), and markup = margin ÷ (1 − margin). To hit a 35% margin you need to multiply cost by 1.538, which most people would call a 54% markup and refuse to say out loud. It is the same price either way. Only one of the two words tells you what you kept.

The same thread showed there's no shared vocabulary at all — "I've seen 50-100% mark up on material" next to "I run a 50% markup on labor and material. Labor is a cost. Not profit." Those two people may be pricing identically or 30 points apart and neither can tell from the conversation. Which is why job costing beats asking around: it answers in margin, after the fact, with your own numbers.

Why is gross profit per labor hour the number to watch?

Because crew hours are what you're actually short of. Money follows hours, not percentages.

Run the sample data on this page and the ranking flips depending on which number you read. The $385 drain call produces $231.34 of gross profit on 1.75 hours, so $132.19 an hour. The $12,500 remodel produces −$517.50 on 112 hours. The $1,850 water heater produces $773 on 4.5 hours, which is $171.78 an hour and the best number on the board — off the second-smallest ticket.

That's the pattern almost every service shop finds when it costs a quarter honestly. The big jobs feel like the business and the small ones feel like a nuisance, and the small ones are carrying the payroll. Not always. But you can't know which way it goes for you until the hours are on the sheet next to the dollars, and no invoice will ever tell you.

One caution so this isn't read too simply: gross profit per hour rewards jobs where you barely showed up, so a shop that chases only the highest hourly number ends up with a calendar full of forty-minute calls and no backlog. Read it next to margin and next to total profit dollars. A job that pays $17 an hour is a problem; a job that pays $132 an hour twice a week does not fill a truck.

What good margins look like, and what the spread tells you

There's no single right number, because the right number is whatever covers your overhead plus the profit you actually want. As a working range in residential trades, service and repair work usually needs to hold 35% to 50% gross margin, and larger installs and remodels run 25% to 35% because the material content is higher and it's a bigger single bite.

The more useful thing is the spread. If your jobs run 45, 42, 40, 38 and 5, the problem is not your pricing — it's one job type, or one customer, or one estimator. Fixing that single job is worth more than a 5% price rise across everything, and it doesn't cost you any customers.

Here's the arithmetic on why the spread matters, worked longhand on the sample data. Five jobs, $25,935 of revenue, $22,733.37 of job cost, $3,201.64 of gross profit. That is a 12.3% true average margin. Take the one job that lost $517.50 out and the remaining four jobs made $3,719.14 on $13,435 of revenue — a 27.7% margin. One job out of five moved the shop's whole quarter by more than 15 points. The four good jobs never needed a price rise. The bad one needed a different bid, or a decline.

How far does estimating actually drift?

The benchmark to hold yourself against is about 12% over on labor, which is what someone tracking around 2,200 service businesses reported as the average. Under 10% is good. Over 25% and the estimate isn't an estimate, it's a hope.

Convert it to dollars and it stops being abstract. On the sample data, the labor overrun across five jobs came to $2,798.10 and the materials overrun came to $1,282, so estimating missed by $4,080.10 total. The same five jobs made $3,201.64. The gap between what those jobs were bid at and what they cost was larger than the entire profit on them.

Three drifts do most of the damage, and they're each worth checking in your own numbers:

  • Setup, breakdown and the parts run. Nobody bids the second trip to the supply house. On a two-day job it's an hour and a half you didn't sell.
  • The last 10% of the job. Punch list, trim, the fixture that came in wrong, the walkthrough. It's routinely a quarter of the hours and it's almost never in the bid.
  • The owner's hours. If you don't cost your own time, every job you personally rescue looks profitable, and you learn exactly the wrong lesson about which jobs to take.

Once you have four or five jobs on this page, you get a personal correction factor. If your labor consistently runs 18% over, then bidding 18% more hours isn't padding, it's arithmetic. That single adjustment is worth more than any software you can buy, and you can only get it from your own finished jobs.

A worked example, longhand

The $4,800 repipe from the sample data, all the way through:

  • Labor: lead tech 18 hours × $62 = $1,116. Helper 12 hours × $41 = $492. Labor $1,608 over 30 hours, a blended $53.60 an hour.
  • Other costs: materials $1,180, permits $185, fuel $46. Card fee 2.9% of $4,800 = $139.20.
  • Total cost: $1,608 + $1,180 + $185 + $46 + $139.20 = $3,158.20.
  • Gross profit: $4,800 − $3,158.20 = $1,641.80. Margin: $1,641.80 ÷ $4,800 = 34.2%.
  • Gross profit per labor hour: $1,641.80 ÷ 30 = $54.73.
  • Estimate was 24 hours and $900 of material. Actual 30 hours and $1,180. Six hours over at the blended $53.60 is $321.60; materials $280 over. The bid missed by $601.60, which is 37% of everything the job made.

The job was fine. It cleared its target and it paid $54.73 an hour of gross profit. But the same job bid correctly would have made $2,243.40, and the shop that bids five of these a month is leaving about $3,000 a month on the table without ever having a bad job.

Common questions

What is job costing?

Job costing means putting every dollar a job consumed against the price that job billed, then looking at what is left. Labor at its real burdened cost, materials, subs, rental, permits, dump fees, fuel, the callback, the card fee. Revenue minus all of it is the gross profit on that job. Divide by the price and you have the margin. Anything short of that is a guess with a receipt taped to it.

How do I calculate profit on a job?

Contract price minus job costs equals gross profit. Gross profit divided by contract price is your gross margin. Worked longhand: a $4,800 repipe with $1,608 of burdened labor, $1,180 of materials, $185 in permits, $46 of fuel and $139.20 of card fees has $3,158.20 of cost, so it made $1,641.80, which is 34.2%. That figure is before overhead like your truck payment, phone and insurance, so it is not what you take home.

Why should I use the burdened rate instead of the hourly wage?

Because the wage is roughly two thirds of what the hour costs you. Payroll taxes, workers comp, liability, the truck, the phone, paid time off and the hours nobody bills all ride on top. Costing labor at the wage makes every job on your books look about 15 to 30 points more profitable than it is, and that error compounds because you then bid the next job off the same wrong number. Our employee cost calculator works out your real burdened cost per billable hour.

What is a good gross profit margin on a job?

For most residential trades, 35% to 50% gross margin on service work and 25% to 35% on larger installs and remodels leaves enough to cover overhead and still pay you. The honest answer is that a good margin is whatever covers your overhead plus the profit you want, which is a number only your own books can produce. What matters more than the target is the spread: if some of your jobs run 45% and others run 5%, fixing the bad ones is worth more than raising every price.

What is the difference between markup and margin?

Markup is measured off your cost. Margin is measured off the price. A 30% markup is only a 23% margin. As a contractor put it on r/Contractor in June 2026: "I was quoting jobs at '30% profit' and wondering why I was barely breaking even. Turns out I was confusing markup with margin. A 30% markup is only a 23% margin. On a $10k job that's $700 you're leaving on the table. Every. Single. Job." To hit a 30% margin you need a 42.9% markup, because the divisor is price and not cost.

Why is dollars per labor hour more useful than margin?

Because your real constraint is crew hours, not percentages. A 60% margin on a $385 drain call produces $231 of gross profit in under two hours. A 20% margin on a $12,000 remodel produces $2,400 over three weeks. Per hour those are $132 and $17. Margin says the remodel is fine. Dollars per labor hour says the drain calls are quietly paying for the shop, and that is the number that should decide what work you chase.

How long does job costing take per job?

About four minutes if the paperwork already exists, and forever if it does not. The tool is not the hard part. The hard part is the rule that makes the data exist at all: no job number on the receipt, no reimbursement, no entry. Shops that job cost successfully almost all describe the same discipline, whether they use an app or an envelope in the truck.

What does job costing software cost in 2026?

Job level profit reporting sits in the upper tiers. QuickBooks Online Plus went to $140 a month on 1 August 2026, up from $99, and Advanced went to $340. Jobber Grow is $199 a month, $169 on annual. Buildertrend is around $800 a month paid annually. Procore is roughly $500 a month for the project management module alone, with financials another $300 to $500. Those are list prices as of August 2026 and this category raises them most summers.

Can I job cost in a spreadsheet instead?

Yes, and plenty of good shops do. A spreadsheet handles the arithmetic fine. What it usually does not do is keep the estimate next to the actual, split labor from burden, or roll five jobs up by lead source without a pivot table you have to rebuild every quarter. This page is a spreadsheet with those parts already built, and you can export the CSV and take it back to Excel whenever you want.

Is my job data private?

Everything stays in this browser on this device. There is no account, no server and no upload, and nothing you type is ever sent to analytics. That also means clearing your browser data or using a different phone loses it, so export the JSON backup now and then and keep it somewhere you would keep a tax file.

Built by PHIT Web

We build websites service businesses own outright, and you see your homepage free before paying a dollar. Same idea as this page: show the work first.

See My Homepage Free →

Job Cost Sheet

phitweb.com/tools/job-profit-calculator

The job

Customer
Job
Date completed
Job type
Lead source
Contract price

Costs

Labor at burdened cost
Materials
Subcontractors
Equipment and rental
Permits and fees
Disposal
Fuel and travel
Warranty callback
Card processing
TOTAL JOB COST

Result

GROSS PROFIT
GROSS MARGIN
Gross profit per labor hour
Actual labor hours

Estimate against reality

Hours estimated vs actual
Cost of the hours gap
Materials estimated vs actual
Total the estimate missed by

Notes

Gross profit is before overhead: vehicles, insurance, office, software and owner pay come out of it. Estimates for planning, not tax or legal advice. Costed with the free job profit calculator at phitweb.com/tools/job-profit-calculator