Quick answerThe best way to label photos for Xactimate® is one naming convention applied to every photo before it is attached: claim number, elevation, category (slope, test square, penetration, interior), and a sequence number. Shoot and upload in the same order every time, elevations first, then slopes, then test squares, then penetrations, then interior. Desk reviewers are checking that the file names, the slope count, and the sketch line up without them having to open each image. Attach the labeled set to the estimate's photo panel or the XactAnalysis® assignment in the same sequence, and keep a duplicate copy in the claim folder independent of either system.

The naming convention that survives a desk review

Use a fixed field order and never skip a field, even when it feels redundant on a small claim. The pattern is claim number, elevation or location, category, then a two-digit sequence number: 24-0001234_Front_Slope_02.jpg. Keep the file name free of spaces and special characters; some upload paths in Xactimate® and XactAnalysis® truncate or reject names with slashes, colons, or apostrophes.

Elevation labels should match whatever elevation labels are already on the sketch or the roof measurement report, front, left, right, rear, so a reviewer can move between the photo folder and the sketch without translating terms. If a roof measurement report already carries slope labels, using those same labels on the photo file names keeps the sketch, the estimate line items, and the photo folder in agreement; see Sketch My Roof roof measurement reports for an example of a labeled slope diagram.

CategoryExample filenameWhat the photo must show
Elevation overview24-0001234_Front_Overview_01.jpgThe full elevation from ground level with the structure and roofline visible
Slope24-0001234_FrontSlope_02.jpgThe entire slope, ridge to eave, one photo minimum per slope on the sketch
Test square24-0001234_FrontSlope_TestSquare_03.jpgA 10 ft by 10 ft marked boundary with the hail hits or damage count inside it clearly visible
Penetration or component24-0001234_FrontSlope_Vent_04.jpgA single pipe jack, vent, skylight, or flashing detail, close enough to read the damage
Interior24-0001234_Interior_Attic_05.jpgDecking, rafters, or ceiling staining, keyed to the same elevation label as the exterior finding above it
Overview or site context24-0001234_Overview_Address_06.jpgHouse number, mailbox, or street sign confirming the property matches the claim address

Shoot order: match the sequence to the sketch

Photograph and upload in the same order every time so the sequence numbers themselves carry information. A gap in the numbering, or a sequence that jumps from slope photos straight to interior photos with no test square in between, reads as a missing step even before the reviewer checks the estimate.

  1. Overview and address confirmation

    Start with the full structure and a house number or mailbox shot so the file set opens on a photo that confirms the location.

  2. Elevation photos, one per side

    Front, left, right, rear, in the order the sketch lists them.

  3. Full slope photos

    One complete slope photo per facet named on the sketch, using the same slope label.

  4. Test square photos

    One per slope where a test square was measured, with the boundary and the count visible in the frame.

  5. Penetration and component close-ups

    Vents, pipe jacks, skylights, chimneys, and flashing, each as its own numbered file under the slope it sits on.

  6. Interior photos

    Attic decking, rafters, or ceiling staining, labeled to match the exterior slope the damage traces back to.

  7. Supporting or supplemental photos

    Anything ordered after the fact, gutters, siding, detached structures, added at the end of the sequence rather than inserted mid-set.

What a desk reviewer is actually checking for

  • Every file uses one claim number and one elevation vocabulary

    A reviewer cross-references the photo set against the sketch without opening every file individually.

  • Test square photos show a full, countable damage pattern inside the marked boundary

    The test square count is what the slope-wide damage estimate is built from; an unclear boundary invites a re-inspection request.

  • Every slope named on the sketch has at least one full-slope photo

    A missing slope photo is the fastest way to get a line item questioned or pended.

  • Interior photos carry the same elevation label as the exterior finding they support

    It ties the water path or the impact location to a specific slope instead of leaving the connection implied.

  • Sequence numbers run without gaps

    A missing number in the middle of a sequence reads as a deleted, replaced, or withheld photo, which slows approval.

Attaching the set to the estimate and to XactAnalysis®

Rename the whole folder before you import anything; it is far faster than renaming files one at a time inside the estimate. Menus vary by version, so verify the exact click path in your build against the vendor's own documentation before relying on these steps.

  1. Rename and group the photo folder

    Apply the naming convention to every file first, then confirm the sequence has no gaps and no duplicate numbers.

  2. Attach via the estimate's photo or sketch panel

    In Xactimate®, photos are attached at the line-item or roof-facet level through the estimate's photo import option; consult the official help center for the current menu location in your version.

  3. Attach at the assignment level for XactAnalysis® routing

    When the file is routed through XactAnalysis®, attach the labeled set to the assignment so the photos travel with the file to every party who opens it, rather than living only inside a local estimate copy.

  4. For Symbility® files, use the claims documentation attach step

    Symbility® handles photo attachment through its own claims documentation workflow; the naming convention transfers directly since it is file-name based, not platform based.

  5. Keep an independent copy in the claim folder

    Save the labeled set outside the estimate software as well, so the photo record survives even if the estimate file is later revised or replaced.

Version and platform caveats

Xactimate® desktop builds and the browser-based version place the photo attach option in different spots, and that location has moved across recent releases. Symbility® versions differ by build as well. Treat every click path in this guide as generic and confirm the current menu in your own software before training a team on it.

The naming convention itself is version independent because it lives in the file name, not in any one platform's photo panel. That is the main reason to standardize on file names rather than relying on whatever caption or tag field a given version happens to offer that year.

Frequently Asked Questions

What is the best way to label photos for Xactimate®?
Use one naming convention on every file: claim number, elevation, category (slope, test square, penetration, interior), and a sequence number. Apply it before the photos are attached to the estimate, not after.
Do test square photos need anything besides the damage?
Yes. The marked boundary of the test square needs to be visible in the same frame as the damage count, so a reviewer can verify the count without a separate reference photo.
Should interior photos use a different naming pattern than exterior photos?
No. Keep the same claim number and elevation label so an interior finding, like an attic stain, is clearly tied to the exterior slope it traces back to.
Where do labeled photos get attached, the estimate or XactAnalysis®?
Both, depending on the file's path. Attach to the estimate's photo panel for local documentation, and attach at the assignment level in XactAnalysis® when the claim is routed through it, so every party who opens the assignment sees the same photo set.
Does the naming convention change between Xactimate® and Symbility®?
No. The convention is file-name based, so it carries over between platforms. Only the attach step, where the photo panel lives in each program, differs, and that can change between versions, so verify it in your current build.

Sources