Roof Damage Reports for Insurance Claims: Let AI Document, Don't Adjust

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Roof Damage Reports for Insurance Claims: Let AI Document, Don't Adjust.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Roof Damage Reports for Insurance Claims: Let AI Document, Don't Adjust.

Use AI for the clerical work only: sort photos into a fixed shooting order, draft captions that say what is visible and where, and lay out the measurements you took. Keep it, and yourself, away from coverage, cause and value. Those judgements belong to the policyholder and the insurer's adjuster.

Rules on what a roofer may do inside a claim differ between jurisdictions, and regulators have acted against roofing companies that crossed the line, so everything below is about documentation only. Where your rules are stricter than anything described here, yours win. Where they are unclear, a qualified adviser or your insurance regulator can tell you in one email.

Follow me on Instagram@sagnikteaches

Documenting versus adjusting: where the line usually sits

Published regulator guidance sorts contractor activity into two lists. One insurance regulator's list, for example, says a contractor may prepare an estimate and scope of work for the loss, recommend that the policyholder file a claim with their insurer, attend the insurer's inspection and answer questions about the estimate. It says a contractor may not review the owner's policy, advise on its provisions, choose a public adjuster or appraiser, or negotiate or take a role in settling the claim. The table below follows that pattern. It is orientation, not legal advice.

Connect on LinkedInSagnik Bhattacharya
Documenting: usually allowedAdjusting: usually restricted
Photograph the roof and record measurementsReview the homeowner's insurance policy
Write captions that state what is visibleAdvise what the policy covers or how to read its terms
Prepare a repair estimate and scope of workNegotiate, or take a role in settling, the claim
Recommend that the owner contact their insurerChoose or recommend a public adjuster or appraiser
Attend the adjuster's inspectionAdvocate for the owner against the insurer
Answer questions about your own estimatePresent yourself as a claim expert

Two cautions sit on top of that table. First, in some places a contractor cannot act as a public adjuster on a claim for a property the contractor is also repairing. Second, the right-hand column is about what you do and what you say in public. A website line that sounds like the right-hand column can be treated as the activity itself, which is why a later section rewrites typical roofing marketing lines.

Subscribe on YouTube@sagnikteaches

Where does cause fit? Saying that a storm produced a condition is a conclusion about the claim, not a record of what the camera saw. Plenty of roofers give an opinion on cause; whether you may, and in what form, depends on your rules. The safe pattern for AI-assisted paperwork is to keep cause, coverage and date of loss out of the photo report completely. If your rules let you give a written opinion, write it yourself, sign it and keep it as a separate document.

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

Shoot in a fixed order so there is something to sort

AI sorts well when the camera has already been consistent. A fixed order means photo 9 is the same kind of picture on every job, so a gap, such as no close-ups for one slope, is obvious before you leave the driveway. The sequence below suits a typical pitched roof with several slopes. Adapt it once, then keep it identical.

  1. The house number or a sheet of paper with the job reference, then the front of the house for context.
  2. All four elevations from the ground, so each slope can be placed against the building.
  3. One overview of each slope, shot from the same side every time, plus a wide ladder shot if a slope cannot be seen whole.
  4. The test area on each slope: a wide shot showing where the marked area sits, then the area itself with chalk lines and a tape in frame.
  5. Close-ups of each condition you will describe, with a tape, a coin or a chalk circle for scale. Marks inside a test area are shot here, one close-up per cluster.
  6. Ridge, hips and valleys, one photo per run.
  7. Vents, pipe boots, flashings and skylights, each photographed whole and then close up.
  8. Gutters and downspouts, plus any soft metals or other items you noticed.
  9. Interior or attic evidence, only if the owner agrees and it is safe to reach.

Photograph the slopes where you found nothing, too. A report showing four slopes, two with marks and two without, reads as an honest record. A report with only the bad slopes reads as a sales pitch. Shoot from where you can work safely: a ladder view, or a drone you are permitted to fly, shows slopes you should not walk.

Take a roofer inspecting a two-storey house with four slopes who ends the visit with 46 photos (the numbers are illustrative). Grouped by the sequence above, the set looks like this:

GroupPhotosWhat the group records
Context: job reference, front of house2Which property, which day
Elevations4Where each slope sits on the building
Slope overviews5General condition of four slopes, plus one wide ladder view
Test areas and close-ups of marks16Four wide shots of the marked areas and twelve close-ups of marks
Ridge, hips, valleys4Caps and junctions
Vents, pipe boots, flashings6Penetrations and metalwork
Gutters and downspouts5Items around the roof edge
Interior or attic4Evidence from inside, with the owner's consent
Total46

