
Quotes without invented prices
Draft a quote without inventing the price
Approved rates and real scope in, two passes, then a desk check. The same method in ChatGPT, Claude, and Gemini.
The quote is late because the narrative takes longer than the site visit. You paste "make this more professional" and the draft adds a complimentary inspection you do not give away.
The short answer
Put approved prices and the real scope in first. Draft once. Tighten once. Then check every number against the rate sheet before anyone sends it. The same two passes work in ChatGPT, Claude, and Gemini. The tool writes the sentences. You own the commitment.
Why the narrative invents a line item
A polish request with no rate sheet has empty slots. Empty slots become a package, a discount, or a validity date you did not set. Fix the slots before you ask for tone.
Ground the price and the scope first
Before you open any tool:
- Pull the rate sheet or ranges you stand behind. A Drive file is fine if that is where it lives.
- List inclusions and exclusions you already use.
- Note deposit, cancel, and how long the quote stays valid, only if those rules already exist.
- Write the customer's real scope in bullets from the call or the visit.
A number that is not approved does not go in as a guess. It goes in as [NEED].
The two passes
Pass 1. "Using only the facts below, draft a clear proposal: summary, scope, exclusions, price lines left blank where I have not given a number, next step. Do not invent prices or discounts. Mark gaps [NEED]."
Pass 2. "Cut filler. Keep every fact. One idea per short paragraph. Put the ask in one sentence."
ChatGPT
Keep the rate rules and one anonymized winning sample in a Quotes Project. Today's scope goes in the chat. If the crew quotes often, a custom GPT or a Canvas worksheet can hold blank rate cells. Copy the final into the proposal path you already use.
Claude
Same Project pattern. Claude Projects hold the rate sheet. An Artifact can be the worksheet with blank cells. The narrative for a long proposal still follows long-document writing: you on both ends, the draft in the middle.
Gemini
If the rate sheet is a Drive file, open it from the side panel or attach it as Gem knowledge, on an account allowed to see that file. Gems hold the standing "do not invent prices" line. Canvas can export the worksheet text to a Doc. A personal Gemini login is the wrong door for a company rate sheet. See Drive and Workspace.
Desk check before send
- Every price matches the approved sheet or a manager override you wrote down.
- Exclusions match the policy you already use.
- No surprise discount or "standard package."
- Validity date and deposit language match your real terms.
- One next ask: approve, book a visit, or reply yes or no.
The tool should not own final contract language, a clinical claim, or anything that says "sign this" without your review. It drafts the narrative. You commit.
If the quote is for winter work, this snow removal contract template for landscapers shows how to turn the approved estimate into a signed contract before the first storm.
Try this on a quote you already sent
- Pick a quote you sent. Strip names if you are training someone.
- Paste only approved rates and that job's scope bullets.
- Run pass 1 and pass 2.
- Diff it against the sent version. Did a soft extra appear?
- Save the prompt and the desk-check list for the next estimator.
When the customer sends a PO against that quote, check it line by line and confirm it with a purchase order acknowledgement email that lists any mismatch before the job goes to the floor.
Example (illustrative): an electrician's panel upgrade
Problem: the narrative says "includes permit" and the shop does not pull that permit. What was built: exclusions pasted from the real list, price lines blank until the rate sheet was copied in. Tools it lives in: a quotes Project. Owner still does: the number and the send. Payoff: not measured.
Mistakes and limits
- Asking for a polish with no rate sheet.
- Letting the worksheet's default number survive the desk check.
- Saving the quote only inside the chat.
- One prompt that also tries to be the contract.
- A Drive file attached from a personal account the admin did not approve.
Doing this inside the tools you already use
If you would rather have this exact job drafted from the software you already use, with you still approving every send, see how a custom build works.
FAQ
Can the tool fill prices from last month's quote?
Only if you paste those prices and they are still the prices you will honor. Otherwise they are [NEED].
Which tool is best at proposals?
The one where the rate sheet already lives. Long narrative care leans Claude. Mixed drafts and a GPT the estimators open by name lean ChatGPT. A rate sheet in Drive leans Gemini. The two passes do not change.
What if the customer asked for a discount on the call?
Put the number you actually offered in Facts. If you did not offer one, the draft must not add one.
Do we still need a person to send it?
Yes. The desk check is the send.
Keep these
- Approved price and real scope in. Guesses out.
- Two passes, then a desk check.
- Blank cells beat invented cells.
- The sent quote is filed where the shop already files quotes.
Sources
Related reading
- The prompt block behind the two passes
- A clickable quote worksheet
- [Customer emails with the same [NEED] rule](/articles/llm-draft-customer-emails-follow-ups)
Keep these
The working rules
Ground price and scope, draft, tighten, desk-check. You still send the number.
Floor vote
Where are you with this job?
One vote per device. Change it any time.
Loading votes…
Field check
Field check
Four questions. Honest answers. No score sent anywhere but this page.
01 / 04
Can you name the one job this piece is for, in one sentence?