Treat every AI-written quote as a draft that only a named person can release. Write down which quotes need sign-off (all of them at first), block sending until approval in your quoting tool or automation, and give the approver a two-minute checklist covering prices, quantities, maths, discounts and promises. Then log every approval and correction.
The AI is rarely wrong about wording. It goes wrong on numbers and commitments: a price from last year's list, a band one step too low, a discount nobody offered, a turnaround you can't meet. An approval step works when it targets those specific failures and takes minutes. It fails when it asks a busy owner to "have a look" at a PDF.
Where AI-written quotes go wrong
Before designing the check, know what it has to catch. These are the failure types that turn up again and again when a chat assistant or an AI feature drafts quotes from call notes, with an illustrative example of each:
| Failure | How it shows up | Why the AI does it |
|---|---|---|
| Arithmetic | 12 months at $650 totalled as $6,800 instead of $7,800 | Language models predict text; they don't calculate unless a tool does it for them |
| Stale price | Payroll at last year's $5 per employee per run instead of $6 | An old price list or old quote was sitting in the chat or project files |
| Wrong band | Client with about 350 transactions a month put in the up-to-300 band | Call notes said "300 to 400" and the AI picked the cheaper end |
| Invented discount | "10% off for the first year" appears in the cover letter | The notes mentioned the client asked about discounts |
| Promise you can't keep | "Monthly reports delivered within three working days" | It sounds reassuring, and nothing told the AI your real turnaround |
| Another client's terms | Payment terms of 60 days copied from an earlier proposal | The earlier proposal was in the same conversation |
| Missing exclusions | No mention that catch-up work is billed separately | The template section was dropped to shorten the letter |
Notice that only the first is a maths problem. The rest are problems of source: the AI used the wrong source, or no source at all. That shapes the whole design below. If maths keeps tripping your drafts, the tutorial on why AI is bad at maths explains the mechanism.
Stage 1: Write the approval rules before switching anything on
Decide on paper who approves what, before you touch any settings. A rule that exists only in the owner's head can't be enforced by software or covered by a colleague during a holiday. Keep it to one table.
A filled-in approval matrix for an illustrative five-person bookkeeping firm that quotes monthly bookkeeping, payroll, management accounts and catch-up work:
| Condition | Approver | Target turnaround |
|---|---|---|
| Every AI-drafted quote, first 60 days | Owner | Same working day |
| Standard packages from the current price list, under $1,000 a month | Senior bookkeeper | 4 working hours |
| Any discount, of any size | Owner | Same working day |
| Monthly fee over $1,000, or first-year value over $12,000 | Owner | Same working day |
| Catch-up or clean-up work (non-standard scope) | Owner and senior bookkeeper | 1 working day |
| Any change to payment terms or notice period | Owner | Same working day |
| Owner away | Senior bookkeeper, up to $1,000 a month, no discounts | 4 working hours |
Three choices in that table matter more than the thresholds. Everything needs approval at first, because you don't yet know where your AI drafts go wrong. Discounts always go to the owner, whatever the size, because an invented discount is the error that costs the most over a client's lifetime. And there is a named backup with a lower limit, so the rule survives the owner's holiday.
Stage 2: Make sending impossible until someone approves
An approval rule people can skip will be skipped on a busy Friday. The control has to sit where the quote leaves the building. Pick the option that matches where your quotes are produced.
Quotes built in accounting software
Most accounting tools keep a quote as a draft until someone sends it, so the control is user permissions. Xero, for example, has a sales and purchases user role that can create draft quotes, invoices and bills but not approve them. Give the people who work with AI drafts that kind of role, and keep approve-and-send rights for the approvers in your matrix.
Quotes built in a CRM
HubSpot has built-in quote approvals, which now sit in its Revenue Hub (renamed from Commerce Hub in June 2026) on Professional and Enterprise. Standard approvals can require sign-off when a discount passes a set amount or a line item's discount does. Advanced approvals, on Enterprise only, can trigger on quote amount, payment terms and other properties, with up to five sequences of up to ten approvers. A quote waiting for sign-off shows as "Pending approval", and approvers can approve with a note or choose "Request changes" with feedback. One quirk is worth knowing: if the creator is the only approver, no approval is required, so name someone else.
Quotes produced by an automation
If a workflow drafts quotes from form submissions or call notes, put a pause in it before anything is emailed. The mechanics for each platform are covered in how to add human approval steps to AI automations; the quote-specific settings are these:
- Zapier Human in the Loop (Professional plan and above) pauses the Zap and lets a reviewer approve, decline or change the data. On Professional, requests can only go to yourself; on Team and Enterprise they can go to colleagues. Set the timeout to "End run", not "Skip and continue", so an unanswered quote is never sent by default.
- Power Automate has a "Start and wait for an approval" action. The approvals connector is a standard connector, so Office 365 licences that include Power Automate can use it, and approvers respond from Outlook or Teams. Two traps: a flow switches off after 14 days of continuous failure, and without a Premium licence it also switches off after 90 days with no triggers, which a seasonal quoting flow can hit.
- Make offers a Human in the Loop app only on Enterprise (in closed beta). On other plans, a common workaround is a status column in a sheet that the approver changes to "Approved", with the sending scenario filtering on that value.
Quotes typed from a chat assistant
The simplest case is also the leakiest: someone asks ChatGPT or Claude for a quote letter and pastes it into an email. Here the control is procedural. AI-drafted quotes are saved to one shared folder named for the purpose, and only approvers send from the quotes mailbox. It isn't software enforcement, so the log in Stage 5 is what shows whether it's being followed.
Stage 3: Keep the numbers out of the AI's hands
The single most effective design choice is to stop asking the AI for prices at all. Let a price calculator (a spreadsheet, your accounting tool or your CRM's product library) produce every number, and let the AI write the words around them: the cover letter, the scope description, the next steps. Then the approver checks prices once, in a place that is always current, instead of re-checking arithmetic in prose.
Where the AI must draft the whole quote, make it show its working so the approver can check sources rather than redo the job. A prompt that does this:
Draft a quote for the client in the discovery notes below.
Rules:
- Use ONLY the attached price list (version dated [date]).
If a service isn't on it, don't quote it.
- For each line show: service, price-list code, unit price,
quantity, where the quantity came from (quote the exact
line from the notes), line total.
- Do not add discounts, deadlines, guarantees or payment
terms that are not in the attached quote template.
- Under QUESTIONS FOR APPROVER, list anything you had to
assume.
DISCOVERY NOTES:
[paste notes]
Part of what came back (illustrative):
BK-02 Monthly bookkeeping, 101-300 transactions
$400/month x 12 = $4,800
Quantity source: "roughly 300-400 transactions a month"
PR-01 Payroll, 8 employees, monthly run
$6 x 8 x 12 = $576
Quantity source: "eight staff, paid monthly"
QUESTIONS FOR APPROVER
- None.
The catch: the notes say 300 to 400 transactions, and the AI chose the band that ends at 300, the cheaper one. Worse, it listed no question about it, even though it was exactly the kind of assumption the rules asked it to flag. Because the quantity source is quoted next to the line, the approver sees the mismatch in seconds and moves the client to the next band ($650 a month in this firm's list). Without the source line, $400 a month would have looked perfectly plausible.
Stage 4: The approver's two-minute check
Approvers need a short, fixed list, in the same order every time, so a check takes two minutes instead of a vague twenty. This one covers the failure table above:
- Client: the right name, entity and contact everywhere, with no other client's name in the text.
- Price list: every line exists on the current price list, with the version date matching.
- Quantities: each quantity matches the notes; where the notes give a range, the band covers the top of it.
- Maths: totals recalculated in the spreadsheet or quoting tool, never trusted from the prose.
- Discounts: none, unless listed in the matrix and approved by the right person.
- Scope: inclusions match the package, and exclusions (catch-up work, extra calls, one-off projects) are stated.
- Promises: no deadlines, response times or guarantees beyond your standard terms.
- Terms: payment terms, quote validity and notice period match the template.
Here it is filled in for the illustrative bookkeeping quote above, as the approver recorded it:
| Check | Result | Note |
|---|---|---|
| Client | Pass | |
| Price list | Pass | September list |
| Quantities | Fail | 350 transactions a month needs BK-03 at $650, not BK-02 |
| Maths | Pass after fix | New first-year total $8,376 |
| Discounts | Pass | None |
| Scope | Fail | Catch-up exclusion missing; client is three months behind |
| Promises | Pass | |
| Terms | Pass | 30-day validity |
The corrected first-year total: $650 × 12 = $7,800 for bookkeeping plus $576 for payroll, $8,376 in all. The uncorrected draft said $5,376. Sent as drafted, that quote would have underpriced a year's work by $3,000 and left the three months of catch-up work unbilled or, worse, implied it was included.
Stage 5: Log every approval and every correction
The log is what turns an approval step from a habit into something you can manage. It needs only a few columns, and a shared spreadsheet is enough. Illustrative rows from the bookkeeping firm's first fortnight:
| Quote | Value a month | Approver | Minutes to approve | Outcome | Error type |
|---|---|---|---|---|---|
| Q-0412 | $650 | Owner | 4 | Changes requested | Wrong band, missing exclusion |
| Q-0413 | $250 | Owner | 2 | Approved | |
| Q-0414 | $1,150 | Owner | 6 | Changes requested | Invented discount |
| Q-0415 | $400 | Owner | 3 | Changes requested | Promise ("reports in 3 days") |
The error-type column is the valuable one. After a month it tells you which instruction to add to the drafting prompt, which item to move to the top of the checklist and, later, which package types are safe to hand to a less senior approver.
A five-person bookkeeping firm's first month, in numbers
Pulling the illustration together. The firm sends about 22 quotes a month. Before AI, the owner drafted each one in about 45 minutes: 16.5 hours a month. With a bookkeeper drafting in a shared project that holds the price list and templates, a draft takes about 15 minutes (5.5 hours) and the owner's check about 4 minutes (roughly 1.5 hours). Seven hours a month instead of 16.5, with the owner's own time down from 16.5 hours to 1.5.
In the first month the log recorded seven corrections across the 22 quotes: three wrong bands, one arithmetic slip, two invented promises and one quote that carried another client's payment terms. Without the approval step, every one of them would have reached a client. The largest single catch was the $3,000 underquote above. None of the seven involved a wording problem, which confirmed where the checklist should focus.
In month two, corrections were down to two, both non-standard scope. The firm moved standard packages under $1,000 a month to the senior bookkeeper as approver and kept everything else with the owner. If you want the drafting side of this set up well before the approval step, the tutorial on creating quotes and estimates with AI covers the templates and price-list files.
Fee terms instead of line items: a recruitment agency version
Not every quote is a list of line items. A recruitment agency's quote is usually a set of fee terms: a percentage of first-year salary, a replacement or rebate period if the hire leaves early, payment terms and sometimes exclusivity. The failures change accordingly. The AI copies a percentage agreed with one client into another client's terms, stretches a rebate period because the client asked for "reassurance", or adds an exclusivity clause the consultant never discussed.
The approval rules for an illustrative agency look different from the bookkeeper's:
- Any fee percentage below the agency's standard floor goes to a director.
- Any rebate or replacement period longer than standard goes to a director.
- Exclusivity, retained or multi-role terms always go to a director.
- Standard terms, standard percentage, single role: a senior consultant approves.
The approver's check shrinks to four questions: is the percentage the one agreed on the call, is the rebate period standard, are the payment terms the template's, and is every clause one the consultant actually discussed? The last question catches the most, because an AI asked to make terms "client-friendly" adds concessions that sound generous and cost real money when a placement fails. Where the terms sit inside a longer proposal, the number audit for AI-drafted proposals covers the rest of the document.
Stopping the approver becoming the bottleneck
An approval step that delays quotes by two days loses work, and staff will find ways around it. Four settings keep it fast:
- A turnaround target per rule, written in the matrix (4 working hours, same day), so everyone knows when to chase.
- Reminders built into the tool. Zapier's Human in the Loop can send reminder notifications before the timeout, and HubSpot notifies approvers by email with a link to the quote.
- A named backup with a lower limit, so a holiday doesn't stop quoting.
- Graduation by evidence. When the log shows a package type with no corrections for two months, move it to a less senior approver or to sampling (one quote in five checked in full). Keep discounts and non-standard scope with the owner permanently.
Telling a real check from a rubber stamp
After a few quiet months, approval steps decay into a click. The log shows it before a client does. Three warning signs:
- Approval times collapse. If the average drops below a minute for quotes with eight lines, nobody is recalculating totals.
- "Changes requested" drops to zero while amendments after sending don't. Track quotes corrected after they went out. If those continue while approvals show no changes, the check has stopped working.
- The same error type returns. A repeat means the fix went into someone's memory rather than into the drafting prompt or the checklist.
Once a month, have a second person re-check three approved quotes in full against the checklist. It takes ten minutes, keeps approvers honest without accusing anyone, and gives you evidence for loosening or tightening the rules. The broader principles, including how much review different kinds of AI work need, are in setting up human review for AI work without slowing down.
Approving AI-drafted quotes: follow-up questions
Should the same person draft and approve a quote?
Not if you can avoid it. Someone who prepared the quote reads what they meant, not what the page says. HubSpot's own quote approvals skip the approval step when the creator is the only approver, which shows why a second person matters. In a one-person business, approve the next morning with the checklist rather than straight after drafting.
Can I let AI send low-value quotes automatically?
Only after the approval log shows it has earned it. A sensible bar is two months with no corrections on that package type, then automatic sending for standard packages under a set value, with a person sampling one in five afterwards. Anything with a discount, non-standard scope or changed terms should always stop for a human.
What if a wrong AI quote has already been accepted?
Contact the client quickly, explain the error plainly, and offer the corrected figure. Whether you must honour the original price depends on your terms and the law that applies to you, so check your engagement terms and take advice if the sum is large. Then log the error and add the missing check to the approver's list.
Further reads
- Quote to Cash: Connect Quotes, Invoices and Payments With AI — Connect approved quotes to invoices and payments without retyping.
- AI Proposal Mistakes That Cost You the Job — The proposal errors that lose jobs, beyond the numbers.
- AI Error Log: Track Mistakes and Stop Them Happening Again — Turn the corrections your approvers log into fewer repeats.
- How to Set Spending Rules and Approvals for Business Purchases — The same approval-matrix idea applied to what the business buys.
- AI Content Approval Workflow: Draft, Check, Sign Off — The same draft, check and sign-off idea for marketing content.
- AI Proposal Software vs a General AI Assistant: Which to Pay For — Whether dedicated proposal software beats a general assistant.
- How to Write Wedding Flower Proposals With AI — A florist's method for AI-assisted wedding proposals: consultation brief, recipe costing, prompts for the words, and the seasonality check AI can't do.
- How Caterers Use AI to Quote Events and Plan Menus — How a small caterer can use AI to go from messy enquiry to costed quote and proposal, with a worked 70-guest quote and prompts to copy.
- How Architects Use AI for Fee Proposals, Briefs and Paperwork — How a small practice uses AI for briefs, fee proposals, variation letters and site reports, with prompts, sample outputs and the parts AI must leave alone.
- How Videographers Use AI to Edit, Caption and Quote Faster — Transcript editing in Premiere, Resolve and Descript, a caption proofreading routine, an enquiry-to-quote prompt with sample output, and rights checks.
- AI Quoting Tools for Plumbers: What They Cost and What They Do — Prices and real AI features of the quoting tools plumbers use, what they still can't do, and a side-by-side cost for a two-van firm.
- Turning On-Site Voice Notes Into Job Sheets and Quotes With AI — A spoken site checklist, the free transcription already on your phone, and two prompts that turn a rambling voice note into a job sheet and a draft quote.
- How Electricians Use AI to Count Fittings From Drawings — How symbol search and trained detection count electrical fittings, which tools do it and what they cost, and the checks that stop a miscount reaching a tender.
- How Small Builders Use AI to Price Variations and Change Orders — Turn a site conversation into a priced, signed variation: voice-note capture, rate-sheet pricing, knock-on cost checks and a variation register.
- How Painters and Decorators Can Quote From Photos With AI — Send a photo brief, let AI read surfaces and condition, get sizes from a tape or scan, price from your rates and word the range so it holds up on the day.
- Following Up Silent Quotes With AI: A Decorator's Playbook — Four follow-up plays for decorating quotes that go quiet, from the day-two check-in to the day-thirty close-out, with AI drafting each one from your notes.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: HubSpot Knowledge Base (set up and manage quote approvals); Zapier Help (Human in the Loop request approval); Microsoft Learn (Power Automate approvals); Xero Central (sales and purchases user roles). Checked September 2026.