Can ChatGPT Write a Builder's Quote? A Worked Example

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Can ChatGPT Write a Builder's Quote? A Worked Example.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Can ChatGPT Write a Builder's Quote? A Worked Example.

Yes, ChatGPT can write a clear builder's quote with scope, exclusions, provisional sums, validity and payment stages, if you supply the prices and decisions. Check every line against your site notes: scope matches what you measured, each exclusion is stated, provisional sums are labelled, and the payment stages add up to the total.

The model writes the wording. It does not price the job, measure the walls or know what lies behind the plaster. In the bathroom refit followed here, the first draft added up perfectly and still narrowed one exclusion, blurred the decorating scope and left the tile allowance undefined: the gaps a customer finds before you do. The figures are invented for illustration, and the sample wording is general information, not legal advice.

Follow me on Instagram@sagnikteaches

The job and the site notes

A four-person building firm visits a family home to quote a bathroom refit. The bathroom is 2.4 by 2.1 metres, the existing suite is 25 years old, and the customer wants a new bath with shower screen, a basin on a vanity unit, a toilet, floor and wall tiling, a heated towel rail and fresh paint. The firm will use its own plumber and a subcontracted electrician. The customer has not chosen tiles or sanitaryware yet.

Connect on LinkedInSagnik Bhattacharya

On the way out, the builder dictates notes. They are rough, which is normal:

Subscribe on YouTube@sagnikteaches
  • Strip out old suite, tiles, boxing-in; skip for waste
  • Replumb to new layout, first fix and second fix; supply new pipework
  • Electrician: extractor fan, spotlights, shaver socket, towel rail supply
  • Board walls, skim, tile floor and walls to 2 m, tile around bath to ceiling
  • Decorate ceiling and any other walls
  • Tiles not chosen: provisional sum. Sanitaryware not chosen: provisional sum
  • Possible hidden rot under old bath: cannot see, exclude
  • Old pipework and heating: leave as is
  • Deposit, three stages, balance on completion; valid 30 days

The notes contain the whole quote in outline. What they lack is clean wording and a structure the customer can follow. That is the model's job.

The Complete Excel Course with AI Integration thumbnail

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 now

The prompt that produces the first draft

You are helping a small domestic building firm write a quote for a customer. I will give you site notes and prices. Do not change any price or add any item I did not list.

Write a quote with these headings: Job description, What is included, Provisional sums, What is not included, Price summary, Payment stages, Validity and acceptance.

Rules:
- Plain English, short sentences, no legal Latin.
- Every price must come from my list. If a price is missing, write [price needed].
- Label each provisional sum clearly, say what it covers and that the final cost is adjusted to actual spend.
- Under "What is not included", turn each of my exclusions into a full sentence and add nothing else.
- Payment stages must add up to the total. Show the arithmetic.
- At the end, list any assumption you made.

Site notes and prices:
[paste notes]
Fixed prices: strip-out and disposal $950; plumbing $1,650; electrical $1,100; tiling labour $2,400; boarding and plastering $1,300; decorating $850; fitting and finishing $1,150.
Provisional sums: tiles $1,200; sanitaryware $2,500.
Stages: 10% deposit, 30% after strip-out and first fix, 30% after boarding and tiling, 30% on completion.
Validity: 30 days. Prices exclude sales tax, which is added where it applies.

Notice what is in the prompt: the figures, the stages, the exclusions and a rule that stops it inventing line items. A vaguer request invites invention. For a library of related prompts, the builders' prompt tutorial covers the neighbouring jobs.

The draft ChatGPT returns

An illustrative first response looks like this, shortened:

Included: Removal of the existing suite, wall tiles and boxing-in, and disposal of waste. New hot and cold pipework and waste connections to the agreed layout. Electrical supply for an extractor fan, spotlights, shaver socket and heated towel rail. Boarding and skim finish to the walls and ceiling. Floor tiling, wall tiling to 2 metres and tiling to ceiling height around the bath. Decoration of the ceiling and any untiled walls. Fitting of the bath, screen, basin, vanity unit, toilet and towel rail.

Provisional sums: Tiles $1,200. Sanitaryware $2,500. These are allowances only. The final charge will be the actual cost of the items you choose.

