Skip to content

Handyman Profit Margins by Job: How to Calculate and Track

Gross margin per job is revenue minus direct costs, divided by revenue. Learn the formula, which job types tend to pay better, and how to track every job.

Published · HandyBook Team

Gross margin per job is your revenue minus the direct costs of that job, divided by revenue. If you bill $1,000 and the job costs you $600 in labor and materials, your gross margin is ($1,000 - $600) / $1,000 = 40%. Track it for every job and you will see which work makes money and which only keeps you busy.

Handymen often judge a good week by how many dollars they invoiced. Revenue says nothing about what you kept. Two jobs that each pay $1,000 can leave you with $450 or $50, depending on materials, drive time, callbacks and how long the job really took.

This guide shows the formulas, worked examples and a tracking routine. It also reasons about which kinds of jobs tend to be more or less profitable. Those are general patterns, not survey data, and your market and skills will change the answer.

Margin vs markup: the confusion that costs money

These two words are often swapped, and mixing them up leads to underpricing.

  • Markup is the percentage you add on top of cost.
  • Margin is the percentage of the selling price that is profit.
CostMarkupSelling priceProfitMargin
$10025%$125$2520%
$10050%$150$5033.3%
$100100%$200$10050%

Formulas

  • Markup % = (Price - Cost) / Cost
  • Margin % = (Price - Cost) / Price
  • To hit a target margin: Price = Cost / (1 - Target margin)

Example. You want a 40% margin on a job costing $600. Price = $600 / (1 - 0.40) = $600 / 0.60 = $1,000. A 40% markup would give only $840, a 28.6% margin. That gap is why pricing from markup alone leaves money on the table. For material-specific markups, see the material markup guide.

What counts as a job cost

Gross margin uses direct costs, which are the costs tied to that specific job:

  • Your labor. Even if you are the only worker, assign yourself a cost per hour. A reasonable number is what you would need to pay a skilled helper, or your target wage. Without it, a solo operator's margins look much better than reality.
  • Helper or subcontractor labor. Wages, plus payroll costs if you have employees, or subcontractor invoices.
  • Materials and supplies for the job, including delivery fees.
  • Equipment rental, dump fees and permits.
  • Direct travel time (see below).

Costs that apply to the whole business, such as insurance, software, advertising and your truck payment, are overhead. They are not in gross margin, but they must be covered by it. What is left after overhead is your net profit.

Gross margin has to be large enough to pay overhead and still leave profit. That is why a 15% gross margin that looks fine on one job can bankrupt a business.

How to calculate margin per job (step by step)

  1. Revenue: the total billed to the customer, excluding any sales tax you collect for the state.
  2. Labor cost: actual hours (including drive, shopping and cleanup) x your cost per hour for each person.
  3. Materials cost: receipts for everything bought for the job, including trips for forgotten items.
  4. Other direct costs: disposal, rentals, permits.
  5. Gross profit: revenue minus all of the above.
  6. Gross margin %: gross profit / revenue.

Worked example: bathroom fan replacement

LineAmount
Revenue billed$520
Labor: 3.5 hours at $35/hr cost$122.50
Materials (fan, duct, tape, caulk)$98
Supply trip: 0.75 hours at $35/hr$26.25
Disposal$0
Total direct cost$246.75
Gross profit$273.25
Gross margin52.5%

The $35 per hour here is a placeholder labor cost. Set yours by deciding what you need to earn per hour or by using a typical wage for the work in your area. To learn how to set your own billing rate, read the handyman hourly rates guide.

Worked example: a small job that looks good but is not

You bill a customer $300 for a "quick" door fix. It takes 1.5 hours on site, 1 hour driving each way, a 45-minute hardware store run and one return trip the next day for a second hinge.

  • Labor: (1.5 + 2 + 0.75 + 1) = 5.25 hours x $35 = $183.75
  • Materials: $22
  • Total cost: $205.75
  • Gross profit: $300 - $205.75 = $94.25
  • Gross margin: $94.25 / $300 = 31.4%

You thought you were paid $200 an hour for 1.5 hours. In reality you earned about $94 for over five hours of effort. See handyman time tracking and profit for how to capture the hidden hours.

What margin should a handyman aim for?

There is no universal number, and anyone quoting one as a fact is guessing. The right target depends on your overhead, local competition, whether you work alone and what you want to take home.

A simple way to set your own target:

  1. Add up annual overhead (insurance, vehicle, software, marketing, tools, accounting).
  2. Decide the profit you want on top of your own wages.
  3. Estimate total annual revenue you can realistically bill.
  4. Required gross margin = (overhead + target profit) / revenue.

Example. Overhead $24,000, target profit $20,000, expected revenue $110,000. Required gross margin = $44,000 / $110,000 = 40%. Each job should clear about 40% on average after paying yourself a wage as a direct labor cost.

If your labor cost is set at a fair wage, gross margin pays for the business to exist. If you leave labor out, you are mixing your wage with your profit and cannot tell if the business is healthy.

Which job types tend to be more or less profitable (and why)

The following is reasoning, not data. Treat each as a hypothesis to test with your own job history.

