Work snippetAI quote drafting

AI quote drafts from job notes and photos, with a price book lookup and technician sign-off

How I would approach quoting for a 12-tech residential service business: the technician's notes and photos become a draft quote, every price comes from the price book, the technician signs off before anyone else sees it, and Xero is updated only when the customer accepts.

Work snippet with example figures.

Area
AI quote drafting
Tools
Jobber · ServiceM8 · Xero · n8n
Typical scope
US$3,000–4,800
Timeline
About 8 weeks · 4 fixed milestones

Problem

What the owner sees

  1. Notes and photos taken on site that are retyped into a quote a day or two later
  2. Quotes that go out late, so the customer has already booked someone else
  3. Prices typed from memory instead of the price book
  4. Items forgotten, then added as a variation
  5. A quote built by AI and sent with nobody checking the prices

The technician has already seen the job and taken the photos. The slow part is turning that into line items with the right prices. A model can propose the lines from the notes and photos, but the prices must come from your price book and the technician must sign off before anyone else sees the draft. The quote is always sent by a person.

Where it goes wrong today
Everyday situationWhat goes wrong
Technician types “needs new heater, 50 gal, tank, valve”The office guesses the rest and prices from memory
Photos of the rating plate stay in the jobThe model number is never read, so the wrong unit is quoted
Price book changes after the visitThe quote uses last year’s price
Small items left offAdded later as a variation the customer did not expect
Quote accepted but not invoiced as a depositNobody raises the deposit in Xero

System map

A 12-tech residential plumbing and electrical business. Technicians write notes and take three to eight photos in the job system, and the office turns them into a quote, usually the next day. Jobs run in Jobber or ServiceM8 and the ledger is in Xero.

The example drafts the quote from the notes and photos, looks every item up in the price book, and holds the draft for the technician to sign off. Xero is updated only when the customer accepts.

System map: who and what does each job
PartWhat it does
Jobber or ServiceM8Holds the job, notes, photos, client and property, and the quote the customer sees.
Price bookAn export of items, unit, sell price and cost, with a version number. The only source of prices.
Labour rulesA table of standard hours by task type and the charge-out rate.
Language modelReads the notes and photos and proposes line items. It never sets a price.
Draft review screenA form where the technician sees each line beside its source note or photo.
n8n workflowGathers the inputs, runs the lookups and checks, creates the draft and handles acceptance.
XeroReceives the deposit or invoice with the right tax code and tracking after acceptance.

How the data moves

  1. Notes and photos
  2. Draft requested
  3. Lines proposed
  4. Price book lookup
  5. Technician sign-off
  6. Quote sent by a person
  7. Accepted, Xero synced

Rules agreed in writing

These rules are what keep the draft honest. They are agreed with the technicians and the office manager and held in one table.

Quote rules agreed in writing (example settings)
ItemExample setting
Draft triggerThe technician taps Draft quote. Nothing is drafted automatically.
Minimum inputNotes of at least 15 words or one photo. Otherwise the app asks three short questions.
PricesFrom the price book version in force. The model supplies an item, a quantity and a reason, never a price.
Item matchA line needs a price book match at 0.85 or higher. Below that it becomes a Needs price line at zero.
LabourHours from the labour rule for the task, plus any extra the technician adds with a reason.
Approval thresholdQuotes over US$2,500, or a margin under 25%, go to the office manager as well.
StatusDrafts stay in Draft. Only a person sends. A quote with a Needs price line cannot be sent.
PhotosPhotos marked private by the technician are never sent to the model.

Flow steps

Nine steps from the visit to the ledger. The first five happen before the customer sees anything.

Flow steps, in order
StepTriggerWhat happensResult
1 VisitTechnician finishes notes and photosNotes, photos and checklist saved on the job.Job record
2 RequestTechnician taps Draft quoteNotes, photos, property history and the last three jobs at the address collected.Input bundle
3 ProposeInput bundle readyModel returns work items with quantity, unit, source and confidence. Rating plates are read from photos.Proposed items
4 Look upProposed itemsEach item matched to the price book. Labour taken from the rule for the task type.Priced lines
5 CheckPriced linesTotals, margin, threshold and Needs price lines checked.Check results
6 DraftChecks runA draft quote is created in Jobber or ServiceM8, not sent.Draft quote ID
7 Sign offDraft createdTechnician reads each line beside its source and edits or removes lines.Signed draft
8 SendOffice approvesA person sends the quote from the job system as usual.Quote sent
9 AcceptQuote acceptedn8n creates the deposit or invoice in Xero once, with tax code and tracking.Xero ID on the job