Not included: Repairs to the floor structure if rot or damage is found. Changes to the heating system. Any works to the rest of the property. Planning or approval fees.

Total: $13,100 including provisional sums. Payment: Deposit $1,310; stage 1 $3,930; stage 2 $3,930; completion $3,930.

That reads well. Now check it the way a customer or a dispute would.

Checking the quote line by line

Arithmetic

Add the fixed prices yourself: 950 + 1,650 + 1,100 + 2,400 + 1,300 + 850 + 1,150 = $9,400. Add the provisional sums: 1,200 + 2,500 = $3,700. Together, $13,100. The stages should sum to the same: 1,310 + 3,930 + 3,930 + 3,930 = $13,100. They do. Do this sum yourself every time; models handle sums most of the time but not always, and a dollar out in front of a customer costs trust.

Scope against site notes

Tick each item in the draft against your notes. Here the draft matches, with one invention. It says "any untiled walls" are decorated, while the notes said "ceiling and any other walls". That is close, but the customer may read it as including the door, its frame and the landing side of the bathroom wall. Fix by naming the areas: "ceiling and the wall strip above the tiling; door, frame and landing side not included".

Exclusions: what was lost

The draft turned "possible hidden rot under old bath" into "repairs to the floor structure if rot or damage is found", which is acceptable. It dropped "old pipework and heating: leave as is" into "changes to the heating system", which is narrower than your note. What happens if the old pipework fails a pressure test after you connect it? Say so: "Existing pipework that is retained is not covered by our price; if it is found to be defective, repairs will be quoted separately." Also the draft added "Planning or approval fees" which you never mentioned. It is a sensible exclusion, so keep it if you agree and delete it if approval and inspection fees are something you handle.

Provisional sums

A provisional sum should say what it includes. The draft says "allowances only". Improve each: "Tiles: supply only, about 20 square metres plus 10% waste (22 square metres), allowing up to about $54 per square metre. Fixing is in the labour price." Without the allowance basis the customer can choose $200-a-metre tiles and expect the same price. Likewise for sanitaryware: list which items it covers (bath, screen, basin, vanity, toilet, towel rail) and say the cost of items above the allowance is added.

One terminology point is worth getting right. In industry usage, an allowance for materials the customer will pick, such as tiles and sanitaryware, is often called a prime cost (PC) sum, while a provisional sum strictly covers work that cannot be defined yet, such as repairs to a floor nobody has lifted. Many domestic builders use "provisional sum" for both, and customers rarely know the difference. Whichever term you use, define it in one sentence on the quote. The hidden-rot item is also a choice: you can exclude it, as the notes do, or carry a small provisional sum for it so the customer sees a realistic figure up front. Ask the model to draft both versions and decide which suits the customer.

Validity and acceptance

The draft produced "valid for 30 days" without a date. Replace it with a real date and wording that prices may change after it. Add an acceptance line: "To accept, sign below or reply by email confirming you accept this quote dated [date]." Ask a solicitor how your accepted quotes are treated where you work.

Tax and extras

Whether tax applies depends on the work, the customer and the rules where you trade. The prompt said prices exclude tax, which is added where it applies. Check that the final quote says the same and have your accountant confirm the wording. For extras, add: "Any work not listed here will be priced and agreed in writing before it starts."

The corrected version

After the checks, the customer-facing quote reads more like this (illustrative, in summary):

ItemBasisPrice
Strip-out and disposalFixed$950
Plumbing, first and second fixFixed$1,650
Electrical (fan, spotlights, shaver socket, towel rail supply)Fixed$1,100
Tiling labourFixed$2,400
Boarding and plasteringFixed$1,300
Decorating (ceiling and wall strip above tiling)Fixed$850
Fitting and finishingFixed$1,150
Tiles, 22 square metres including waste, supply onlyProvisional sum$1,200
Sanitaryware (six listed items)Provisional sum$2,500
Total, before any sales tax$13,100

Payment stages: $1,310 on acceptance; $3,930 when strip-out and first fix are complete; $3,930 when boarding and tiling are complete; $3,930 on completion, adjusted for provisional sums at actual cost. Valid until [date]. Every number can be traced to the notes, and every exclusion is a sentence a customer can read.

