Charge a flat rate for tasks you have done often enough to know the time, hourly for anything with unknowns, and a minimum charge under both. ChatGPT can build the price book from your hourly rate, task times and material rules, but the inputs must be yours and you check the sums.
ChatGPT is for arithmetic and layout here, not for prices. Ask it what a handyman charges and you get a blend of everyone's costs. Give it your rate, your times and your receipts, and it produces a priced task list in minutes. The checking is what makes the book trustworthy, and it takes longer than the build.
Every number below is invented for illustration: a one-person handyman business on a $76 hourly rate. Swap in yours at each step.
Step 1: Work out your hourly rate before ChatGPT sees it
The rate is the one number the whole book hangs on, and it comes from your costs, not from a competitor. Suppose you want $60,000 a year for yourself, before tax. Overheads are the van ($7,800), insurance ($1,800), tools and consumables that wear out ($2,400), phone and software ($1,200), marketing ($1,500) and accounting ($900), a total of $15,600. The business has to bring in $75,600 a year before materials.
Now the hours. You work 45 weeks of 40 hours, 1,800 hours. But driving, quoting, shopping for parts and invoicing are not billable, and if 55% of your hours can be billed, that is 990 hours. $75,600 / 990 is $76.36, so $76 an hour. The realistic mistake is dividing by all 1,800 hours: that gives $42, which is your break-even for each hour worked, and billing $42 for each billable hour brings in $41,580, which is $34,020 short of the target. Keep both figures. $76 is what you charge for an hour on site, and $42 is what each hour of your whole working week has to earn, which the margin check later uses. The tutorial on working out a tradesman's hourly rate builds the figure in more detail.

