{"id":8388,"date":"2026-10-21T16:47:24","date_gmt":"2026-10-21T16:47:24","guid":{"rendered":"https:\/\/blog.filio.io\/?p=8388"},"modified":"2026-10-21T16:47:24","modified_gmt":"2026-10-21T16:47:24","slug":"subcontractor-photo-requirements","status":"publish","type":"post","link":"https:\/\/blog.filio.io\/subcontractor-photo-requirements\/","title":{"rendered":"Subcontractor Photo Requirements: A Practical Submission Standard"},"content":{"rendered":"<style id=\"blog096-content-only-style\">#blog096-article img{max-width:100%;height:auto}#blog096-article .b96-example{padding:24px;background:#f6f5f1;border-left:4px solid #eaaa00;margin:24px 0}#blog096-article dt{font-weight:700;margin-top:16px}#blog096-article dd{margin:4px 0 0}<\/style>\n<div id=\"blog096-article\">\n<div class=\"b96-reader\">\n<p>A trade foreman sends twelve close-ups. The project manager cannot tell which room they show, which work package they belong to, or whether the agreed views are present. Asking for more photos may produce a larger camera roll without resolving the missing information.<\/p>\n<p>Useful subcontractor photo requirements define the handoff before capture: <strong>when to take photos, what to show, how to identify the location, where to submit the set and who checks it.<\/strong> Start with one work package and an example submission that the crew and reviewer can both explain.<\/p>\n<p>The suggested standard below is a team working method. Check the project\u2019s contract, specifications, inspection plan and information-handling requirements first. Formal project procedures may already prescribe photo identifiers and delivery requirements: the <a href=\"https:\/\/www.nps.gov\/dscw\/con_photodoc212.htm\" target=\"_blank\" rel=\"noopener\">National Park Service\u2019s project-photograph procedure<\/a>, for example, uses a photo log identifying the project, date, photographer and subject. Its requirements apply to that process; they are not universal rules for every subcontractor. This working method does not replace required inspections, approvals or an authorized acceptance decision.<\/p>\n<h2 id=\"six-parts\">Agree on six parts of the photo request<\/h2>\n<p>Write the request around a decision someone needs to make. \u201cSend progress photos\u201d leaves the crew to guess. \u201cDocument the installed hardware at DR-204 for a documentation-completeness review\u201d gives the submission a subject and purpose.<\/p>\n<h3 id=\"capture-trigger\">1. Capture trigger<\/h3>\n<p>Name an observable point in the work: after a specified activity, before a defined handoff, or at an agreed progress check. Agree who captures the record and when it must reach the reviewer. If work will become inaccessible, coordinate the capture opportunity with the responsible project team; do not treat a photo request as permission to cover work.<\/p>\n<h3 id=\"required-coverage\">2. Required coverage<\/h3>\n<p>Describe what each view needs to establish. A location view helps someone find the work; an overview shows its relationship to surrounding elements; a detail answers a particular question. Choose only the views the work package needs. A fixed photo count can still leave the important question unanswered.<\/p>\n<h3 id=\"location-reference\">3. Location and work-package reference<\/h3>\n<p>Use the project\u2019s actual naming system: building, level, room, zone, asset or drawing reference as appropriate. Agree the format before different trades invent competing labels. GPS alone may not distinguish adjacent rooms or repeated assets. Keep the same reference with the selected images and the submission note.<\/p>\n<h3 id=\"context-limits\">4. Context and limits<\/h3>\n<p>State the activity or condition being documented, who submitted the set and when the observation occurred. Keep capture time separate from upload or review time. Record what has not been checked rather than filling the gap with \u201ccomplete\u201d or \u201capproved.\u201d For a related check on the information attached to a record, use the <a href=\"https:\/\/www.filio.io\/blog\/construction-photo-metadata-review\" target=\"_blank\" rel=\"noopener\">construction photo metadata review<\/a>.<\/p>\n<h3 id=\"submission-destination\">5. Submission destination<\/h3>\n<p>Specify the existing project location, naming convention and submission route. Tell the crew whether the recipient needs the original records, a selected report, or both. Avoid making a chat attachment the only copy. Check access, permitted sharing and any limits on photographing people, sensitive areas or client information before capture.<\/p>\n<h3 id=\"completeness-reviewer\">6. Completeness reviewer<\/h3>\n<p>Name the person who checks the submission against this request, plus the agreed review point and route for follow-up. That check asks whether the record can be understood and used. Technical inspection, design compliance and contractual acceptance belong to the separately authorized people and processes.<\/p>\n<figure class=\"b96-figure\" id=\"vis02\"><picture><source media=\"(max-width:600px)\" srcset=\"https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-096-R4-Process-mobile.webp\" width=\"780\" height=\"1120\"><img loading=\"lazy\" src=\"https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-096-R4-Process-desktop.webp\" width=\"1200\" height=\"650\" alt=\"Four steps: capture the work, add location context, submit the photo set and check documentation completeness.\" loading=\"lazy\" decoding=\"async\" class=\"wp-image-8418\" srcset=\"https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-096-R4-Process-desktop.webp 1200w, https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-096-R4-Process-desktop-300x163.webp 300w, https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-096-R4-Process-desktop-1024x555.webp 1024w, https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-096-R4-Process-desktop-768x416.webp 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/picture><figcaption>Capture, attach context, submit and review the agreed records. The checklist concerns documentation completeness, not technical acceptance of the work.<\/figcaption><\/figure>\n<h2 id=\"worked-example\">Turn the request into a practical work-package example<\/h2>\n<p>Consider a fictional door-hardware package at <strong>Level 2 \/ Room 204 \/ DR-204<\/strong>. This example explains documentation structure; it does not prescribe hardware installation, testing or a compliance standard.<\/p>\n<aside class=\"b96-example\" aria-label=\"Illustrative photo submission\">\n<dl>\n<dt>Work and capture trigger<\/dt>\n<dd>The door-hardware foreman records the installed hardware at Level 2 \/ Room 204 \/ DR-204, then submits the set at the agreed trade handoff.<\/dd>\n<dt>Required views<\/dt>\n<dd>A location view identifying the doorway, an overview of the installed hardware and details that answer the agreed documentation questions.<\/dd>\n<dt>Context note<\/dt>\n<dd>Hardware installed. Closer operation not checked.<\/dd>\n<dt>Destination<\/dt>\n<dd>The project\u2019s agreed DR-204 record location. The submission note identifies the foreman, the recorded observation time and the selected image references.<\/dd>\n<dt>Review point<\/dt>\n<dd>The assigned project coordinator checks the submitted set against this request at the agreed handoff and returns any missing-view request to the foreman. Technical inspection and acceptance remain separate.<\/dd>\n<\/dl>\n<\/aside>\n<p>Suppose the first submission contains the hardware detail and context note but no location view. The reviewer can respond: \u201cPlease add a view identifying DR-204 in Room 204. Retain the existing detail and the note that closer operation has not been checked.\u201d<\/p>\n<p>This is a specific, recoverable request. It avoids asking the crew to repeat useful work or implying that a clearer photograph will establish operating performance. If access has already been lost, record that gap and route the next decision to the responsible person; do not manufacture a replacement image.<\/p>\n<p>The same handoff can serve a service contractor recording one equipment visit: agree the asset reference and required views, name the recipient, and state what was not tested. The record does not establish a commissioning result.<\/p>\n<figure class=\"b96-figure\" id=\"vis03\"><picture><source media=\"(max-width:600px)\" srcset=\"https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-096-R4-Coverage-mobile.webp\" width=\"780\" height=\"1380\"><img loading=\"lazy\" src=\"https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-096-R4-Coverage-desktop.webp\" width=\"1200\" height=\"790\" alt=\"Illustrative DR-204 doorway overview with an enlarged crop of the same handle, labeled enlarged detail.\" loading=\"lazy\" decoding=\"async\" class=\"wp-image-8416\" srcset=\"https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-096-R4-Coverage-desktop.webp 1200w, https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-096-R4-Coverage-desktop-300x198.webp 300w, https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-096-R4-Coverage-desktop-1024x674.webp 1024w, https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-096-R4-Coverage-desktop-768x506.webp 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/picture><figcaption>Illustrative DR-204 example. The detail is an enlargement of the overview, not a separately captured photograph. Closer operation has not been checked.<\/figcaption><\/figure>\n<h2 id=\"first-submission\">Make the first submission a short field exercise<\/h2>\n<p>Before rolling the standard out to every trade, ask one foreman to submit one work package through the actual destination. Have the intended reviewer locate it without help from the photographer. Check whether the location, activity, required views and unresolved questions are clear.<\/p>\n<p>Show one usable submission and one incomplete example. Ask the crew to explain the difference in their own words. Keep the instructions in language the crew can use on site, and make the capture request accessible where the work happens.<\/p>\n<p>During the exercise, ask the reviewer to identify the work package and explain what remains unverified. Then ask the foreman to locate the same submission through the agreed route. If either person needs an oral explanation to understand the set, improve the request or accompanying context before extending the method to other trades.<\/p>\n<p>Revise the request if the exercise reveals an ambiguous location label, an inaccessible destination or a view that cannot be captured safely. Record the revised instruction and tell the affected crews which version applies. A team-maintained standard is useful only when the people capturing and reviewing records are working from the same request.<\/p>\n<h2 id=\"review-documentation\">Review the documentation without accepting the work<\/h2>\n<p>Use plain review states that describe the record:<\/p>\n<ul>\n<li><strong>Ready for documentation review:<\/strong> the agreed context and views are present. This is not technical acceptance.<\/li>\n<li><strong>More context requested:<\/strong> name the missing view or information, the responsible person and the agreed follow-up point.<\/li>\n<li><strong>Gap recorded:<\/strong> explain what is missing, why it cannot currently be recovered and who must decide the next action.<\/li>\n<\/ul>\n<p>Keep useful originals and link any later clarification to the same work-package reference. A retake should be identifiable as a later observation. Do not overwrite the earlier record to make the sequence appear complete.<\/p>\n<figure class=\"b96-figure\" id=\"vis04\"><picture><source media=\"(max-width:600px)\" srcset=\"https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-096-R4-Followup-mobile.webp\" width=\"780\" height=\"1330\"><img loading=\"lazy\" src=\"https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-096-R4-Followup-desktop.webp\" width=\"1200\" height=\"720\" alt=\"An illustrative submission retains the hardware detail while adding the missing Room 204 location view and DR-204 reference.\" loading=\"lazy\" decoding=\"async\" class=\"wp-image-8420\" srcset=\"https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-096-R4-Followup-desktop.webp 1200w, https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-096-R4-Followup-desktop-300x180.webp 300w, https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-096-R4-Followup-desktop-1024x614.webp 1024w, https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-096-R4-Followup-desktop-768x461.webp 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/picture><figcaption>Request the missing location view and retain the useful detail. In this illustrative example, the note that closer operation was not checked remains unchanged.<\/figcaption><\/figure>\n<h2 id=\"use-filio\">Use Filio to organize the agreed records<\/h2>\n<p><a href=\"https:\/\/www.filio.io\/\" target=\"_blank\" rel=\"noopener\">Filio\u2019s visual documentation tools<\/a> can support this method by keeping project media with location context and helping a reviewer retrieve selected records. Use the agreed project and work-package references consistently; a tool cannot resolve an unclear request on its own.<\/p>\n<p>Where the team uses tags or annotations to add context, follow the Academy guide to <a href=\"https:\/\/www.filio.io\/academy\/how-to-add-annotations-and-tags-to-photos-in-the-filio-app\" target=\"_blank\" rel=\"noopener\">annotating and tagging photos in Filio<\/a>. A tag is an organizational aid, not evidence that a required view exists or that work has been accepted.<\/p>\n<p>When a reviewer needs a selected deliverable, the guide to <a href=\"https:\/\/www.filio.io\/academy\/how-to-create-a-report-in-filio-web-app\" target=\"_blank\" rel=\"noopener\">creating a report in the Filio Web App<\/a> explains the supported report workflow. Check the selected photos and accompanying context before sharing. Retain the source references so the report can be traced back to the project record.<\/p>\n<p>Do not assume Filio automatically enforces this submission standard, assigns the completeness check or approves the work. Those responsibilities remain with the project team. For how capture, review and reporting fit together, see the <a href=\"https:\/\/www.filio.io\/blog\/construction-field-documentation-workflow\" target=\"_blank\" rel=\"noopener\">construction field documentation workflow<\/a>.<\/p>\n<h2 id=\"start-handoff\">Start with one clear handoff<\/h2>\n<p>Choose one upcoming trade package. Agree its trigger, coverage, location reference, context, destination and reviewer. Test the first submission, fix the unclear instruction and keep the resulting example with the current standard. The aim is a record another person can use without guessing what the photographer meant.<\/p>\n<h2 id=\"faq\">Frequently asked questions<\/h2>\n<h3 id=\"photo-count\">How many photos should a subcontractor submit?<\/h3>\n<p>Use enough to answer the agreed documentation questions and locate the work. The required set depends on the project and work package; this article does not establish a universal minimum or override an existing specification.<\/p>\n<h3 id=\"acceptance\">Does a complete photo submission mean the work is accepted?<\/h3>\n<p>No. Documentation completeness means the agreed record is present and understandable. Inspection, performance checks, design compliance and acceptance require their own authorized review.<\/p>\n<h3 id=\"missing-view\">What if the crew can no longer capture a missing view?<\/h3>\n<p>Record which view is missing, why it cannot currently be obtained and who must decide the next action. Keep the useful records already submitted. A later photograph must be identified as a later observation; it should not be presented as evidence of an earlier condition.<\/p>\n<\/div>\n<\/div>\n<style id=\"blog096-navigation-style\">body.postid-8388 .elementor-widget-table-of-contents.elementor-sticky--active{position:fixed!important;top:var(--b96-nav-top,0px)!important;bottom:auto!important;inset-inline-start:var(--b96-toc-left,0px)!important;max-height:var(--b96-toc-space,calc(100vh - var(--b96-nav-top,0px) - 16px));overflow-y:auto;overscroll-behavior:contain}body.postid-8388.b96-past-article .elementor-widget-table-of-contents.elementor-sticky--active{visibility:hidden}body.postid-8388 #blog096-article :is(h2,h3)[id]{scroll-margin-top:var(--b96-nav-top,0px)}<\/style>\n<p><script id=\"blog096-native-toc-offset\" data-nowprocket data-cfasync=\"false\">(function(){var r=document.getElementById('blog096-article');if(!r||!document.body.classList.contains('postid-8388'))return;var frame=0,navFrame=0;function measure(){var bottom=0;document.querySelectorAll('.app-header,#wpadminbar').forEach(function(el){var s=getComputedStyle(el),b=el.getBoundingClientRect();if((s.position==='fixed'||s.position==='sticky')&&s.display!=='none'&&s.visibility!=='hidden'&&b.height>0)bottom=Math.max(bottom,b.bottom)});var top=Math.ceil(Math.max(0,bottom))+16;document.body.style.setProperty('--b96-nav-top',top+'px');document.body.style.setProperty('--b96-toc-space',Math.max(0,Math.min(window.innerHeight,r.getBoundingClientRect().bottom)-top-16)+'px');var toc=document.querySelector('.elementor-widget-table-of-contents:not(.elementor-sticky__spacer)');if(toc)document.body.style.setProperty('--b96-toc-left',toc.parentElement.getBoundingClientRect().left+'px');document.body.classList.toggle('b96-past-article',!(r.getBoundingClientRect().bottom>top));return top}function geometry(){if(frame)return;frame=requestAnimationFrame(function(){frame=0;measure()})}function target(hash){var h;try{h=document.getElementById(decodeURIComponent(hash.slice(1)))}catch(e){return null}return h&&r.contains(h)&&h.matches('h2,h3')?h:null}function land(h,focus){var top=measure();if(focus){h.setAttribute('tabindex','-1');h.focus({preventScroll:true})}var y=Math.max(0,window.scrollY+h.getBoundingClientRect().top-top);if(Math.abs(window.scrollY-y)>1)window.scrollTo({top:y,behavior:'instant'})}function restore(){cancelAnimationFrame(navFrame);navFrame=requestAnimationFrame(function(){navFrame=requestAnimationFrame(function(){navFrame=0;var h=target(location.hash);if(h)land(h,true)})})}document.addEventListener('click',function(e){var a=e.target.closest('.elementor-toc__body a');if(!a||e.button!==0||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey)return;var h=target(a.hash);if(!h)return;e.preventDefault();e.stopImmediatePropagation();cancelAnimationFrame(navFrame);if(location.hash!==a.hash)history.pushState(null,'',a.hash);land(h,true)},true);window.addEventListener('popstate',restore);window.addEventListener('hashchange',restore);window.addEventListener('pageshow',function(e){if(e.persisted)restore()});window.addEventListener('resize',geometry,{passive:true});window.addEventListener('scroll',geometry,{passive:true});if(window.ResizeObserver){var observer=new ResizeObserver(geometry);document.querySelectorAll('.app-header,#wpadminbar').forEach(function(el){observer.observe(el)})}measure();if(document.readyState==='complete')restore();else window.addEventListener('load',restore,{once:true})})();<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Set clear photo requirements for trade crews: capture triggers, location context, submission checks and missing views, with a practical example standard.<\/p>\n","protected":false},"author":2,"featured_media":8415,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[],"class_list":["post-8388","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-construction"],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/posts\/8388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/comments?post=8388"}],"version-history":[{"count":24,"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/posts\/8388\/revisions"}],"predecessor-version":[{"id":8563,"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/posts\/8388\/revisions\/8563"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/media\/8415"}],"wp:attachment":[{"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/media?parent=8388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/categories?post=8388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/tags?post=8388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}