Handyman Rates: How Much to Charge for Handyman Work, Worked Out

Handyman rates start from one number: what a billed hour has to bring in once the unpaid hours are counted. Add the income you want to your yearly overhead and your vehicle and tool costs, then divide by the hours you can actually bill, not the hours you work. Quotes, supply runs, driving and admin are work, but no customer pays for them by the hour. In the illustrative example below the floor is $50.00 a billed hour, the cost of simply showing up at a job is $59.83, and the smallest visit worth making is a $110 minimum.
This post does not say what handyman work sells for where you are. A rate copied from someone else carries their overhead, their drive times and their unbilled hours. A floor built from your own numbers tells you the least you can charge; what customers near you will pay is a separate question.
The handyman rate formula
hourly floor = (income + overhead + vehicle and tools) / billable hours a year
billable hours = weeks x (hours worked a week - unbilled hours a week)
show-up cost = miles x cost per mile + (drive + setup minutes) / 60 x floor
minimum = show-up cost + smallest job at the floor, rounded up
quote = hours on site x floor + materials with markup + trip charge
Everything else on this page is that floor applied to a particular job.
Handyman rates per hour
These figures are illustrative, chosen to show the method. The handyman wants $50,000 a year before income tax, has $7,800 of overhead and $7,000 a year of vehicle and tool costs, and works 45 hours a week for 48 weeks. Of those 45 hours, 18 go to quoting, supply runs, driving between jobs and admin.
| Step | Working | Result |
|---|---|---|
| Revenue needed a year | $50,000 income + $7,800 overhead + $7,000 vehicle and tools | $64,800 |
| Hours worked a year | 48 weeks x 45 hours | 2,160 |
| Unbilled hours a week | quoting 5 + supply runs 4 + driving 6 + admin 3 | 18 |
| Billable hours a year | 48 x (45 - 18) | 1,296 |
| Hourly floor | $64,800 / 1,296 | $50.00 |
Now the insight the calculator pack is built on. Spread the same $64,800 over every hour worked, all 2,160 of them, and the rate looks like $30.00. That number feels right because it is what the year works out to per hour on the clock. But only 1,296 of those hours get billed, so charging $30.00 for them brings in $25,920 less than the year needs. The missing money is exactly the quoting, supply runs and driving: 40% of the week that goes on no invoice.
Income tax and self-employment tax are not computed here. If you want the floor to cover them, put them into the income figure.
The trip charge and the minimum
A small job is mostly the trip. In the example, a round trip of 20 miles takes 40 minutes of driving and 15 minutes of unloading, laying drop cloths and cleaning up:
- Vehicle, 20 miles at your own $0.70 a mile: $14.00
- Driving time at the floor: $33.33
- Setup and cleanup at the floor: $12.50
- Cost of showing up: $59.83
The cost per mile is the handyman’s own estimate of fuel, tires, repairs and insurance, not a published mileage rate.
A 20-minute fix billed as 20 minutes of work brings in $16.67 and leaves $43.17 of the trip unpaid. There are two clean ways to fix that:
- A trip charge of $60 (the show-up cost rounded up to the next five dollars) added to every visit, on top of the work.
- A minimum charge of $110 that includes the first 1 hour of work. A minimum visit takes 1.92 hours door to door, so the minimum pays $57.39 for each hour of your time.
Either one works. What does not work is pricing the task and hoping the trip pays for itself. A minimum is the same idea as the minimum charge in pressure washing: the fixed part of a visit does not shrink with the job.
The materials markup has a job to do
Marking up materials is not free money. It pays for the supply run and the materials you end up absorbing. In the example, a job needs $180 of materials and the handyman marks them up 25%, which adds $45.00. Against that:
- 45 minutes on the supply run at the floor: $37.50
- 10 miles on the run: $7.00
- 5% of the materials you cannot bill or return: $9.00
- Total the markup has to cover: $53.50
The markup comes up $8.50 short. It would take a 29.7% markup just to break even on buying the materials. A 25% markup is also only a 20% margin on the invoice line; the difference between the two is laid out in the markup vs margin chart. The fix is either a higher markup or billing the supply run as time.
Flat prices for small jobs
Flat prices are easier to sell than hourly ones, and they are just the floor applied to your own estimate. A task you expect to take 50 minutes, with a 20% allowance for surprises, is priced as 60 minutes: $50.00 of labor plus $9.00 of materials marked up to $11.25. Rounded up, the flat price is $65.
That price covers the task, not the trip. It can run 64.5 minutes before it pays less than $50.00 an hour. As the only task on a visit it carries the trip charge, and the customer pays $125.
Quoting a task list, and why bundling pays
Here is a customer’s list. The task names are placeholders; the minutes are the estimate you would make yourself.
| Task (placeholder names) | Minutes | Materials at cost |
|---|---|---|
| Replace a faucet | 60 | $15.00 |
| Patch drywall | 45 | $12.00 |
| Rehang a door | 40 | $6.00 |
| Recaulk a tub | 35 | $9.00 |
| Swap a light fixture | 30 | $4.00 |
| Total | 210 | $46.00 |
| Line | Working | Amount |
|---|---|---|
| Hours on site | (210 min x 1.15 + 20 min setup) / 60 | 4.36 h |
| Labor | 261.5 min / 60 x $50.00 | $217.92 |
| Materials | $46.00 x 1.25 | $57.50 |
| Trip charge | from above | $60.00 |
| Subtotal | $335.42 | |
| Quote | rounded up to $5 | $340 |
The 5 tasks come to 4.36 hours on site with one setup, and the quote is $340: $340 over 261.5 minutes on site is $78.01 an hour, above the floor because the trip charge and the markup ride on top of the labor.
Bundling is why a list is worth more to you than the same tasks one at a time. In the pack’s bundling example, 4 tasks of 30 minutes, each with 20 minutes of setup, cost $405.99 to do on separate visits and $176.50 on one visit: 3 trips and 3 setups saved, $229.49 in all. Even at 15% off the separate-visit total, the bundle price is $345.09, still $168.59 above your cost of the visit. A discount for a longer list can pay for itself.
Check the job after you finish it
An estimate is a guess until the job is done. In the example, the $340 job was estimated at 4.36 hours and $46 of materials, which would have paid $53.71 an hour after materials and the trip. It took 5.25 hours and $58 of materials, so it paid $42.32 an hour, below the $50.00 floor. If that overrun repeats, multiply future estimates by 1.20 or raise the allowance. The drive problem shows up the same way in pet sitting rates: the time you do not count is where the money goes.
How these were calculated
The hourly floor is (income + overhead + vehicle and tools) / (weeks x (hours worked a week - unbilled hours a week)). The show-up cost is miles x cost per mile + (drive + setup minutes) / 60 x floor; the trip charge rounds it up to the next five dollars, and the minimum rounds up the show-up cost plus one hour at the floor. Flat prices and quotes are minutes with an allowance, times the floor, plus materials with markup, rounded up to five dollars; a quote also carries the trip charge and is never below the minimum. Every figure on this page was computed twice: once by the code behind the product below, and once by an independent program that pays the trip minute by minute and counts the billable hours week by week. The two agree to the cent. All incomes, hours, minutes, miles, costs and prices are illustrative inputs, not market rates. None of this is financial, legal or tax advice.
To run the same arithmetic on your own year, trips and task list, the pack below has seven linked calculators, from the hourly floor to the after-the-job check.