Forty-six photos without descriptions are forty-six puzzles for someone to solve later. The dates, slope labels and photo numbers have to live in the captions or file names, because a chatbot will not see them otherwise: Anthropic's vision documentation says Claude does not receive any metadata from images passed to it, and it is safest to assume the same of any chatbot. For a roof like this one, plan roughly forty minutes on site and another twenty for captions, with the review time covered later.

Captions that say what the camera shows, nothing more

A good caption has five parts in a fixed order: the slope or area, the component, what is visible, the scale or measurement, and the photo number out of the total. Everything beyond those five is opinion, and opinion is what the AI must never add.

BeforeAfter
Hail damage on rear slope.Rear slope (B), lower third, test area 2: 11 circular impact marks inside the chalked 10 ft by 10 ft square. Granule loss visible at 6 of them. Photo 19 of 46.
Bad flashing.Chimney, step flashing on the left side: sealant cracked along about 14 in. Metal flashing in place. Photo 33 of 46.
Wind damage on the ridge.Ridge cap, rear slope: 3 tabs creased along the ridge line over about 4 ft. No missing tabs visible from this angle. Photo 29 of 46.
Roof is at end of life.Front slope (A), general view: granule loss and curled tab edges visible across the lower half. Age of roof not documented. Photo 7 of 46.

The right-hand versions are longer and duller, which is the point. Each one can be checked against its photo by someone who has never met you. The left-hand versions each smuggle in a conclusion: a cause, a condition rating or a verdict. Keep a short list of words that mark the difference, and give it to the model as a rule.

Observation words: use freelyConclusion words: keep out of the photo report
visible, measured, counted, marked, cracked, lifted, creased, missing, stained, dented, exposed, loose, not statedcaused by, due to, storm damage, hail damage, wind damage, covered, claimable, wear and tear, pre-existing, total loss, will be approved, deductible

"Needs replacing" and "should be repaired" are recommendations. They belong in the estimate, not in a caption.

A caption prompt that refuses to give opinions

Give the model the photos in order, then your own numbered notes. Counts, measurements and orientation come from the notes, never from the picture. Put the images before the text: Anthropic's documentation says Claude works best when images come before text, though other layouts still perform well.

You are helping a roofing contractor caption photos for a roof documentation report. For each photo I give you a number and my own notes. Write one caption per photo.

Rules:
- State only what is visible in the photo or stated in my notes. Use my counts and measurements. Never estimate your own.
- Format: [slope or area], [component], [what is visible], [scale or measurement from my notes], Photo [n] of [total].
- Do not mention cause, storms, hail, wind, age, wear, coverage, claims, insurers, value or what should be done.
- If you cannot tell something from the photo or my notes, write NOT STATED.
- Copy my left and right exactly. Never infer orientation.

PHOTOS AND NOTES:
[attach photos in order, then paste a numbered list of notes, for example: "19. rear slope B, test area 2, 11 marks. 20. same area close-up, 7 marks. 9. slope C is the garage roof, on the right facing the house from the street."]

Here is an illustrative output for six of the photos. It is a decent draft with four faults I would catch on review.

2. Front of house, ground level, house number visible beside the door. Photo 2 of 46.
7. Front slope (A), lower half: aged shingles with granule loss and curled tab edges. Photo 7 of 46.
9. Left slope (C), overview, garage roof, eaves to ridge. Photo 9 of 46.
19. Rear slope (B), test area 2: 11 circular impact marks inside the chalked square, consistent with hail impact. Photo 19 of 46.
20. Rear slope (B), test area 2, close-up: 9 marks within the tape. Photo 20 of 46.
29. Ridge cap, rear slope: 3 creased tabs over about 4 ft. Photo 29 of 46.
  • Caption 19, "consistent with hail impact". That is a cause opinion. The prompt banned it and the model produced it anyway. Delete the phrase; a banned-word rule lowers the odds but does not remove them.
  • Caption 7, "aged shingles". An age and wear judgement. My notes said the age is not documented, so the caption should say exactly that.
  • Caption 20, "9 marks". My notes said 7. Anthropic's documentation says Claude can give approximate counts but may not always be precisely accurate, especially with many small objects. A wrong number that looks like a fact is the worst failure on this list, so every count in a caption gets checked against the field notes.
  • Caption 9, "Left slope (C)". My notes put the garage roof on the right, facing the house from the street. The model flipped it. Left and right is a spatial judgement, and the same documentation says Claude's localisation outputs are approximate and should be verified, so orientation also comes from your notes.

One more habit helps. Paste only the fields the model needs: photo number, slope label, count, measurement. If you paste the booking message ("customer rang after the storm, wants a check"), the words storm and damage leak into the captions even though you banned them. Context you did not mean to share becomes content you did not mean to publish.

The measurements log: AI formats it, you fill it

