Leak Detection Reports: AI Turns Findings and Photos Into Customer Reports

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Leak Detection Reports: AI Turns Findings and Photos Into Customer Reports.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Leak Detection Reports: AI Turns Findings and Photos Into Customer Reports.

Record every reading and observation on a structured field sheet, number the photos, then have AI turn the sheet into a findings table and the table into the customer's report. The readings come from your equipment and the conclusions from you. AI only structures the wording, and you check every figure and sentence before the report is sent.

Two rules decide whether this is safe. Every number in the report must trace back to a reading on your sheet, and no sentence may state fault, liability or insurance cover. A report that breaks either rule can cost far more than the writing time it saved, particularly when it is passed to an insurer.

Follow me on Instagram@sagnikteaches

The blank templates that rank for this subject give you headings and leave the writing to you. Mitti (SafetyCulture's inspection platform, renamed in August 2026) lists a leak detection report template in its public library, with sections for site details, areas checked, equipment, test activities, findings and a job-status outcome. The writing is the slow part: turning a technician's shorthand and thirty photos into something a homeowner, landlord or loss adjuster can read in two minutes.

Connect on LinkedInSagnik Bhattacharya

Start with a field sheet the AI can only restate

The quality of the report is decided on site, not at the desk. If the field sheet captures every reading with its unit, the instrument that produced it and the photo that shows it, AI has nothing to invent. If the sheet says "damp, probably the pipe", the report will say something confident and wrong. One rule governs the sheet: no reading, no sentence.

Subscribe on YouTube@sagnikteaches

Use the same columns on every job: a reference, a source tag (explained below), the location, the method and instrument, the reading with its unit, the time, what you saw, the photo numbers, your conclusion and a confidence word that you choose. Note the instrument and its last calibration date once at the top of the sheet. Here is an illustrative sheet for a stained lounge ceiling below a first-floor bathroom.

RefSourceLocationMethod and readingObservationPhotosConclusionConfidence
F1MLounge ceiling, below bathroomMoisture meter, 78 on the meter's relative scale, 10:12Brown stain about 40 cm across, plaster damp to touchP03, P04Moisture present at the stainConfirmed
F2MLounge ceilingThermal camera, cooler area 17.5 degrees C against 21 around it, 10:20Visible-light and thermal pair from one positionP05, P06Consistent with F1Probable
F3MWater meterAll outlets closed, dial moved 4 litres in 10 minutesFlow with no outlet openP08Water is leaving the systemConfirmed
F4MHot supply to bathroomPressure test at 10:55, 3.0 bar to 2.4 bar in 10 minutes; cold supply held at 3.0 barSupply isolated firstP09Loss on the hot supply pipeworkProbable
F5OBath panel accessEndoscope camera, no readingWet insulation around a hot pipe elbow; no active drip seenP11, P12Source not seen directlyPossible
F6CLounge ceilingCustomer statement, no instrumentCustomer says the stain appeared over the weekendnoneNot verified by usReported only

Two details deserve attention. The confidence column is yours: confirmed means seen or measured directly, probable means the evidence is consistent but the leak itself was not seen, possible means a hypothesis, and not found means exactly that. The AI copies your word and never upgrades it. Second, the moisture reading is recorded as "78 on the meter's relative scale", not "78%". Many meters show a relative scale on non-wood materials, and a relative number is not the percentage of water in the plaster. Write the reading as the instrument displays it, with the scale, and never ask AI to convert it.

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

Photos that carry their own evidence

Number photos in the order you take them (P01, P02 and so on) and take them in a fixed routine: an overview of the room, the defect with something in frame for scale, a close-up with the instrument's display readable, a thermal image and a visible-light image from the same position, and any access hole before and after. A photo that shows a reading on a screen is worth more than a note that says "78".

Captions turn photos into evidence. Dictate or type them on site, because the memory of which photo was which fades by the afternoon. Compare a poor caption with a good one. Poor: "Leak area." Good: "P06: thermal image of lounge ceiling at 10:20, cooler area of 17.5 degrees C below the bathroom; visible-light pair is P05." AI can tidy captions and check them against your sheet, but you approve the wording, because a mislabelled photo can undermine the whole report.

Check the technical limits before you upload. Anthropic's vision documentation lists JPEG, PNG, GIF and WebP as supported formats, so a phone's HEIC photo needs saving or converting as JPEG first. On claude.ai the limits are 20 images a message and 10 MB an image. The same page warns that Claude can make mistakes with low-quality, rotated or very small images (under 200 pixels), that counts of objects are approximate, and that outputs need checking in high-stakes use. A leak report is high-stakes enough.

Thermal images need special care. A thermal image shows differences in surface temperature, not water, and colour palettes differ between cameras. Include the temperature scale in the frame, write your interpretation on the sheet, and never ask AI to "find the leak" in a thermal picture. Let it describe what is on the sheet, not what it thinks is behind the wall.

Finally, a customer's home is private. Crop out faces, post, documents and valuables before upload, and use a business plan, where content is not used for training by default, instead of a free consumer chat with training left on. The tutorial on anonymising client data before you paste it into AI shows what to strip.

Keep what the customer told you apart from what you measured

The sheet needs one more column: source. Tag each row M for measured with an instrument, O for observed by you, or C for reported by the customer or someone else. The AI must carry the tag through, and the report must say "the customer reported" for every C row. This matters because AI smooths. Given "customer says the stain appeared over the weekend", it will happily write "the stain appeared over the weekend", and a statement has become a finding.

A heating job shows how it plays out. The sheet has one C row, "tops up the heating circuit about twice a month", and one M row, "boiler gauge 1.5 bar at 09:40, system cold". Without tags, a first draft says "the system loses pressure twice a month", which nobody measured. With tags, the report reads: "The customer reported topping up the circuit about twice a month. The gauge read 1.5 bar at 09:40 with the system cold." Two sources, two weights, and a loss adjuster can see which is which.

It also protects you when accounts differ. If the customer says the leak started on Monday and the staining pattern suggests it is older, your report records both: what you were told and what you observed, each labelled. You are not calling anyone a liar, and you are not adopting an unverified date as your own. Add the source column to the pass-one table so every later step keeps it.

Pass one: from the sheet to a findings table

Do not ask for the finished report in one step. A first pass that only cleans up the sheet keeps the AI away from interpretation and gives you something you can check line by line. Paste the sheet rows and photo captions and use this prompt.

You are formatting a leak detection field sheet. Use only the rows below.
Produce a findings table with these columns: ref, source (copy my M, O or
C tag), location, what was observed, method and instrument, reading with
unit, photo references, confidence (copy my word exactly).
Do not interpret any reading. Do not add, round or convert any number or
unit. Do not state a cause. If a row has no reading, write "no reading
recorded". If something is unclear, list it under QUERIES and do not guess.

SHEET: [paste rows]
PHOTO CAPTIONS: [paste captions]

On the illustrative sheet above, the table that comes back is nearly the same as the input, which is the point. Its value is consistent phrasing: "Moisture meter reading of 78 on the meter's relative scale (10:12), photos P03 and P04" in place of the shorthand. The QUERIES list does the useful work. In this run it flagged that F5 has no instrument model and that F3's litres could not be tied to a meter number.

One thing to fix in a typical first-pass output: for F4 the assistant wrote "cold supply intact, no leak on the cold side". Your sheet said only that the cold supply held at 3.0 bar. "No leak" is an inference. Put "held at 3.0 bar over 10 minutes" back and add "no loss recorded on this test", which is what you measured. Catching this takes seconds at the table stage and is nearly invisible once it is buried in a paragraph.

Pass two: from the table to the customer's report

The second pass writes for the reader. Give it the checked table, your confidence words and a fixed structure. This one has seven parts because readers differ: the homeowner reads the summary, the insurer reads the findings and limits, and your own file needs the photo log.

Write a customer leak detection report from the FINDINGS TABLE only.
Structure: 1 Summary (4 sentences maximum, plain words); 2 What we checked
and how; 3 Findings (one short paragraph per ref, with photo references);
4 What the findings indicate (use my confidence word for each conclusion:
confirmed, probable, possible or not found); 5 Recommended next steps;
6 Limits of this survey; 7 Photo log.
Rules: use my numbers and units exactly. Do not state fault, blame or
liability. Do not mention insurance cover. Do not say a repair will fix the
problem. Do not claim anything about areas not tested. Use "indicated",
"recorded" and "consistent with" for probable findings.
Reader: [homeowner / landlord / loss adjuster]. Tone: calm, plain.

An abridged illustrative result for the stained lounge ceiling:

Summary. We attended [property] on [date] to find the source of a water stain on the lounge ceiling. Moisture was recorded in the ceiling below the first-floor bathroom, and a pressure test indicated a loss on the hot water supply pipework serving that bathroom. The source is probable rather than confirmed, because we did not see water escaping. We recommend a plumber inspects and repairs the hot supply pipework to the bathroom, after which we can re-test.

Finding F4: pressure test, hot supply to bathroom. With the supply isolated, gauge pressure fell from 3.0 bar to 2.4 bar over 10 minutes (photo P09). The cold supply held at 3.0 bar over the same period. Confidence: probable.

Limits. This survey used non-invasive methods in the areas listed in section 2. No other areas were tested. Readings are as displayed by the instruments named, on the date shown.

That is close to what you would send, but a first draft can easily include some of these lines, each of which has to go: "a burst pipe in the bathroom" (nobody saw a burst), "the leak caused the ceiling damage" (a causation claim you did not test), "no other leaks are present in the property" (an absence claim about untested areas), "once repaired, the problem will be resolved" (a guarantee) and "the pipework appears to have been poorly fitted" (blame). Each of those is a sentence a lawyer or loss adjuster could quote back to you.

Words that make a leak report unsafe to send

The table is worth pinning above the desk. Most risky sentences come from the same short list of habits: stating more than you tested, naming a cause or a person, and promising an outcome.

AvoidWhy it is riskyWrite instead
"The leak caused the damage"States causation beyond what you tested"Moisture was recorded at the stained area directly below the bathroom; the pressure test indicated loss on the hot supply serving that bathroom."
"The property has no other leaks"An absence claim about areas you did not test"No other leak was detected in the areas tested on [date] using the methods listed."
"Poorly installed" or any named partyAssigns faultDescribe condition only: "A corroded elbow joint was visible at [location] (P12)."
"This will be covered by your insurance"Speaks for the insurerLeave it out; "Please send this report to your insurer, who will advise on cover."
"Repair will stop the leak"A guarantee you cannot give"We recommend repair of [component] by a qualified plumber; we can re-test afterwards."
"Mould risk" or health commentsOutside what you measured"We did not test for mould or assess health risks."
"Urgent" or "dangerous"Needs a basis you can stateState the recommended action: "We advise isolating the hot supply to the bathroom until it is repaired."

Match the strength of each sentence to its confidence word. "Confirmed" findings can be stated flatly. "Probable" ones need "indicated" or "consistent with". "Possible" ones belong in a short list of things worth checking, not in the summary. If the AI writes a flat sentence for a probable finding, change the sentence, not the confidence word.

Insurers and loss adjusters: ask for their format first

There is no single format that every insurer accepts. Some want a particular layout, some want the cause stated in set terms, some want photos in a set order or the method named in the first paragraph. Guessing wastes a visit's worth of goodwill when the report comes back for rewriting. Ask before you write, and ask the person who will read it: the claims handler, the loss adjuster (called a claims adjuster in some places) or the policyholder's broker.

Subject: Report format for claim [reference]

Hello [first name], I am the leak detection technician on claim [reference] at [property]. Before I send my report: do you have a required layout or checklist? Do you want a cause stated, and in what terms? Is there a photo order or file format you prefer? Do you want the extent of damage described, or only my findings? And who should I contact with follow-up questions? Thanks, [your name]

Put the answers into the second-pass prompt as rules, and paste any prescribed wording in as a locked line the AI must not paraphrase. The report's job is findings of fact: what you tested, what you measured and what you concluded with what confidence. Whether the policy responds is the insurer's decision, so the report stays silent on cover. Where an insurer's form has a box for "cause", write only what your confidence word supports, and write "not determined" in preference to a stretch.

For jobs that run to moisture mapping and drying logs, the tutorial on water damage restoration software and moisture logs covers the record-keeping side, and roof damage photo reports for insurance claims shows the same "document, do not adjust" stance applied to another trade.

Check every number against the sheet before the report goes

The most useful single check costs two minutes. Paste the finished report and the original field sheet into a fresh chat and ask the AI to audit the numbers.

Compare the REPORT with the FIELD SHEET. List every number, unit, date,
time and instrument name in the report in a table: item in report |
matching entry on the sheet | match (yes/no). Flag anything in the report
that is not on the sheet. Do not rewrite the report.

An illustrative run on a report that looked fine returned two flags. The report said "moisture content of 78%", but the sheet said "78 on the meter's relative scale", so the percentage sign had slipped in during pass two. It also gave the test time as "10:55" in the summary and "11:05" in the findings, and the sheet showed 10:55. Neither error was dramatic, and both would have been embarrassing in front of an adjuster.

The audit is a second pair of eyes, not a replacement for yours. Keep a short human routine: re-read each photo against its caption, confirm every confidence word matches the paragraph that uses it, and for insurer work let a colleague read the summary cold. If the report would make sense to someone who was not on site, it is ready.

Keep the file: what to store with each report

If a report is questioned months later, the file is the defence. Keep each of these together under one job reference:

  • The field sheet exactly as captured, with the instrument names and calibration dates.
  • The original photos, unedited and with their timestamps, plus the numbered copies used in the report.
  • The pass-one table and the final report as sent, in a locked format such as PDF.
  • The date it was sent, and to whom.
  • The prompts you used, or a note that AI helped with structure and wording and that you checked the result.

Ask your insurer or adviser how long to keep job files; the answer depends on your cover and your contracts, and I cannot give you a figure. Never overwrite a sent report. If something changes, issue a second version, mark it as such and keep the first.

What it costs, and which plan suits customers' photos

A business plan is the sensible home for customer photos. ChatGPT Business and Claude Team both list a Standard seat at $25 per user per month billed monthly or $20 billed annually, with a two-seat minimum, and neither trains on business content by default. For a one-technician firm that is about $40 to $50 a month for two seats, or an individual plan (ChatGPT Plus or Claude Pro, $20 a month each) where you switch off the model-training setting yourself and keep photos cropped.

The time maths, with made-up inputs: if a report takes 45 minutes to write from notes today and about 20 with the sheet, the two passes and the audit, six reports a week saves around two and a half hours. The saving comes mostly from the sheet, not from the AI. The sheet is what makes the passes quick, and it is also what makes the report defensible. Test on three old jobs first, compare the AI-assisted version with what you actually sent, and adopt the routine only when the comparison holds up. For a related camera-survey workflow, drain camera survey reports and home inspection report narratives and liability checks are worth reading alongside this one, and mould inspection report templates shows how limits are written for a neighbouring trade.

Questions technicians ask about AI-written leak reports

Should the report include the repair price?

Keep survey findings and repair pricing in separate documents. A report that quotes a price blurs the line between an independent finding and a sales document, and insurers or landlords may read it that way. If you do both jobs, say so plainly, send the quote separately and make sure the findings read the same either way.

Do I have to tell customers that AI helped write the report?

I know of no universal rule, but some insurers and customers will ask. Be ready to say that AI helped with structure and wording, that every reading came from your own equipment and that you checked the whole report yourself. If a contract or an insurer asks for disclosure, follow it and keep a note of what you said.

How long should a leak detection report be?

For a typical domestic job, two to four pages: a short summary at the top, the findings with their photos, the limits of the survey and the next steps. Commercial or multi-area surveys run longer. Whatever the length, put the answer first, because most readers decide from the first paragraph.

Can I reuse the same prompts on every job?

Yes for the two passes, but change the insurer rules block per job and read the output every time. A prompt tuned on bathroom leaks can drift on slab or heating jobs, so test it on three old reports first and compare against what you actually sent.

Further reads

Sources: Anthropic vision documentation (supported formats, limits and limitations); Mitti's leak detection report template page, used for its section list only; OpenAI's ChatGPT Business and Anthropic's Claude pricing pages for seat prices and data terms; checked late October and 1 November 2026.

Want leak reports written in minutes, not evenings?

On a 1:1 call we'll map your field sheet and photo routine, decide where AI helps with the wording, and set up the checks that keep readings and sentences honest.

Book a 1:1 call with me