The Complete Excel Course with AI Integration
From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.
By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner
Buy nowStep 2: List the jobs you do and the time each one takes
A first book needs ten to thirty tasks, each one something you have done at least five times. The times come from your invoices, calendar entries and memory corrected against the last few jobs. If you have never timed a job, time the next five. Then use ChatGPT for the one thing it is good at here, remembering what you might have forgotten, with a prompt that bans it from inventing times or prices:
Here are the 20 tasks I price today: [list]. Suggest up to 15 more common handyman tasks
inside homes (doors, windows, bathrooms, kitchens, shelving, walls) and outside (gates,
gutters, fences) that I might have missed. For each, give only the task name and the
unit I would price it in (each, per metre, per room). Do not give times or prices.
Cross out anything you are not licensed, qualified or insured for. Licensing differs by task and by place, so check with your insurer and with whoever licenses trades where you work, and keep those tasks off the book rather than pricing them. The result is a list with a time beside every task you have done often enough to know it.
Step 3: The prompt that builds the price book
Put your rules and your task list in one message. ChatGPT's data analysis works on spreadsheets (.csv, .xls and .xlsx) by writing and running Python code, and the free plan allows 3 file uploads a day, enough for one spreadsheet. If you would rather paste the list into the chat, that works for thirty rows. This is the prompt:
Build a handyman price book as a table. My rules:
- Hourly rate $76.
- Flat price = hours x $76, plus materials at cost x 1.15, plus the consumables allowance.
- Tasks marked risk = yes get 10% added to the labour part only.
- Round every price UP to the next $5.
- Minimum charge: 1.25 hours, which is $95. Any price below $95 becomes $95.
Columns: task, hours, materials cost, consumables, risk, labour, materials with handling,
flat price. Show the arithmetic in the cells so I can check it.
If a row has no hours or no materials figure, write "missing" and do not invent one.
Tasks (task, hours, materials cost, consumables, risk):
[paste your list here]
For ten tasks, the output reads as follows (illustrative):
| Task | Hours | Materials | Consumables | Risk | Calculated | Book price |
|---|---|---|---|---|---|---|
| Hang a TV on a wall bracket (up to 55 in, stud wall) | 1.00 | $0 | $4 | Yes | $87.60 | $95 |
| Replace a tap cartridge or washer | 0.75 | $14 | $1 | Yes | $79.80 | $95 |
| Assemble a flat-pack wardrobe (per unit) | 2.00 | $0 | $2 | No | $154.00 | $155 |
| Re-seal a bath or shower (strip and re-caulk) | 1.50 | $14 | $6 | No | $136.10 | $140 |
| Fit a new door lock or latch | 0.75 | $32 | $2 | No | $95.80 | $100 |
| Patch and paint a small wall hole | 1.50 | $12 | $3 | Yes | $142.20 | $145 |
| Hang three shelves on solid walls | 1.25 | $18 | $4 | No | $119.70 | $120 |
| Clean gutters, single storey | 1.50 | $0 | $2 | Yes | $127.40 | $130 |
| Replace a toilet seat or flush mechanism | 0.75 | $28 | $1 | No | $90.20 | $95 |
| Hang a pre-hung interior door | 2.50 | $0 | $7 | Yes | $216.00 | $220 |
Check three rows by hand before you believe any of it. The TV mount: 1.0 hour x $76 x 1.10 is $83.60, plus $4 of consumables is $87.60, which rounds up to $90, and the minimum charge then lifts it to $95. The door latch: 0.75 x $76 is $57, plus $32 x 1.15 = $36.80, plus $2 is $95.80, rounded up to $100. The pre-hung door: 2.5 x $76 x 1.10 is $209, plus $7 is $216, rounded up to $220. If any of those is off, ask ChatGPT to show the working for that row, and you will usually see which rule it misapplied.
The minimum charge is 1.25 hours because even a ten-minute job costs a drive, a message thread and an invoice. Two rows in this book, the TV mount and the tap, would otherwise price below it. The tutorial on how much to charge for a service call builds a minimum from costs if you want to check yours.
A first pass usually needs corrections, and each one is a sentence you can tell it. It may add the 10% risk allowance to every row, because "risk" is an easy column to apply globally; the wardrobe would then price at $170 instead of $155. It may round to the nearest $5, which would drop the door latch to $95; the prompt says "up", and you can repeat it. And it may helpfully add a task you did not list, such as replacing a light fitting. Delete it: that is a task you may not be licensed for, and the book should hold only work you have chosen to do. Whatever the price list says, a handyman price book is a document you own and sign off, not a ChatGPT output.
Hourly or flat: a three-question test for each task
Not every task belongs in the book at a flat price. Ask three questions of each one. Have I done it at least five times? Do most of the times I recorded sit within about 30% of the median? Can I see everything that affects the time before I start, even if only from a photo? Three yeses mean a flat price. Two mean a flat price with a photo check and a condition line on the quote. Anything less is hourly, with a range and the minimum charge.
| Task | Done 5+ times | Times within 30% | Visible beforehand | Decision |
|---|---|---|---|---|
| TV mount on a stud wall | Yes | Yes | Yes, a photo of the wall | Flat |
| Dripping tap | Yes | Yes | No, the valve type is hidden | Flat after a photo of the tap, otherwise hourly |
| Re-seal a bath | Yes | Yes | Mostly, old sealant hides what is underneath | Flat with a photo check and a condition line |
| A door that sticks | Yes | No, 0.3 to 2.0 hours | No | Hourly |
| A leaning fence panel | No, twice | No | No | Hourly with a cap |
The condition line for a flat price is short: "Price assumes the wall behind the TV is a standard stud wall and the old sealant strips cleanly. If not, I will tell you before I carry on." It turns an unknown into a pause instead of a loss.
Hourly and flat side by side on real jobs
Three situations show where each approach earns its keep.
The same job twelve times. The log holds twelve TV mounts. On-site times ran 0.8, 0.9, 0.9, 1.0, 1.0, 1.1, 1.1, 1.2, 1.3, 1.4, 1.5 and 1.6 hours, an average of 1.15 and a median of 1.1. Billed purely by the hour, with no minimum and $4 of consumables, those twelve jobs would have brought in $1,096.80, an average of $91.40. At the flat $95 they bring in $1,140, which is $3.60 a job more. The average is similar, but the individual outcomes are not: a 0.8-hour job earns $30 more than hourly would have, and a 1.6-hour job earns $31 less. The customer sees the same $95 every time, and you carry the swing. That is a fair trade when most of the times sit in a narrow band, which is what the second question in the test checks.
That log also corrects the book in two ways. Its median of 1.1 hours is above the 1.0 hour the book used, and at 1.1 hours the mount calculates to $95.96, which rounds up to $100. And if your hourly bills carry the $95 minimum, the seven jobs under 1.2 hours pay $95 anyway, so hourly would have collected $1,217 against the flat $1,140. A flat price that sits on the minimum buys the customer certainty rather than earning you more, so move the mount to $100 at the next update; the margin check further down, where it is the weakest row, points the same way.
The five-job visit. A customer asks for a TV mount, three shelves, a door latch, a tap cartridge and a wall patch on one visit. Add the five book prices and you get $95 + $120 + $100 + $95 + $145 = $555. Price the same visit as time and materials: 5.25 hours at $76 is $399, materials of $76 at cost x 1.15 are $87.40, and consumables are $14, a total of $500.40. The flat total is $54.60, or 10.9%, higher, because each flat price carries its own minimum charge, rounding and risk allowance, and a five-task visit has one drive, not five. My rule: for a visit of three or more book tasks, price it both ways, and if the flat total is more than 5% above the time-and-materials figure, quote the time-and-materials figure rounded up to the next $5, here $505. On the day, that earns about $70 for each hour of your working time, once about 50 minutes of driving and admin are counted, which is well clear of the $42 break-even.
The job with an unknown in it. A fence panel keeps leaning and nobody knows why. This is hourly work with a diagnosis first: the first visit is the 1.25-hour minimum at $95, you find the cause (say, rotted post bases), then you either quote the repair flat now that it is known, or agree to work hourly with a cap, in writing, and a phone call before you pass it. What you must not do is guess a flat price on the first visit. A price set before the cause is known is wrong in one direction or the other, and it is usually the direction that costs you.
Travel time: free inside a radius, charged beyond it
The $76 rate already pays for an average amount of driving, because the 55% billable share counts every hour in the van as unbillable. So do not add a trip charge to every job. Add one only when the drive is longer than average. Pick a normal range, say 20 minutes each way, and charge for the time beyond it at your break-even: $42 an hour for the whole working week. Ten extra minutes each way is 20 minutes round trip, a third of an hour, so $14.
A customer 35 minutes away each way is 15 minutes over the range in each direction, so 30 minutes extra, which is 0.5 x $42 = $21 added to the visit. Put it on the quote as one plain line: "Travel beyond 20 minutes each way: $14 per extra 10 minutes each way." If you want ChatGPT to apply it, give it the range, the rate and the minutes and ask it to show the sum, because it is an easy place for a slip in rounding. The same line in the book also stops long-distance jobs from quietly lowering your yield on the whole week.
Tool wear: pull it from your receipts
The hourly rate already includes a share of what you spend on blades, bits, sanding discs and small tools, since the $2,400 sits in the overheads: $2,400 / 990 billable hours is $2.42 an hour. The book adds a separate consumables figure only for tasks that wear more than the average, such as cutting tile or drilling masonry. To find the numbers, sort a year of receipts into four piles and let ChatGPT do the first pass:
Sort these receipt lines into four groups: materials I passed on to a customer, consumables
that wear out (blades, bits, sanding discs, dust sheets), capital tools (anything over $100
that lasts years), and vehicle or other. Return a table with the line, the group and the amount.
Add totals for each group. Do not move anything between groups to make the totals look neat.
One run produced this (illustrative):
| Receipt line | Amount | Group |
|---|---|---|
| Diamond blade, 4.5 in | $24 | Consumable |
| Silicone sealant, 6 tubes | $31 | Materials passed on |
| Drill bit set | $38 | Consumable |
| Cordless drill, 18 V | $169 | Consumable |
| Sanding discs | $14 | Consumable |
| Door latch for a customer | $32 | Materials passed on |
| Van fuel | $62 | Vehicle or other |
Look at the drill. At $169 and a multi-year life it is a capital tool, not a consumable, and putting it in the wrong group would inflate the wear figure for the whole year. That is the kind of error a first pass makes, and the line "anything over $100 that lasts years" is there to catch it; if it slips through, say so and ask for a corrected table. The materials lines are not tool wear at all: they go on the customer's price at cost plus 15%, which is the subject of the tutorial on building a materials markup calculator. Once the groups are right, divide the consumables and capital-tool replacement figures by your billable hours. For heavy-wear tasks, ask what the blade or bit costs per job and put that in the task's consumables column.
Margin check: the new book against eight past jobs
A price book that looks sensible can still lose money, so test it on work you have already done. For eight past jobs, record what you charged, the hours door to door (on site, driving and admin), and what you paid for materials. Then compare earnings per working hour, which is the price minus materials at cost, divided by door-to-door hours, with the $42 break-even. This is the prompt:
Here are eight finished jobs: task, price I charged, hours on site, hours driving, hours admin,
materials cost I paid, and the new book price for the same task. For each job calculate
(price - materials cost) / (total hours) at my old price and at the book price. Compare with
$42, my break-even for each hour worked. Give a total for each using total money / total hours,
not an average of the rates. Show the formulas.
| Job | Old price | Door-to-door hours | Materials paid | Earns per hour at old price | Book price | Earns per hour at book price |
|---|---|---|---|---|---|---|
| TV mount | $70 | 2.2 | $0 | $32 | $95 | $43 |
| Tap cartridge | $60 | 1.7 | $14 | $27 | $95 | $48 |
| Wardrobe assembly | $120 | 3.4 | $0 | $35 | $155 | $46 |
| Re-seal bath | $85 | 2.8 | $12 | $26 | $140 | $46 |
| Door latch | $75 | 1.5 | $30 | $30 | $100 | $47 |
| Small wall patch | $65 | 3.0 | $10 | $18 | $145 | $45 |
| Three shelves | $80 | 2.0 | $16 | $32 | $120 | $52 |
| Gutter clean | $90 | 2.1 | $0 | $43 | $130 | $62 |
| All eight | 18.7 | $30.1 | $48.0 |
The old gut prices averaged $30.10 an hour, which is 28% below break-even, and the wall patch was the worst at $18: a job that took 3.0 hours door to door, because of a second visit and a long drive, was priced as if it took one. The book lifts the total to $48.00 and every row is at or above $43. The check works in both directions, though. The gutter clean earned $43 at the old $90 and would earn $62 at the book's $130, which is high enough to lose the job. At $100 it would earn $47.60, comfortably above break-even and probably easier to win. The book is a starting point, and the check tells you which rows to lower as well as which to raise.
If you only have invoices, not timestamps, the tutorial on turning old invoices into a rate card shows how to recover the hours from what you have. For a plumbing example of the same method with thirty tasks, see a worked 30-task flat-rate price list.
Sending the book to customers
Customers do not need the arithmetic. They need a one-page list of tasks with prices, a line saying what the price includes, and one line for everything else. This is the covering message I would send with it:
Hi [first name], here is my price list for common jobs. Each price is for the task as described, includes basic fixings and consumables, and the visit. Anything not on the list, or anything where I cannot see what is behind it, I quote by the hour at $76 with a minimum charge of $95 for the first hour and a quarter, and I will give you a range before I start. If you send me a photo of the job I can usually confirm the price the same day.
The photo line does real work: it lets you apply the third question in the test before you commit. For the wording of other customer messages, the tutorial on ChatGPT prompts for handyman work has ready-made ones for quotes, texts and review requests.
Keeping ChatGPT honest as the book ages
Re-run the build every quarter, and straight away when your hourly cost changes or a common material jumps in price. Put the date and the hourly rate on the first line of the book so a customer's quote can be traced to a version. Keep the rules and the task list somewhere that survives the chat: a ChatGPT Project with the prompt in its instructions and the spreadsheet attached works, and it is a better home than a custom GPT, because OpenAI is retiring custom GPTs, and existing ones are scheduled to stop running on 11 December 2026.
Three habits protect the book. Check three rows by hand every time, because arithmetic slips come in clusters. Never let ChatGPT supply a time or a material cost: both come from your jobs and your receipts, and the prompt tells it to write "missing" rather than guess. And keep customer names, addresses and phone numbers out of anything you paste in. Consumer ChatGPT plans let you switch off model training in privacy settings, and business plans keep your content out of training by default, but the safest data is the data you never sent.
Handyman pricing questions
Can ChatGPT tell me what handymen charge?
It can give a range, but the range blends every business's costs, so I would never price from it. Use ChatGPT for the arithmetic and layout of your own book, with your hourly rate, your task times and your material costs as inputs, and treat any price it volunteers as something to check.
How many tasks should a first price book have?
Ten to thirty is plenty, and each should be a task you have done at least five times. Add new ones as they repeat. A short book with times you trust beats a long one padded with guesses, and anything not in the book is quoted hourly with the minimum charge.
Should materials be inside the flat price or billed separately?
For small tasks, put them inside the flat price with a handling percentage, because customers like one number. Where the customer chooses the product, such as a door or a tap, quote labour flat and the product at cost plus your handling percentage, with the receipt attached.
How often should I update the price book?
Every quarter, and straight away when your hourly cost changes or a common material jumps in price. Re-run the margin check on your last ten jobs each time. Put the date and the hourly rate on the first line so you can see which version a customer was quoted.
Further reads
- Handyman Leads: Thumbtack, Angi and Bark Compared on Cost per Booked Job — Find out which lead sources are worth the cost per booked job.
- Handyman Checklist Template: Job Sheets and Sign-Off With AI — Job sheets and sign-off to go with a priced task.
- Handyman Scheduling Software: Can AI Fit Small Jobs Into Full Days? — Fit small priced jobs into full days.
- Best AI for a Handyman Business: Seven Tools Worth Trying — Seven AI tools to try beyond pricing.
- Housecall Pro for Handymen: Plans, AI Add-Ons and Whether It Pays — Where a price book could live inside job software.
- AI Receptionist for Handyman Businesses: Triage Small Jobs by Phone — Triage small jobs by phone before you price them.
- AI for a Handyman Business: Ten Jobs It Can Do Today — Ten other jobs AI can take off a handyman's desk.
- AI Quote Generators for UK Tradesmen: Built-In or ChatGPT? — What the AI in four job-software tools really does with a quote, what a general assistant adds, and a scored three-job test to settle it.
- Seven Handyman Marketing Ideas for a One-Person Business — Seven marketing ideas for a one-person handyman, from job-photo captions to repeat-customer reminders, with the AI step and weekly minutes for each.
- Can AI Update Your Plumbing Price Book From Supplier Invoices? — Update a plumbing price book from a wholesaler invoice with AI: line extraction, cost comparison, markup rules and the checks that catch mistakes.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: OpenAI help pages on ChatGPT file uploads and data analysis. The hourly rate, task times, material costs and prices in the examples are invented for illustration.