Four more checks, from jobs where the quote went wrong

A model may deliver clean prose and still leave the usual traps. Each of these is an illustration of the failure and the fix:

  1. The silent "all-in". A draft says "complete bathroom refit" at the top. The customer takes that to include a new radiator. Fix: replace headline descriptions with a list of rooms, items and heights, and add a sentence that anything not listed is excluded.
  2. The moving allowance. A provisional sum gets rounded or shifted in a redraft: tiles become $1,250. Fix: after every edit, ask the model to produce a table of every number in the document and tick it against your pricing sheet.
  3. The missing programme. Customers ask how long it will take. If you add a duration, base it on the plan: "about 12 working days from start, subject to deliveries and any hidden defects". Do not let the model guess; give it your number.
  4. The over-friendly guarantee. Drafts often add "all work guaranteed". Remove anything you have not decided to promise, and describe your real warranty or defects approach in your own words after checking with a solicitor.

For a close relative of this job, the kitchen installation quote tutorial shows scope and exclusions for a different trade, and the painting proposal template handles prep and coats.

Closing out the provisional sums

The provisional sums are where the final invoice differs from the quote, so work through the reconciliation before the customer chooses anything, not after. Illustrative sequence: the customer picks tiles at $68 per square metre and needs 20 square metres plus 10% waste, which is 22 square metres. The tile cost is 22 x $68 = $1,496, against the $1,200 allowance, so the quote rises by $296. The sanitaryware choices total $2,340, which is $160 under the $2,500 allowance, so the quote falls by $160. The net change is +$136, and the final contract sum becomes $13,236.

Put that on one page and send it before ordering: "Your tile choice is $296 over the allowance; your sanitaryware choice is $160 under. Net adjustment +$136. Please confirm by reply and I will place the orders." That email is a variation in miniature. ChatGPT can format it from a list of chosen items and prices, but give it the numbers and ask it to show the arithmetic so you can check each line. The payment stages then adjust: the completion payment absorbs the net change, so the last stage becomes $4,066. Say so in the quote ("the final stage is adjusted for provisional sums") so nobody is surprised.

A smaller job: the same method on a garden wall repair

The structure scales down. For a small repair, say rebuilding 4 metres of a collapsed garden wall, the quote can fit on one page. Ask for headings of Work, Price, Not included, Payment and Validity. The prompt can stay the same with the figures swapped: labour $780, materials $420, skip $190, total $1,390, half on starting and half on completion, valid 14 days. Exclusions might be: foundations deeper than 300 millimetres if the ground is poor, trees or roots, and replacement of the neighbour's adjoining fence. The point of the short version is that the customer still sees what is in and out.

Notice the temptation on small jobs to skip the exclusions because the job feels simple. That is when disputes begin: the footing turns out to be weak, the customer assumes the price covers it, and you either absorb the cost or argue. A two-line exclusion would have prevented it. Ask the model, "list five things that commonly turn up on a garden wall rebuild and are not in my scope", then keep the ones that apply.

A prompt that stress-tests your own quote

Before you send, ask a second chat to attack the quote. Strip the names and paste the final text with this prompt:

Act as a sceptical customer who is reading this quote for the first time and a sceptical builder who has to deliver it. List: (1) anything a customer could reasonably assume is included but is not stated, (2) any exclusion that is vague, (3) any sentence that could be read two ways, (4) any number that does not appear in the price table. Do not rewrite the quote. Just list the problems with the line quoted.

Illustrative output: "A customer could assume the existing radiator will be moved; the quote does not say. 'Boarding and skim finish' does not say whether the ceiling is included. 'Hidden defects' is not defined." Each point is either a sentence to add or a conversation to have on site. This costs two minutes and finds more omissions than reading your own work for the fifth time, because you stop seeing what you already know.

Handling a change mid-job

Changes arrive on every job. The customer decides they want a niche in the shower wall, or you open a wall and find the old pipework is corroded. The right response is the same each time: stop, write it down, price it, get a reply, then work. A short template helps:

