Snag list template

A snag list template (or punch list), with the columns explained.

Seventeen columns, four worked snags from one level, and one line on why each column is there. The same file whether your site calls it a snag list, a punch list or a defect list. Download it, copy it into a sheet, or read where a snag list stops being enough. No form, no email.

17 COLUMNS · 4 EXAMPLE SNAGS · NO GATE
No.LevelUnit / areaRoomItemTradePhotoPriorityRaised onRaised byDueStatusCompleted onProof photoVerified byClosed onNotes
S-11844.02EntryDoor catches on carpet at the latch side; 2 mm carpet over spec, see flooringFlooringIMG_5102.jpgStandard2026-09-16T. Moana2026-09-19Closed2026-09-18IMG_5188.jpgT. Moana2026-09-19Disputed by carpenter 17 Sep; re-issued to flooring, cost to carpet supplier.
S-11944.02EnsuiteGrout missing, shower niche, left return, 300 mm runTilerIMG_5103.jpgStandard2026-09-16T. Moana2026-09-26Completed by trade2026-09-24IMG_5201.jpg———
S-1204L4 corridorCorridorHandrail bracket loose at stair 2 landing; moves under hand loadMetalworkIMG_5104.jpgSafety2026-09-16T. Moana2026-09-16Closed2026-09-16IMG_5110.jpgR. Doyle2026-09-16Fixed same day; fixings replaced.
S-12144.05KitchenRangehood not venting; duct disconnected above bulkheadMechanicalIMG_5105.jpgHigh2026-09-16T. Moana2026-09-18Issued————Access through bulkhead panel; painter to make good after.
Scroll sideways for the rest of the columns. The four rows are the worked examples further down; the file carries the same four so you can see the shape before you delete them.
The columns

What each column is for

A snag list is a defect register with the handover date breathing on it. It needs fewer columns than the full register, but the ones it keeps are about two things a room-walk sheet usually skips: who the item is with right now, and who checked that it was fixed.

01No.
A permanent number, assigned once and never reused. It does not encode the level, the room or the trade, because all three can change and the number must not.
02Level
Floor or level, as its own column so a filter for level 4 returns level 4.
03Unit / area
The unit number, or the name of the common area. “L4 corridor” is an area; “near the lifts” is not.
04Room
The room, from an agreed list. Every walker calls the second bathroom the same thing, or the list cannot be sorted.
05Item
What is wrong, where on the thing it is wrong, and how much of it. “Grout missing, shower niche, left return, 300 mm run” beats “tiling”.
06Trade
Whose work it is. One trade per row; if two trades share an item it is two rows.
07Photo
The filename of the photo taken when the snag was found, standing in the room. The photo is the snag; the row is where it is filed.
08Priority
Safety, High or Standard. Safety is today; High is inside two working days; Standard follows the handover date. The priority sets the due date, not the other way round.
09Raised on
The date it was found. Not the date it was typed up.
10Raised by
Who found it. Three walkers on one level produce three styles of item; the reader needs to know whose this is.
11Due
The fix-by date, set when the snag is issued to the trade and visible to them. A due date the trade has never seen is a hope.
12Status
Open, Issued, In progress, Completed by trade, Verified, Closed or Disputed. Give each status a named owner who is allowed to move it, and do not let the trade move a row to Closed.
13Completed on
The date the trade said it was done. This is their claim, not the close-out, and it has its own column so the two stay apart.
14Proof photo
The filename of the trade’s photo of the finished work. No photo, no claim.
15Verified by
Who checked the fix against the original photo. Not the trade.
16Closed on
The date verified and closed. On a sheet this is also the only proof of when the status changed, so fill it in.
17Notes
Anything else: the dispute, the re-issue, the access problem. Never a substitute for the columns.
Filling it in

Four snags from level 4

S-118, the door on the carpet. Raised against the carpenter, who disputed it the next morning: the door was hung to spec and the carpet is 2 mm over. He was right. The row was re-issued to the flooring contractor, the note says so with the date, and the cost went to the carpet supplier. The carpenter was on this item for one day and the sheet says so.

S-119, the grout. Standard priority, ten days, in step with the unit’s handover date. The tiler marked it complete with a proof photo on the 24th. Verified by and Closed on are blank, because nobody has looked yet, and that is what the sheet should say until someone does.

S-120, the handrail. Safety, due the same day, fixed the same day with a photo, verified by a second person the same afternoon. Every column filled in a single row, which is what a safety item should look like.

S-121, the rangehood. High priority because the unit cannot hand over without it, issued to mechanical with a two-day date. The note carries what the trade needs to know before they arrive: access is through the bulkhead panel, and the painter follows.

The limit

Where a snag list breaks

A snag list in a spreadsheet is fine for one walker, one level and a fortnight. It fails in three predictable ways, and all three arrive in the last two weeks before handover, which is the worst possible time.

The first walk
Three walkers, three lists
Level 4 is walked by the site manager, the foreman and the client’s rep on the same morning. Three sheets, three ways of naming the rooms, the same grout line raised twice and the handrail raised by nobody because each assumed another had it. Merging them takes an afternoon and loses one. A snag list with more than one copy is several lists.
Week two
The photo is on a phone
Row S-119 says IMG_5103.jpg. The phone it is on belongs to the foreman, who has since taken four hundred more. The tiler’s proof photo arrived on WhatsApp and was never named at all. The sheet describes two photos; the project has neither in a place anyone can find.
The day before the client walks
Completed means closed
Forty rows go from Issued to Closed in an afternoon, typed by someone in the office from a text that said “all done L4”. The sheet has no way to say that nobody looked. The client walks 4.02 and the grout is still missing, and the register says it was closed the day before by a person who was not there.
Asked alongside the download

Questions about the snag list

What is a snag list?
The list of minor defects and unfinished details walked up at or near completion, usually room by room, so each one can be issued to a trade and fixed before handover. In the United States and on data centre projects everywhere it is a punch list; in the contract the items on it are defects. This template is the same file under either name.
What columns should a snag list have?
Seventeen, in this template: a permanent number, level, unit or area, room, the item with its extent, the trade, the photo, priority, raised on and by, the due date, status, the date the trade said it was done, their proof photo, who verified it, when it closed, and notes. The last five are the ones a room-walk sheet usually skips, and they are the ones that matter at handover.
What is the difference between a snag list and a defect register?
Scope and timing. The register runs for the whole job and carries cost, type and classification columns because who pays is a live question from day one. The snag list is the last weeks before handover, where the question is finishing, so it drops the cost columns and adds the trade’s claim and proof photo so the two-person close-out is visible on the sheet.
Is the snag list template free, and in what format?
Yes. An Excel workbook with drop-downs for Priority and Status, the header row frozen and a second sheet explaining the columns, or a CSV with the same columns. Four worked snags from one level are included. No form, no email.
What to do about it

Keep the columns. Change what holds them.

Whatever holds this list, a sheet or a system, should be judged on four things: one copy, the photo attached to the row rather than named in it, the trade’s claim kept separate from the close-out, and a Closed that only the right people can set. If you have not hit the three failures yet, the sheet is fine and this page has done its job.

If you have, snagging software goes through what a system has to do with the same columns, and the docs explain how IssuesId handles the lifecycle, the trade’s link and proof photo and who can close what. The words themselves are in the glossary under snag and punch list; for the full register with cost columns, the defect register template is the same idea for the whole job.

IssuesId