| Name | Description | Assigned by | Assigned to | Priority | Due date | Status |
|---|---|---|---|---|---|---|
| Drywall touch-up — unit 204 | Sand and prime around door frame before owner walkthrough Friday. | Bradon Ray | Daniel Lopezdaniel@lopezfinish.co | High | 2026-07-15 | In progress |
| Panel labeling — main service | Print and affix breaker labels to code. | Bradon Ray | Mike's Electric | Medium | 2026-07-18 | Not started |
| Trim caulking — master bath | Fill baseboard gaps behind vanity. | Bradon Ray | Framing crew | Low | 2026-07-20 | Completed |
| Touch-up paint — hallway | Cover scuffs from move-in inspection. | Bradon Ray | — | Medium | — | Not started |
Every GC has a punch list template. It’s usually a spreadsheet somebody built years ago, half the columns are unused, and by the third project it’s got tabs for two different jobs mixed together.
Here’s what a punch list actually needs to do: tell you what’s broken, who’s fixing it, how urgent it is, and when it’s done. That’s the whole job. Most templates fail because they try to do more than that—or because they leave out the one column that quietly costs three weeks at closeout.
Get the punch list template (CSV)
Pre-built with the six columns below. Opens in Excel, Google Sheets, or Numbers—no account required.
Download the template →The 6 columns that matter
- Name. One line. “Drywall touch-up, unit 204”—not a paragraph.
- Description. The detail goes here, not in the name field. “Sand and prime around the door frame before owner walkthrough Friday.”
- Assigned to. The one everyone skips because “everyone knows who does drywall.” Six weeks later, three jobs deep into other work, nobody remembers. Write it down every time.
- Priority. Low, medium, high. Not everything is a fire. If everything is marked urgent, nothing is.
- Due date. Without this, punch items don’t get scheduled—they get remembered, badly.
- Status. Not started, in progress, done. Three states. You don’t need more.
Why punch lists actually drag on
It’s rarely the work itself. A drywall touch-up takes an hour. What takes three weeks is the item sitting in a group text that got scrolled past, assigned to nobody in writing, with no due date, so it just waits until someone remembers to ask about it during the final walkthrough.
The fix isn’t a better spreadsheet. It’s making the six columns above impossible to skip, and making status updatable by the person actually doing the work—not just the GC checking in every few days.
Frequently asked questions
What should a punch list template include?
Six fields: item name, description, assigned to, priority, due date, and status. Fewer than that and important details get lost; more than that and nobody fills it out consistently.
Why do punch lists take so long to close out?
Punch list items rarely take long to complete on their own. The delay comes from items with no assigned owner written down and no due date, so the task gets remembered verbally instead of tracked.
What’s the difference between priority and status?
Priority tells you how urgent an item is. Status tells you where it stands right now. Punch lists that only track one or the other make it hard to decide what to work on next.
Is a spreadsheet good enough, or do I need software?
A spreadsheet works fine for a single small job. It breaks down once you’re running multiple projects, need to notify an assignee automatically, or want the assignee to update their own status without emailing you back.
If you’re already running the schedule in Relay, the punch list lives right under your Gantt with these same six fields, plus one more—you can assign an item to anyone by email, not just people already invited to the project. No separate spreadsheet, no separate login for the sub doing the fix.