AI is good at the typing part of an estimate: the layout, the line items, the math and the standard terms. It is bad at everything that costs you money if it's wrong. On 24 September 2026 we asked an AI model to write three estimates, for a water heater swap, a roof repair and a season of lawn mowing. All three looked professional and added up correctly. All three also had prices we never gave it, a sales tax line that state rules don't support, and promises like a 2-year leak guarantee that we never made. The roofing one left out notices Oklahoma law requires on a roofer's estimate.
The test: three jobs, one prompt each
Most pages about AI estimate generators are written by companies selling one. We don't sell estimating software, so we tested what a busy owner would actually try first: typing the job into a general AI assistant.
We used Anthropic's Claude Haiku model, not ChatGPT. Each job got one prompt in a new chat, written the way an owner in a hurry would write it, with no costs or price list. For example: "I run a roofing company in Tulsa, Oklahoma. A homeowner had wind damage: about 12 shingles blown off on the back slope and a leak near the chimney. Write the estimate for the repair with line items, a total and terms I can send her." The businesses and customers were fictional.
| Job | AI's total | What it got right | What was wrong or missing |
|---|---|---|---|
| Replace a 40-gallon gas water heater in a basement, Springfield, Missouri | $1,441.80 | Clear scope, haul-away included, deposit, 30-day validity, correct math | Every price guessed. 8% tax on everything, labor included. "6 years on heater, 1 year on labor" warranty invented. $50 permit fee guessed. No company name, phone or license. No exclusions. No signature line. |
| Wind damage: 12 shingles and a leak near the chimney, Tulsa, Oklahoma | $774.00 | Line items, "we will notify you before proceeding" if more damage turns up, correct math | Prices guessed. 7.5% tax on everything. "All work guaranteed against leaks for 2 years" on a cement patch. "We carry full liability insurance" (we never said). No Oklahoma registration number or required notices. Insurance not mentioned. |
| Weekly mowing of a quarter-acre lot for the season, plus spring cleanup, Charlotte, North Carolina | $871.43 | Price per visit, rain delays, 30-day validity, signature line, correct math | Counted April through October as 26 weeks (it's about 30). 5.5% tax on mowing, which North Carolina lists as exempt. Pause and proration policies we never set. "Mulch refresh" with no amount. |
One thing stood out before any of the details. It didn't ask a single question. Not the heater brand, not our labor rate, not whether the roof claim was going through insurance. It just wrote a finished-looking estimate.
What AI does well on an estimate
The good parts are real, and they're the parts that take time when you type an estimate on your phone at night.
- Layout. Every draft had a header, scope of work, line items, subtotal, total and terms. It looked like something a customer would take seriously.
- Math. All the totals were right, down to the 25% deposit on the lawn quote ($217.86, rounded to $218).
- Standard terms. Deposit, balance on completion, how long the price holds, "weather permitting."
- One smart clause. The roofing draft said: "If additional damage is discovered during repair, we will notify you before proceeding." That protects both sides.
If that's all you use it for, AI saves real time. The problems start when it fills in what you didn't tell it.
Mistake 1: prices it had no way to know
Every number in the three drafts came from the model, not from us. $650 for the heater. $350 labor on the roof. $26 a mow. They may be close to someone's prices somewhere. They aren't built from your supplier costs, your labor rate, your drive time or your margin.
We saw the same thing in an earlier test of free ChatGPT, where it put $1,850 on a 50-gallon water heater quote and never asked about our costs. The tank sizes and tools were different, so the two numbers don't compare. The pattern does: AI tools for small business will give you a confident number without asking about your costs.
A price that's too low loses you money on the job. A price that's too high loses you the job. Either way, the AI doesn't carry the risk. You do.
Mistake 2: a sales tax line that doesn't match state rules
All three drafts added a tax line on the whole total, labor included, at a different made-up rate: 8% in Missouri, 7.5% in Oklahoma, 5.5% in North Carolina. Here's what we found in each state's rules:
- North Carolina: the Department of Revenue's chart for services to real property lists "Mow lawns, aerate, reseed, over seed, sod bare spots" as exempt. The AI charged tax on 26 mowings.
- Oklahoma: the Tax Commission's rules say contractors "must pay sales tax on all taxable services and tangible personal property, including materials, supplies, and equipment purchased to develop, repair, alter, remodel, and improve real property". In other words, the roofer usually pays the tax when buying materials, rather than adding it to the customer's bill.
- Missouri: a Department of Revenue letter ruling treats a contractor improving real property as "the final user and consumer of the materials" and responsible for the tax on them.
Tax rules depend on the state, the city and the exact job, and they have exceptions. We're not your accountant. The point is narrower: the AI didn't know either. It guessed a rate and applied it to everything. Ask your accountant once how tax works for your jobs, then put that rule into every prompt.
Mistake 3: warranties and promises you never made
This is the one that can follow you for years. Once a customer signs an estimate, the terms on it are what they'll hold you to.
- "Warranty: 6 years on heater, 1 year on labor." We never chose a heater, so we have no idea what its warranty is. We never set a labor warranty.
- "All work guaranteed against leaks for 2 years." This on a repair the same draft describes as "inspect and seal leak near chimney flashing, apply roofing cement as needed." A 2-year leak guarantee on a patch is a promise most roofers wouldn't make.
- "We carry full liability insurance." Maybe you do. The AI didn't know.
- "Service can be paused for up to 2 weeks without penalty" and "Early season end: prorated rate" on the lawn quote. Policies we never set.
Search the draft for the words warranty, guarantee, insured, included and within. Delete anything you didn't decide yourself.
Mistake 4: what's missing, and a simple math error
AI writes what's typical. Estimates cause trouble in the parts that aren't typical.
Exclusions. None of the three drafts said what's not included. For the water heater: an expansion tank, venting or gas line corrections, a drain pan, an old shutoff valve that breaks when you turn it. For the roof: rotted decking, and whether new shingles will match an older roof. Each of these either gets priced or gets listed as extra. Otherwise it turns into an argument at the end of the job.
Who you are. The water heater estimate had the customer's name and a blank for his address, but no company name, phone or license number at all.
Signatures. Only the lawn quote had a place for the customer to sign.
The season. The lawn quote says "Season runs April through October (26 visits)." April 1 through October 31 is 214 days, about 30 weeks. If you mow every week of that season, 4 or 5 visits aren't in the price. If you stop at 26, the customer thinks you quit early. Neither is a good conversation.
Mistake 5: what your state requires on the estimate
The roofing draft is the clearest case. Wind damage is often an insurance claim, and Oklahoma's Roofing Contractor Registration Act has specific rules for that. We read the act on the Construction Industries Board's site. Among other things:
- A roofing contractor must show its registration number on every business card, correspondence and contract, and the act lists bids among the media that must carry it (Sections 1151.17).
- Roofers can't advertise or promise to pay all or part of the homeowner's insurance deductible, and "Every roofing contractor shall provide a written notification of the requirements of this section with its initial estimate" (Section 1151.30).
- When a homeowner will pay from an insurance claim, they can cancel within 72 hours after the insurer denies all or part of the claim in writing. The contractor has to give a bold-type statement and a notice of cancellation form with the contract (Section 1151.21).
The AI draft had none of these. It didn't mention insurance at all.
Other states and cities have their own rules. Springfield, Missouri, for example, requires a gas permit to replace a residential gas water heater. The AI added a $50 "permit and inspection fee" without knowing the city's actual fee. And if you sign jobs at the customer's home, check whether the FTC's Cooling-Off Rule applies. It gives buyers three business days to cancel many sales made at home, with exceptions, including sales needed to meet an emergency. This is general information, not legal advice.
What changed when we gave it our prices
We ran the roofing job again in a new chat. This time we gave it a company name, a registration number, a phone number and a short price list: $95 for the service call and inspection, $18 per shingle, $425 to replace the chimney step and counter flashing, $85 per sheet of decking only with the homeowner's approval, payment on completion, 15-day validity, a 1-year workmanship warranty on the repair, and no guaranteed color match on older roofs. We told it to add nothing else and to leave a blank where it didn't know something.
The result was much better. It used every price, came to $736.00 ($95, plus 12 shingles at $18, plus $425), showed the decking as "[___] sheets @ $85 per sheet" with the approval note, put the registration number and phone in the header, added no tax and no extra warranty, and left blanks for the date and customer.
Two problems remained. It added a line we didn't give it: "Additional charges may apply if hidden damage is discovered during the work." That's broader than our rule that decking needs approval first. And although we told it the homeowner might file an insurance claim, it still left out the Oklahoma notices. It also had no signature line for the customer. Your price list can fix the prices. It can't fix what the AI doesn't know about your state's rules. That part is on you.

A prompt that works better
Based on the second run, here's the kind of prompt to save in a note and reuse. Fill in the brackets once.
- "Write an estimate for [company name], [license or registration number], [phone], [email]."
- "Customer: [name, job address]. Job: [what you saw, measurements, photos described]."
- "Use ONLY these prices: [your price list]. Do not add any price, tax, warranty, insurance claim or promise that is not in this list. If something is unknown, leave a blank like [___]."
- "Terms: [deposit, payment, validity, warranty in your words]."
- "Not included unless approved: [your usual extras]."
- "Required text: [any notice your state or city requires, pasted word for word]."
- "Add a line for the customer's signature and date."
The "required text" line matters most. Write it once with your accountant, insurer or a lawyer, paste it every time, and the AI will keep it. If you'd rather start from a fixed layout, our free roofing estimate and contract templates already have "what's included" and "what's not included" sections, signature lines, and a spot for your state's required notices. You can paste one into the prompt and ask the AI to fill it in.
Check this before you send any AI estimate
Read it once, slowly, with this list. It would have caught every problem in our test.
- Is every price one you set, from your own costs?
- Is there a tax line? Does it match what your accountant told you for this kind of job?
- Search for warranty, guarantee, insured, included, within. Did you decide each one?
- Are your company name, phone and license or registration number on it?
- Does it say what's not included and how extra work gets approved?
- Do the quantities add up: squares, visits, weeks, gallons?
- Does it have any notice your state requires, word for word?
- Is there a place for the customer to sign and date?
How we ran the test, and its limits
We used Claude Haiku, a small and fast AI model from Anthropic, on 24 September 2026, with no web search and no files. Each prompt went into a new chat, once, with no follow-up corrections. The businesses and customers were fictional. We checked the drafts ourselves against state tax pages, the Oklahoma roofing act and the city of Springfield's permit rules.
That's a small test. A different model, a paid estimating tool, a longer prompt or a second run could give different results. Tools built for estimates may ask more questions or use real price data. The checks above still apply to whatever they produce, because you're the one who signs it.
Your next step
Write your price list and your standard terms in one note this week, including the exclusions you always end up explaining. That note makes AI useful for estimates, and it makes your estimates faster without AI too.
Vladier builds and runs websites for small businesses, from $99 a month. The domain and the site belong to you, and your quote form sends every request straight to your phone and email.
Frequently asked questions
Can AI write an estimate for my business?
Can I trust the prices an AI estimate generator gives me?
Should an estimate include sales tax?
What does an Oklahoma roofing estimate need?
Is there a free estimate template for contractors?
Sources we checked (6)
- Oklahoma Construction Industries Board: Roofing Contractor Registration Act, Title 59 (PDF, read 24 September 2026)
- Oklahoma Administrative Code 710:65-7-13, Vendors' responsibility: sales to contractors (via Cornell LII)
- North Carolina Department of Revenue: Services to Real Property Taxability Chart
- Sales Tax Institute: Missouri Letter Ruling LR3685, labor and materials used in real property improvements taxable to contractor, not owner
- Federal Trade Commission: Buyer's Remorse: The FTC's Cooling-Off Rule May Help
- City of Springfield, Missouri: FAQs, Gas permits
Want to see a new site before you decide anything?
We'll build your website for free and send you a private link. If you like it, plans start at $99/month. If not, you owe nothing.
Build my free website