Area and pitch come from an aerial measurement report, or from a tape and a pitch gauge. They do not come from asking a chatbot to judge a photo. The comparison of Roofr, EagleView and Hover roof reports covers the paid report route; for the log itself, the model's job is to arrange numbers you supply. For the illustrative roof, the log looks like this:

SlopePitchAreaTest areaMarks countedOther recorded items
A, front6 in 121,150 sq ft10 ft by 10 ft9Curled tab edges, lower half
B, rear6 in 121,150 sq ft10 ft by 10 ft113 creased ridge tabs
C, garage4 in 12520 sq ft10 ft by 10 ft3None recorded
D, porch3 in 12180 sq ft5 ft by 5 ft0None recorded
Whole roof3,000 sq ft (30 squares)
Arrange the numbers below into the table columns Slope, Pitch, Area, Test area, Marks counted, Other recorded items. Mark any cell I did not give you as EMPTY. Never fill an empty cell. Do not total anything except area. Do not estimate or extrapolate any count.

The last instruction exists because extrapolation is tempting and wrong for this document. Eleven marks in a 100 sq ft test area on a 1,150 sq ft slope (11.5 squares) would extrapolate to about 127 marks across the slope. That number appears in no photo. It is an assumption about the slope, and assumptions about the slope are for the adjuster and the estimator. Record what was counted, where, and stop.

The report itself: sections that stay claim-neutral

Six sections are enough, and each has one job.

  1. Job facts: address, date, time on site, who inspected, equipment used and the conditions on the day.
  2. Scope of inspection: what you inspected and what you did not, for example "attic not accessed" or "rear slope viewed from the ladder only".
  3. Photo log: every photo, numbered, in shooting order, with its caption.
  4. Measurements log: the table above.
  5. Observations: a short list of conditions, each tied to photo numbers and a count or measurement. Nothing about cause, age or cover.
  6. Attachments: one line saying the repair estimate is a separate document.

Put a plain statement on the first page. This version is a starting point, and it is worth one read by an adviser who knows your rules:

This report records conditions observed and measured on [date] by [name] of [company]. It does not address what an insurance policy covers, the cause or date of any condition, or the value of any claim. Those matters are for the policyholder and the insurer.

If you already use CompanyCam, its Documents feature can hold this layout. According to its help centre, the Summary, Daily Log and Progress Recap documents are generated from selected photos that carry photo descriptions, they use AI credits on select plans, and a photo without a description produces an empty document. Quick Caption, the voice-to-caption tool, runs in the mobile app on every plan and does not count against the AI action limit, so it is the quickest way to get descriptions onto photos while you are still on the roof. The same help centre says to review and edit every generated document before sharing it. For a claim-neutral report that means deleting any evaluative sentence the tool adds. The companion tutorial on turning inspection photos into a customer-ready report takes the CompanyCam route step by step.

Wording on your ads and website that cannot be read as adjusting

The restricted column in the first table covers speech as well as action. One regulator's guidance lists lines such as "we are insurance claim experts" and "we are an advocate for you against your insurance company" among statements that breach its rules for contractors. In one published case, a roofing company that offered public-adjuster services alongside repair work was ordered to stop, then agreed a consent order, retrained its staff and revised its website. AI will happily write the first kind of line if you ask for storm marketing, so hand it the safe versions as rules.

Risky lineDocumenting version
We handle your insurance claim from start to finish.We inspect, photograph and measure your roof, then give you a written repair estimate you can share with your insurer.
Insurance claim experts.Roof inspections with a photo report you can give to your insurer.
We fight your insurance company so you get a new roof.If you decide to file a claim, you can give your insurer our photo report and estimate. Your policy decides what is covered.
Your storm damage will be covered.We can check the roof for visible damage. Whether your policy covers it is for your insurer to decide.

Leave deductibles out of your marketing unless an adviser has cleared the wording. What you may offer or say about them differs by place, and a chatbot does not know your rules. The storm-day phone line is the other place wording slips, and the AI receptionist tutorial on storm-day calls and claim questions covers that side.

A second AI pass that hunts for opinions

Captions are not the only place opinions creep in. The observations list, the cover email and the summary paragraph all attract them. A second prompt, run on the finished report in a fresh chat, acts as a scanner:

Below is a roof documentation report. Find every sentence or caption that states or implies any of these: a cause of damage, a date of loss, that something is or is not covered, the age or wear of the roof, the value of a claim, an instruction to the homeowner about their insurance, or a promise about what an insurer will do. Quote each sentence, name the category and suggest a neutral rewrite that states only what is visible or measured. Say nothing about neutral sentences.

[paste the report text]

An illustrative run on a draft that went through no human edit came back like this:

