[{"data":1,"prerenderedAt":752},["ShallowReactive",2],{"guide:en:work-fulfillment/validations":3},{"id":4,"title":5,"body":6,"description":744,"extension":745,"meta":746,"navigation":747,"path":748,"seo":749,"stem":750,"__hash__":751},"guide_en/en/user/work-fulfillment/validations.md","Validations — Quality Control on Reports",{"type":7,"value":8,"toc":728},"minimark",[9,14,23,26,31,46,56,66,80,84,87,113,118,137,141,148,152,157,195,199,206,211,222,227,247,250,254,260,271,277,285,291,299,305,316,320,328,333,367,375,386,390,395,466,470,477,515,520,528,532,535,540,553,558,578,583,594,598,603,617,622,633,638,649,654,665,670,684,688,694,708,714],[10,11,13],"h1",{"id":12},"validations","Validations",[15,16,17,18,22],"p",{},"Validations are the quality control step after a report is submitted. ",[19,20,21],"strong",{},"Validations live alongside the report they apply to"," — shown as a traffic-light badge on the reports list and a status-grouped badge row in the expanded report view. There is no separate validations navigation page.",[15,24,25],{},"A supervisor or QC inspector opens a report, clicks a validation badge to view or create a validation in an overlay modal, verifies measurements and installation quality, records issues as free-form comments in a shared thread, and sets the overall status. The status determines whether payment is released or the worker needs to correct their work.",[27,28,30],"h2",{"id":29},"where-validations-live","Where Validations Live",[15,32,33,36,37,41,42,45],{},[19,34,35],{},"Reports list:"," Every report row shows an aggregate validation badge (grey/red/yellow/green) in its own column. The badge displays the most-severe status with a count — for example, ",[38,39,40],"code",{},"FAILED · 3"," if there are three failed validations on that report. Hovering the badge reveals a per-status breakdown like ",[38,43,44],{},"failed: 1, passed: 2",".",[15,47,48,51,52,55],{},[19,49,50],{},"Expanded report:"," Opening a report in the list shows a validation badge row grouped by status. Clicking any badge opens the ",[38,53,54],{},"ValidationEditModal"," — a full-featured overlay for viewing, editing, or creating a validation without leaving the report.",[15,57,58,61,62,65],{},[19,59,60],{},"Mobile:"," The mobile supervisor queue at ",[38,63,64],{},"/m/validations"," lists validations assigned to you. Mobile validators work through the queue from a dedicated list.",[15,67,68,71,72,75,76,79],{},[19,69,70],{},"Print view:"," The standalone ",[38,73,74],{},"/fulfillment/validations/:id"," page is a ",[19,77,78],{},"print-only view",". The modal has a Print button in its header that opens the print page in a new tab. Deep-links from old bookmarks still resolve.",[27,81,83],{"id":82},"opening-a-validation","Opening a Validation",[15,85,86],{},"From the reports list:",[88,89,90,94,97,103,110],"ol",{},[91,92,93],"li",{},"Find the report you want to validate",[91,95,96],{},"Click the validation badge in the report row (or expand the row to see badges grouped by status)",[91,98,99,100,102],{},"The ",[38,101,54],{}," opens over the page",[91,104,105,106,109],{},"View the existing validation, or click ",[19,107,108],{},"Create validation"," if none exists",[91,111,112],{},"Review the work, leave comments, set status, and save",[15,114,115],{},[19,116,117],{},"Access gates:",[119,120,121,124,131],"ul",{},[91,122,123],{},"Viewing validations requires no special right",[91,125,126,127,130],{},"Creating requires the ",[38,128,129],{},"validationsCreate"," admin right",[91,132,133,134,130],{},"Editing requires the ",[38,135,136],{},"validationsUpdate",[27,138,140],{"id":139},"unified-submit-report-validation-together","Unified Submit (Report + Validation Together)",[15,142,143,144,147],{},"When you have both the report and a validation open, the ",[19,145,146],{},"Submit"," button saves everything together — report edits and validation edits are committed in one step. You do not save validations separately from the report.",[27,149,151],{"id":150},"validation-structure","Validation Structure",[15,153,154],{},[19,155,156],{},"Core Fields:",[119,158,159,165,171,177,183,189],{},[91,160,161,164],{},[19,162,163],{},"Report"," — Reference to the validated report (set automatically when you open from the report)",[91,166,167,170],{},[19,168,169],{},"Validator"," — User who performed the QC check",[91,172,173,176],{},[19,174,175],{},"Status"," — pass, fail, needs-revision, approved-with-notes",[91,178,179,182],{},[19,180,181],{},"Validation Date"," — When QC was performed",[91,184,185,188],{},[19,186,187],{},"Comments"," — Threaded discussion between validator and worker (see below)",[91,190,191,194],{},[19,192,193],{},"Attachments"," — Photos and documents supporting the QC decision",[27,196,198],{"id":197},"discussion-comments","Discussion Comments",[15,200,201,202,205],{},"Validators and workers communicate through a ",[19,203,204],{},"shared comment thread"," on the validation record. There are no structured issue types or severity levels — comments are free-form text, and the validator sets the overall status independently.",[15,207,208],{},[19,209,210],{},"How it works:",[119,212,213,216,219],{},[91,214,215],{},"The validator leaves comments describing issues found, measurements taken, or context for the status decision",[91,217,218],{},"The worker can reply in the same thread (editable until payment is released)",[91,220,221],{},"Both parties see the full history of the conversation",[15,223,224],{},[19,225,226],{},"Example comment flow:",[228,229,230,236,242],"blockquote",{},[15,231,232,235],{},[19,233,234],{},"Validator:"," \"Cable measured 42 m on site vs. 45 m reported. Junction box at pole 3 is not properly weather-sealed. Setting to needs-revision.\"",[15,237,238,241],{},[19,239,240],{},"Worker:"," \"Confirmed — cable run had to detour around an obstacle. Will reseal the junction box on Friday.\"",[15,243,244,246],{},[19,245,234],{}," \"Reseal confirmed on revisit. Updating to pass.\"",[15,248,249],{},"Comments preserve the full context of the QC process for audit purposes — who said what, and when.",[27,251,253],{"id":252},"validation-status","Validation Status",[15,255,256,259],{},[19,257,258],{},"pass"," — Work meets quality standards",[119,261,262,265,268],{},[91,263,264],{},"Measurements accurate",[91,266,267],{},"Installation per specifications",[91,269,270],{},"Materials properly documented",[15,272,273,276],{},[19,274,275],{},"fail"," — Work does not meet standards",[119,278,279,282],{},[91,280,281],{},"Critical quality issues or significant discrepancies",[91,283,284],{},"Requires rework before payment",[15,286,287,290],{},[19,288,289],{},"needs-revision"," — Minor issues, corrections needed",[119,292,293,296],{},[91,294,295],{},"Small measurement differences or incomplete documentation",[91,297,298],{},"Worker addresses issues and requests re-validation",[15,300,301,304],{},[19,302,303],{},"approved-with-notes"," — Acceptable with caveats",[119,306,307,310,313],{},[91,308,309],{},"Work meets minimum standards",[91,311,312],{},"Issues noted in comments for tracking",[91,314,315],{},"Full payment released",[27,317,319],{"id":318},"creating-validations","Creating Validations",[15,321,322,325,326,130],{},[19,323,324],{},"Access Required:"," ",[38,327,129],{},[15,329,330],{},[19,331,332],{},"Workflow:",[88,334,335,338,341,349,352,355,358,361],{},[91,336,337],{},"Navigate to Fulfillment → Reports",[91,339,340],{},"Open (or expand) the report you want to validate",[91,342,343,344,346,347,109],{},"Click a validation badge to open the ",[38,345,54],{},", or click ",[19,348,108],{},[91,350,351],{},"Review the work completed against physical site observations, photos, or data",[91,353,354],{},"Leave comments describing any issues, measurements, or observations",[91,356,357],{},"Upload photos or documents supporting your QC decision",[91,359,360],{},"Set the overall status (pass / fail / needs-revision / approved-with-notes)",[91,362,363,364,366],{},"Click ",[19,365,146],{}," to save the report and validation edits together",[15,368,369],{},[19,370,371,372,374],{},"Mobile validator workflow (",[38,373,64],{},"):",[119,376,377,380,383],{},[91,378,379],{},"GPS context to confirm which site you're at",[91,381,382],{},"Camera integration for attaching quality photos",[91,384,385],{},"Auto-save to device while you work; queued for the server and submitted when back online",[27,387,389],{"id":388},"validation-workflow","Validation Workflow",[15,391,392],{},[19,393,394],{},"Typical Process:",[88,396,397,403,409,415,421,427,433,438,443,448,454,460],{},[91,398,399,402],{},[19,400,401],{},"Report Submitted"," — Worker completes and submits a report",[91,404,405,408],{},[19,406,407],{},"Badge Visible"," — Reports list shows a grey \"none\" badge for reports without validations",[91,410,411,414],{},[19,412,413],{},"Validator Opens Report"," — Clicks the badge, opens the modal",[91,416,417,420],{},[19,418,419],{},"Site Visit"," — Validator visits the location (or reviews photos and data remotely)",[91,422,423,426],{},[19,424,425],{},"Measurements"," — Physical verification of work",[91,428,429,432],{},[19,430,431],{},"Photos"," — Document quality (good or bad)",[91,434,435,437],{},[19,436,187],{}," — Record any discrepancies, observations, or instructions in the comment thread",[91,439,440,442],{},[19,441,175],{}," — Set pass / fail / needs-revision / approved-with-notes",[91,444,445,447],{},[19,446,146],{}," — Saves report and validation atomically",[91,449,450,453],{},[19,451,452],{},"Follow-Up"," — If needs-revision, worker addresses issues and replies in comments",[91,455,456,459],{},[19,457,458],{},"Re-Validation"," — Re-open the badge, add a comment to the existing validation or create a new one",[91,461,462,465],{},[19,463,464],{},"Final Approval"," — Report approved, payment released",[27,467,469],{"id":468},"filtering-reports-by-validation-status","Filtering Reports by Validation Status",[15,471,472,473,476],{},"The reports list accepts a ",[19,474,475],{},"validation status filter",":",[119,478,479,485,491,497,503,509],{},[91,480,481,484],{},[38,482,483],{},"all"," — every report (default)",[91,486,487,490],{},[38,488,489],{},"none"," — reports without any validation (needs QC attention)",[91,492,493,496],{},[38,494,495],{},"any"," — reports with at least one validation",[91,498,499,502],{},[38,500,501],{},"failed"," — reports with at least one failed validation",[91,504,505,508],{},[38,506,507],{},"revision"," — reports with at least one needs-revision validation",[91,510,511,514],{},[38,512,513],{},"passed"," — reports where all validations pass",[15,516,517],{},[19,518,519],{},"Custom filters:",[119,521,522,525],{},[91,523,524],{},"Validator (who performed QC)",[91,526,527],{},"Date range",[27,529,531],{"id":530},"payment-integration","Payment Integration",[15,533,534],{},"Validations control payment release:",[15,536,537],{},[19,538,539],{},"Payment Hold:",[119,541,542,548],{},[91,543,544,545,547],{},"Reports with ",[38,546,275],{}," status → payment held",[91,549,544,550,552],{},[38,551,289],{}," → partial payment (configurable)",[15,554,555],{},[19,556,557],{},"Payment Release:",[119,559,560,568,573],{},[91,561,562,564,565,567],{},[38,563,258],{}," or ",[38,566,303],{}," → full payment released",[91,569,570,572],{},[38,571,289],{}," → partial payment, re-validation required before full release",[91,574,575,577],{},[38,576,275],{}," → no payment, rework required",[15,579,580],{},[19,581,582],{},"Financial Protection:",[119,584,585,588,591],{},[91,586,587],{},"Prevents payment for substandard work",[91,589,590],{},"Incentivises quality",[91,592,593],{},"Comment thread serves as the audit trail for payment decisions",[27,595,597],{"id":596},"best-practices","Best Practices",[15,599,600],{},[19,601,602],{},"Timely Validation:",[119,604,605,611,614],{},[91,606,607,608,610],{},"Use the reports list's ",[38,609,489],{}," filter to find reports awaiting QC",[91,612,613],{},"Validate within 24–48 hours of report submission",[91,615,616],{},"Fresh evidence (materials still visible, worker still remembers) and faster payment to workers",[15,618,619],{},[19,620,621],{},"Specific Comments:",[119,623,624,627,630],{},[91,625,626],{},"Describe exactly what you measured and where (e.g., \"42 m confirmed from pole 4 to the junction box at building 12, vs. 45 m reported\")",[91,628,629],{},"Reference work completed items by name if you need to flag a specific line",[91,631,632],{},"Attach photos — they provide indisputable evidence",[15,634,635],{},[19,636,637],{},"Constructive Feedback:",[119,639,640,643,646],{},[91,641,642],{},"Frame issues as training opportunities",[91,644,645],{},"Explain why the issue matters (safety, standards, cost)",[91,647,648],{},"Offer concrete suggestions for correction",[15,650,651],{},[19,652,653],{},"Consistent Standards:",[119,655,656,659,662],{},[91,657,658],{},"Apply the same criteria to all workers",[91,660,661],{},"Document your quality standards so workers know what to expect",[91,663,664],{},"Calibrate across validators regularly to ensure consistency",[15,666,667],{},[19,668,669],{},"Use the Print View for Hard Copies:",[119,671,672,678,681],{},[91,673,674,675,677],{},"Open the ",[38,676,54],{}," on an existing validation",[91,679,680],{},"Click the Print button in the modal header",[91,682,683],{},"The print page opens in a new tab, ready for paper or PDF export",[27,685,687],{"id":686},"validation-immutability","Validation Immutability",[15,689,690,693],{},[19,691,692],{},"Soft Deletes:","\nValidations can be marked deleted but stay in the database:",[119,695,696,699,702],{},[91,697,698],{},"Preserves QC history",[91,700,701],{},"Maintains payment audit trail",[91,703,704,707],{},[38,705,706],{},"viewDeleted"," admin right to see deleted validations",[15,709,710,713],{},[19,711,712],{},"Edit Restrictions:","\nAfter payment is released:",[119,715,716,719,722,725],{},[91,717,718],{},"Validations become read-only (modal is view-only)",[91,720,721],{},"Corrections require a new validation with additional comments",[91,723,724],{},"Preserves financial integrity",[91,726,727],{},"Full comment history is always retained",{"title":729,"searchDepth":730,"depth":730,"links":731},"",2,[732,733,734,735,736,737,738,739,740,741,742,743],{"id":29,"depth":730,"text":30},{"id":82,"depth":730,"text":83},{"id":139,"depth":730,"text":140},{"id":150,"depth":730,"text":151},{"id":197,"depth":730,"text":198},{"id":252,"depth":730,"text":253},{"id":318,"depth":730,"text":319},{"id":388,"depth":730,"text":389},{"id":468,"depth":730,"text":469},{"id":530,"depth":730,"text":531},{"id":596,"depth":730,"text":597},{"id":686,"depth":730,"text":687},"Validations are managed directly from the reports page as traffic-light badges. Supervisors open a validation modal to verify work, leave comments for the worker, and set a status that controls payment release.","md",{},true,"/en/user/work-fulfillment/validations",{"title":5,"description":744},"en/user/work-fulfillment/validations","VFWuomnbKRZnaawcpFrthGQm-eJMzdc3C5AFYPrk38A",1780539291059]