Field mapping

The first table shows where each proposed value comes from and lands. The second shows the checks run on every draft.

Model output to the quote (example settings)
Model outputQuote fieldRule
Item and reasonLine descriptionPrice book wording, with the reason added in the internal note
Quantity and unitQuantityRounded to the item’s unit. Length items in whole feet.
Price book itemItem code and sell pricePrice from the book. A Needs price line carries zero.
SourceInternal noteWhich note or photo the line came from
ConfidenceReview flagBelow 0.90 the line is highlighted for the technician
Labour task typeLabour lineHours from the labour rule at the charge-out rate
Checks run on every draft (example settings)
CheckRuleOutcome if it fails
Every line pricedA price book item or a Needs price flagThe quote cannot be sent
Labour in rangeBetween 70% and 150% of the rule hoursHighlighted for the technician
MarginAt least 25% on materials and labour togetherSent to the office manager
Total thresholdUnder US$2,500 without a second approvalSent to the office manager
Source presentEach line points to a note, photo or ruleLine removed or sourced by the technician
Price book versionSame version at draft and at sign-offLines re-priced and changes shown

Edge cases

These are written as test jobs, using past jobs from your own history.

Edge cases and how each is handled
SituationHow it is handled
Notes are too shortNo draft. The app asks three questions and tries again.
Notes say 40 gal, the plate says 50 galBoth shown side by side. The technician chooses.
Item not in the price bookA Needs price line at zero. The quote cannot be sent until it is priced.
Quote accepted twice or the event repeatsOne Xero document per quote ID. The second event is logged and ignored.
Scope changes after acceptanceA new quote revision is drafted and the Xero document is updated, not duplicated.
Technician edits a priceNot allowed. A price change goes to the office manager with a reason.

Human sign-off and audit trail

The technician is the first approver, because they saw the job. The office manager is the second, for size and margin. Nobody else sees a draft until the first has signed.

Who signs off what
WhoSigns offWhenIf nobody acts
TechnicianEvery line of the draft against the notes and photosSame day as the visitThe draft stays hidden from the office and a reminder goes out after 4 hours
Office managerQuotes over US$2,500, margin under 25%, or any price changeWithin one working dayNot sent
Office managerSending the quote to the customerAfter sign-offDraft stays a draft
OwnerThe price book, labour rules and thresholdsQuarterly and on any changeExisting rules stay
Audit trail kept for every item (example entry)
FieldExample
Draft IDQuote draft ID in the job system
InputsNotes version, photo list and which photos were sent to the model
ModelModel name and version, prompt version
Price bookVersion in force at draft and at sign-off
Technician editsLine, before, after and the reason
Sign-offTechnician name and time, office approval if needed
XeroDocument ID, tax code and tracking written on acceptance

Data and privacy

Photos of homes and notes about customers are personal data. The design sends only what the proposal needs.

Where the data lives and who can see it
DataHandling
PhotosSent to the model only when the technician requests a draft, and never when marked private. Faces and documents are not extracted.
Customer detailsName and address are left out of the model request. The model sees the work, not the person.
Model useA hosted model on terms that do not allow training on your data, or a local model for sites where photos must stay on your network.
Price book and marginsCost prices stay in your systems. The model sees item names and units, not costs.

Worked example

The tables below follow one example job. They show the shape of a draft, not a client result.

