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.
| No. | Level | Unit / area | Room | Item | Trade | Photo | Priority | Raised on | Raised by | Due | Status | Completed on | Proof photo | Verified by | Closed on | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| S-118 | 4 | 4.02 | Entry | Door catches on carpet at the latch side; 2 mm carpet over spec, see flooring | Flooring | IMG_5102.jpg | Standard | 2026-09-16 | T. Moana | 2026-09-19 | Closed | 2026-09-18 | IMG_5188.jpg | T. Moana | 2026-09-19 | Disputed by carpenter 17 Sep; re-issued to flooring, cost to carpet supplier. |
| S-119 | 4 | 4.02 | Ensuite | Grout missing, shower niche, left return, 300 mm run | Tiler | IMG_5103.jpg | Standard | 2026-09-16 | T. Moana | 2026-09-26 | Completed by trade | 2026-09-24 | IMG_5201.jpg | — | — | — |
| S-120 | 4 | L4 corridor | Corridor | Handrail bracket loose at stair 2 landing; moves under hand load | Metalwork | IMG_5104.jpg | Safety | 2026-09-16 | T. Moana | 2026-09-16 | Closed | 2026-09-16 | IMG_5110.jpg | R. Doyle | 2026-09-16 | Fixed same day; fixings replaced. |
| S-121 | 4 | 4.05 | Kitchen | Rangehood not venting; duct disconnected above bulkhead | Mechanical | IMG_5105.jpg | High | 2026-09-16 | T. Moana | 2026-09-18 | Issued | — | — | — | — | Access through bulkhead panel; painter to make good after. |
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.
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.
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.
Questions about the snag list
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.