Jobs that tend to protect margin

  • Small bundled punch lists. Multiple small tasks at one address share the drive, the setup and the sales effort. One trip, several line items, less wasted time. A cost-per-trip spread across more billable hours tends to lift margin.
  • Recurring and maintenance work. Repeat customers need less selling, less estimating and fewer surprises, because you know the house. See recurring handyman jobs.
  • Jobs where your skill is scarce. Work that fewer competitors can do well tends to support better pricing than commodity tasks that anyone can bid.
  • Well-scoped installs. Fixtures, shelving, mounting, door hardware. When the scope is clear and materials are customer-supplied or marked up, the job is predictable.
  • Work you do repeatedly. The more you repeat a task, the faster you get while the price stays the same.
  • Emergency or short-notice work, when priced as such. See emergency call pricing.

Jobs that tend to squeeze margin

  • One-off tiny jobs far from home. Travel and minimum-time overhead dominate. A minimum service charge exists for this reason.
  • Work with unknowns behind walls. Water damage, old wiring or rot can expand scope. Without a clear change-order process, you absorb the surprise. Our quoting unfamiliar jobs guide helps.
  • Large material-heavy jobs where you do not mark up materials. Handling cost, delivery, returns and the carrying cost of the purchase add up.
  • Fixed-price jobs you under-scoped. A fixed price transfers the risk of overruns to you.
  • Jobs with difficult customers. Extra calls, revisions and delayed payment all erode margin. See handle difficult handyman customers.
  • Warranty and callback work. It is unpaid by definition. See handyman warranty work.
  • Highly competitive, price-shopped jobs. When ten bidders compete on price, margin usually falls.

Jobs that look profitable but often are not

Large jobs get misread because the dollar figure is big. A $9,000 job at 18% gross margin earns $1,620, while three $1,500 jobs at 45% earn $2,025 in less calendar time. Dollar volume feeds your ego, but margin pays your bills.

How to improve margin without just raising prices

Lifting price is the obvious lever, but not the only one.

LeverHow it works
Charge for travel and minimumsCovers non-billable time on short jobs
Bundle small tasksShares the trip across more billable hours
Mark up materialsPays for sourcing, delivery, returns and risk
Reduce drive timeCluster jobs by area and schedule by route
Prevent callbacksBetter scoping and a final walk-through
Use change ordersCharge for scope changes in writing
Collect depositsCuts financing and collection cost
Cut shopping tripsPre-buy common parts, order ahead
Track time honestlyYou cannot fix what you do not measure

Routing and scheduling help too. See the handyman scheduling guide.

Track margin on every job: a simple system

You do not need a complex tool. You need the same few numbers captured the same way each time.

Per-job tracking template

FieldNotes
Job name and customer
Job typeYour categories, such as "install," "repair," "punch list," "paint"
Date completed
RevenueBilled amount
Hours (on site, drive, shopping, admin)Total actual
Labor costHours x your cost per hour
Materials costFrom receipts
Other direct costsDisposal, rentals, permits
Gross profit
Gross margin %
NotesWhat surprised you

Weekly and monthly review

  • Each Friday, close out the week's jobs in the template. The session fits into your routine from handyman bookkeeping basics.
  • Monthly, group by job type and calculate average margin for each type.
  • Quarterly, decide what to do: raise prices on the low-margin types, make minimums stricter or drop job types that never pay.

After 20 to 30 jobs, patterns appear. Your own data is the only data that matters for your business.

Using software

HandyBook lets you tie expenses to jobs and shows revenue, profit and tax reports, and the Pro plan adds time tracking so labor hours are not guesses. See the expense tracking and time tracking pages. A spreadsheet works too if you keep it updated.

Common margin mistakes

  • Leaving out your own labor. Your time is a cost.
  • Forgetting drive and shopping time. Often 20% to 40% of the hours on small jobs, depending on your area and habits. Measure yours.
  • Using markup when you meant margin. See the table above.
  • Ignoring callbacks. Log return visits against the original job.
  • Pricing from competitors only. Their costs are not yours.
  • Averaging everything together. One great job can hide three bad ones.

FAQ

What is a good profit margin for a handyman?

It depends on your overhead and income goals, so no single number fits everyone. Work backward by adding yearly overhead and target profit, then dividing by expected revenue to find the gross margin you need.

What is the difference between markup and margin?

Markup is profit as a percentage of cost, and margin is profit as a percentage of the selling price. A 50% markup produces a 33.3% margin. Use margin to judge job profitability and the target-margin formula (cost / (1 - margin)) to set prices.

How do I calculate profit per job?

Subtract all direct costs, including labor, materials, travel time, disposal and rentals, from the amount billed. Divide that gross profit by the amount billed for your gross margin percentage. Include your own labor as a cost at a fair hourly rate.

Which handyman jobs make the most money?

It varies by market. As a general pattern, bundled punch lists, recurring maintenance and skilled installs tend to hold margin better than tiny one-off jobs, unscoped repairs and price-shopped bids. Verify against your own job tracking.

How many jobs do I need to track before I can trust the numbers?

A few dozen jobs across your main job types will start to show clear patterns. Track every job from today, and review averages by type each month.

Know your numbers

Margin is what turns a busy schedule into an actual business. HandyBook keeps your quotes, invoices, expenses and job history together so per-job profit is easier to see, with a 14-day free trial (card required). Start tracking this week, review monthly and adjust your pricing with facts instead of guesses.

Ready to put this into practice?

HandyBook handles quoting, invoicing, scheduling, and payments. 14-day free trial.

Start free trial