Variation request for [job]
Change: [what and where]
Reason: [customer request / found on site]
Price: $[amount] (labour $[x], materials $[y])
Extra time: [number] working days
This does not change any other part of the quote.
Reply "agreed" by email or sign below before we start this work.

Fill it from your site notes and ask ChatGPT only to tidy the wording. Keep a running tally in the job file so the customer can see how the total moves. The final invoice then contains no surprises, which is the best defence against a late-stage argument. Check how your local rules treat changes agreed by message, and ask a solicitor whether your wording needs adjusting.

Why validity and price changes need their own sentence

A quote with no expiry date is an open offer. If tile and pipe prices move while the customer takes three months to decide, you are held to old figures. Write the date, state that supplier price changes after that date may alter the provisional sums and any supplied materials, and say what happens if the customer accepts late: you will confirm availability and re-issue the quote if anything has moved. Ask the model to draft two versions of this sentence, one firm and one relaxed, and pick the tone that matches how you like to deal with customers. Then check that the date in the sentence matches the date on the front page, because a redraft can leave the two out of step.

Turning the quote into a working template

Once a quote has passed your checks, save it as the template. Keep the structure and wording, and mark the fields that change per job: customer, address, dates, scope lines, prices and allowances. Next time, give the model the new notes and ask it to fill the template, keeping every unchanged sentence word for word. Compare the output with the template using your word processor's compare function, so you see exactly what changed.

Then connect it to the rest of your admin. If you use job software, Tradify can hold quotes, variations and stage payments, and a standard wording library shortens the drafting step further. If you capture site notes by voice, the voice-notes tutorial shows how to move them into a job sheet. When pricing is the hard part, the supplier rate-sheet tutorial turns merchant quotes into a reusable table. If you want to talk through how the whole chain fits together, that is the kind of problem my AI implementation consultation covers.

Sending the quote and following up

A quote that sits in an inbox wins nothing. Send it within a day or two of the visit while the customer remembers you, and make the covering email short. Illustrative wording: "Hi [first name], thank you for having us round. I have attached the quote for the bathroom refit. The two items still to be chosen are tiles and sanitaryware; both are shown as provisional sums so you can see how the price changes with your choices. The quote is valid until [date]. If any line is unclear, ring me and I will go through it." Then diarise a follow-up for four days later.

ChatGPT can write both the email and the follow-up, with the same rule as before: no promises you have not made, no invented deadlines. The best follow-up is useful, not pushy. Offer to explain a line, to adjust a provisional sum if the customer has a budget in mind, or to hold the date for a week if they need to talk to a partner.

What to keep in the job file

Store the final quote as a PDF, the site notes it came from, any photos you relied on, and the customer's written acceptance. If a dispute arises, the file shows what was agreed and on what basis. Keep the AI conversation only if your process requires it; the signed quote is the document that counts. Do the same for every variation, with a short written instruction and price before the work starts.

Questions builders ask about AI-drafted quotes

Is a quote legally binding?

It depends on the wording and on local rules. A quote with a stated validity period that the customer accepts in writing often forms the basis of a contract, while an estimate is usually a rough guide. Say which one you are sending, and ask a solicitor how your accepted quotes are treated.

What is a provisional sum?

A provisional sum is an allowance for something that cannot be priced exactly yet, such as tiles the customer has not chosen. The final cost is adjusted up or down against what is actually spent. Label each one clearly and show what the allowance includes.

How long should a quote stay valid?

Thirty days is common, shorter if material prices move quickly or your diary fills fast. State the date the quote expires and say prices may change after it. Some builders add that a re-quote is free within 90 days if nothing has changed.

Should ChatGPT see the customer's address?

It does not need to. Use the job type and area in square metres or the number of rooms, then add names and the address to your own quote template. Keep customer details out of chats, and use a business plan where content is not used for training by default.

Further reads

Sources: general quoting practice for small domestic building firms; all figures in the worked example are invented for illustration. This is general information, not legal advice.

Want your quoting process faster and tighter?

On a 1:1 call we can walk through how you build a quote today, where the time and the errors go, and which steps AI can draft while you keep the pricing decisions.

Book a 1:1 call with me