Sentence foundCategoryNeutral rewrite
Photo 29: Wind damage to ridge cap.CauseRidge cap, rear slope: 3 tabs creased along the ridge line. Photo 29 of 46.
The roof shows normal wear for its age.Age and wearGranule loss visible on the front slope, lower half. Age of roof not documented.
Impact marks consistent with the storm on 12 June.Cause and date of lossDelete. Cause and date are not ours to state.
Your insurer should approve a full replacement.Coverage promiseDelete.
Please file before the deadline.Instruction about insuranceIf you decide to file a claim, contact your insurer and check your policy for any time limits.

Treat the output as a list of suspects, not a clean bill of health. The scanner can miss a sentence, so you still read every line yourself. What it does well is find the sentence you stopped seeing after the third read.

Handing it over: who gets what, and what you keep

The homeowner receives the photo report and, separately, your repair estimate. What they do next is theirs to decide. A short cover message keeps the roles clear (an illustrative draft, with placeholders):

Hi [first name], attached are the photo report and our repair estimate from [date]. The report records what we saw and measured. It does not say what your policy covers or what caused any condition. If you decide to make a claim, you are welcome to give both documents to your insurer, and I can attend the adjuster's inspection to answer questions about our estimate. [your name]

Keep the originals. Store the full-size, unedited photos with their original files, and keep a copy of the report exactly as you sent it. Do not crop out context, and never use AI to sharpen, brighten, repair or generate any image that goes near a claim. Anthropic's documentation notes that Claude cannot determine whether an image is AI-generated, so a chatbot is no safeguard against a doctored picture. The safest record is one that was never touched. If you use a chatbot at all, the originals stay out of its way: you upload copies to caption, not the master files.

Whether the adjuster, the owner or anyone else uses your report is out of your hands. Your duty ends at making it accurate, dated and neutral. For the licensed side of claims work, where adjusters and public adjusters actually negotiate, see AI for public adjusters: claim packages and carrier letters. If you also handle the early calls, triaging storm leads after hail shows how to book inspections without promising outcomes.

Ten minutes before the report goes out

Run this list on every report before it goes out. It takes ten minutes and each item has caught something at least once.

  1. Every caption ends with its number out of the total, and no number is missing from the sequence.
  2. Every count and measurement matches the field notes, not the AI's reading of the photo.
  3. Search the whole document for: cause, caused, storm, hail, wind, covered, claim, insurer, wear, age, deductible. Each hit is either deleted or justified.
  4. The scope statement is on page one, and every area you did not inspect is listed.
  5. The original photos are untouched and stored.
  6. The repair estimate is a separate file.
  7. The cover message says nothing about coverage.
  8. Your website and ads pass the same search.

Two illustrative mistakes show how the list earns its keep. In the first, six captions came back saying "storm damage to rear slope". The job had been booked as a "storm check" and the owner's message was pasted into the prompt, so the words leaked. The fix was to paste only photo numbers and notes. In the second, the model reported nine marks where the field notes said seven; nobody caught it until the adjuster counted the close-up, and the report lost credibility on every other number. Counts now come from notes only, and the review compares each one.

To know the routine is working, pull five finished reports and count how many captions you edited by hand. That number should fall as your notes improve. If it does not, the notes are too thin or the prompt rules are being ignored, and both are fixable.

Questions roofers ask about documenting claims with AI

Can I tell the homeowner their roof is probably covered?

Avoid it. Whether a policy covers a condition depends on its terms and on the insurer's decision, and in places where contractors may not advise on a policy, telling an owner what is covered can be treated as adjusting. Say what you saw and measured, and that the policy and the insurer decide the rest.

Can AI write the repair estimate that goes with the claim?

AI can arrange your line items and tidy the wording, but you set the quantities and prices, and the estimate stays a separate document from the photo report. Mixing them invites the photo report to pick up opinions about scope, value or cause that do not belong in a record of observations.

Is it safe to upload a homeowner's roof photos to a chatbot?

Photos can show faces, number plates, house numbers and documents. Crop or skip anything personal, keep the address out of prompts, and consider a business plan where the vendor states content is not used for training by default. Check your own customer terms and any data rules that apply to you.

What if the adjuster disagrees with my report?

Do not argue about coverage. Ask which photo or measurement is in doubt, offer additional photos of that area, and let the policyholder and the insurer settle the rest. A report that only records what is visible is easy to defend, because there is nothing in it to disagree with except the facts.

Further reads

Sources: Anthropic vision documentation (image limits, counting and metadata); CompanyCam help centre (Quick Caption, AI documents); an insurance regulator's published guidance and press release on contractors and public adjusting.

Want a documentation routine your crews will follow?

On a 1:1 call we'll trace how photos and notes travel from the roof to the customer today, find where captions go wrong, and decide which steps AI can safely draft. You leave with a routine your team can run.

Book a 1:1 call with me