Draft quote for a water heater replacement (example figures, US$)
LineSourceQtyUnit priceLine totalConfidence
Water heater, electric, 50 gal, supply only (PB-0412)Notes and photo 21612.00612.000.97
Expansion tank, 2 gal (PB-0588)Notes174.0074.000.95
Discharge pipe, copper 3/4 in, per ft (PB-0231)Notes, photo 389.5076.000.91
Braided connectors, 3/4 in, pair (PB-0317)Notes128.0028.000.96
Isolation valve, 3/4 in ball (PB-0199)Photo 4136.0036.000.88
Plumber labour, hours (LB-01)Labour rule WH-REPLACE4.595.00427.500.93
Haul away and disposal of old unit (PB-0902)Notes145.0045.000.97
Permit fee, check local rules (needs price)Notes10.000.00Flagged
Subtotal1,298.50
Tax at 8%103.88
Total1,402.38
Checks run on that draft (example)
CheckResult
Every line priced7 of 8 priced. One Needs price line, so the quote cannot be sent yet.
Labour in range4.5 hours against 3.5 to 6.0 allowed for this task. Pass.
MarginAbove the 25% floor. Pass.
Total thresholdUS$1,402.38 is under US$2,500. No second approval.
Source presentEight of eight lines point to a note, a photo or a rule. Pass.

Testing and checks

Every check has a written pass condition and fail condition before it is run. A FAIL stops go-live until it is cleared and the check is run again.

Test plan with PASS and FAIL conditions
IDCheckMethodPASS whenFAIL when
T1Ten past jobsDraft from old notes and photos, compare with the quote actually sentNo invented prices. Few lines added or removed by handAny price not from the book
T2Short notesSubmit 6 words and no photosNo draft and three questions askedA draft appears
T3ConflictNotes say 40 gal, photo says 50 galBoth shown for choiceOne chosen silently
T4Unknown itemAsk for an item not in the bookNeeds price line, quote cannot be sentSendable
T5Price book changeChange a price between draft and sign-offRe-priced and shownOld price stays
T6Private photoMark one photo privateNot in the model request logSent to the model
T7Approval thresholdDraft a US$3,000 jobGoes to the office managerSent without approval
T8Acceptance syncAccept a test quoteOne Xero document, right tax code and trackingNone or two
T9Repeated eventSend the acceptance event twiceSecond logged and ignoredTwo documents
T10RevisionChange scope after acceptanceSame Xero document updatedNew duplicate document

Scope and milestones

A fixed scope agreed in writing before anything starts. Each milestone is paid when you sign off its deliverable.

Scope: what a project like this covers
AreaIncluded
Systems AuditReview of the job system quote flow, the price book and the Xero link, a 45-minute call, written findings and a fixed quote
Price book and labour rulesExport, versioning and a labour table agreed with the office
Draft engineNotes and photos to proposed items, price book lookup and checks
Draft review screenSign-off form beside sources, with edits logged
Quote creationDraft quotes in Jobber or ServiceM8, never sent automatically
Xero on acceptanceDeposit or invoice created once, with tax code and tracking
TestingTen checks, run on past jobs from your own history
HandoverWritten SOPs, a recorded handover video and files you own, plus 14 days of fixes after go-live
Not includedTax filing and statutory returns.
Also outside the scopeRedesigning the price book. Training technicians in photo habits beyond one short session. Model usage fees, billed to you by the vendors. Sending quotes automatically.
Fixed milestones
MilestoneDeliverableTimingShare
M1 Rules and price bookQuote rules, thresholds and labour table signed, price book exportedWeeks 1 to 225%
M2 Draft engineDrafts from past jobs with checks, T1 to T5 passWeeks 3 to 430%
M3 Sign-off and XeroReview screen, quote creation, acceptance sync, T6 to T10 passWeeks 5 to 630%
M4 Pilot and handoverTwo weeks with three technicians, SOPs, handover video, 14 days of fixesWeeks 7 to 815%

Typical scope for this kind of project: US$3,000–4,800

About 8 weeks across 4 fixed milestones. The Systems Audit (US$300, fixed) comes first and confirms the scope.

Describe what is going wrong between your job system and your books, and I will say where I would look first.

Send a short note through the form on the home page. I will reply with where I would start, and whether the US$300 Systems Audit is the right first step.

Hire me on Upwork (opens in a new tab)Hire me on Freelancer (opens in a new tab)