# A punch list tracker in SharePoint for a small contractor

> For the full documentation index, see https://250highstreet.com/llms.txt

> Build a punch list in one SharePoint list: item, location, trade, priority, status, owner, due date, photo and sign-off, with three saved views.

Keep a punch list as one SharePoint list row per item, with location, trade, priority, status, assignee, due date and a photo. Save views for open items by trade, overdue items and items ready for sign-off, so nothing sits in a spreadsheet copy or a phone gallery.

## Why a spreadsheet punch list breaks down

A punch list holds the small fixes left at the end of a job. A spreadsheet handles day one fine. Trouble shows up as the job moves along:

- A photo sits in a phone gallery or an email thread, away from its item.
- Two people edit two copies, and nobody knows which copy is current.
- Status is typed in free text ("done", "Done", "fixed?"), so a filter cannot group it.
- No one can see which items are late or waiting for a check without reading every row.
- Sign-off is a spoken "yes" with no record of who gave it or when.

Each item as its own row, with fixed choices and one photo slot, removes all five. If you are still deciding whether to leave your spreadsheet, see "[Replace a spreadsheet tracker with a SharePoint list](/guides/replace-spreadsheet-with-sharepoint-list/)".

## Name three roles before row one

Settle these before the first item goes in. Changing them after 150 rows costs more work.

- Adders: the lead and whoever walks the site. Permission: Edit, because they create and update items.
- Fixers: trade partners who change an item's status and attach a photo of the finished work. Permission: Edit, plus a house rule to touch only Status and Photo. For a tighter setup, give them Read and let the lead update status for them.
- Checkers: one or two people who confirm a fix. Permission: Edit. Our advice, not a Microsoft rule: the checker should not be the person who did the fix.
- Owners, clients and anyone who only watches: Read.

A view only changes what is displayed. Anyone with access to the list can open a different view and read every row. Microsoft says people invited to a list get Edit by default, with Read as the other choice. The role split here is mine, not Microsoft's. Microsoft says breaking inheritance on a single list is supported but not recommended, since it adds management work, and it advises using the built-in SharePoint groups. Ask your site admin to set this up. To show each person only their own rows, see "[Let each person see only their own items in a SharePoint list](/guides/people-see-only-their-own-items-sharepoint-list/)".

This is a tracking list. Your contract and local inspection rules still govern the job.

## Step 1. Create the list

Microsoft defines a list as a collection of data you can share with your team, and says you can make one in SharePoint or in the Lists app of Microsoft 365. Menu names can differ on your screen.

1.  Go to your team site, or to the Lists app.
2.  Pick the new list option and begin with a blank list.
3.  Call it "Punch list".

## Step 2. Add the columns

Microsoft's column types page describes each type named below. Which columns to use is my suggestion for a punch list.

- Title: rename it "Item" and keep it to one short line, for example "Seal gap at tub, Unit 9".
- Location (Single line of text): unit and room, for example "Unit 9, bathroom".
- Trade (Choice): 1 Drywall, 2 Electrical, 3 Plumbing, 4 Tile, 5 Other. Replace these with the trades on your job. Our advice, not a Microsoft rule: the leading number gives each value a fixed look in every view.
- Priority (Choice): 1 High, 2 Medium, 3 Low.
- Status (Choice): 1 Open, 2 Fixed, 3 Signed off, with 1 Open as the default.
- Assigned to (Person or Group): one person per item. Microsoft says this type gives a searchable list of people.
- Due date (Date and time, date only).
- Photo (Image): see Step 3.
- Signed off by (Person or Group): one person.
- Signed off on (Date and time, date only).

Microsoft says a column can be marked required. I would require Location, Trade, Priority and Assigned to, since an item without them cannot be routed to anyone. Leave both sign-off columns optional because they are filled in last. Our advice, not a Microsoft rule.

## Step 3. One photo rule for the whole crew

SharePoint offers two spots for a picture. Pick one convention and write it down, so every item looks the same.

The Image column. Microsoft says it adds one image file from your device to an item, and the item form lets you add, view, replace or delete it. The limit is one image per column. Microsoft's page names no file formats or size limits for it, so test a real phone photo before you rely on it.

Attachments. Microsoft says a list item can carry attached files and that holding CTRL selects several at once. A list that lacks the Add attachments command does not support attachments. Microsoft also says you cannot attach in Edit in grid view, so open the item form. The SharePoint limits page gives 250 MB for a file attached to a list item. On site, the crew uses a phone browser: Microsoft retired the Lists apps for Android and iOS in mid-November 2025. Start from the SharePoint root site or Microsoft's link [https://office.com/launch/Lists](https://office.com/launch/Lists), and see "[Microsoft Lists phone app is gone: what to use now](/guides/microsoft-lists-mobile-app-retired/)" for each tap. Microsoft's pages do not say whether the phone browser can attach a photo, so test one before the crew relies on it.

Our advice, not a Microsoft rule: store the "before" shot in the Image column, put follow-up shots in attachments, and write that split in the list description. For where attachments end up, see "[Where SharePoint list attachments are stored, and when to use a library](/guides/where-do-sharepoint-list-attachments-go/)".

## Step 4. Add a sample row

Enter one fake item, label it as a test, and delete it when done.

- Title: Item 12, fill gap behind door stop
- Location: Unit 6, hallway
- Trade: 5 Other
- Priority: 3 Low
- Status: 1 Open
- Assigned to: (pick a person)
- Due date: 2026-11-03
- Photo: (add one phone photo)

Test the sample row on a phone. If it feels slow, drop a column.

## The columns at a glance

Copy this as your own column plan. Item, Location, Trade, Priority, Status, Assigned to, Due date, Photo, Signed off by, Signed off on. This guide has no file to download. Build the list from these columns.

## Step 5. Build the three views

Per Microsoft, a view sorts, filters and groups list data, and making one leaves the list itself unchanged. Microsoft says filters that use \[Today\] or \[Me\] need the classic view editor (Edit current view, then Filters). I also use the classic view editor for blank and "is not equal to" filters; that part is my advice, not a Microsoft rule. Microsoft says you cannot use \[Today\] or \[Me\] when filtering from a column header. Exact names may differ on your screen.

1.  Open work by trade. In the classic view editor, filter Status is not equal to 3 Signed off. Group by Trade and sort by Priority, ascending. Each trade partner reads a single block, high priority at the top.
2.  Late items. In the classic view editor, filter Due date is less than \[Today\], And Status is not equal to 3 Signed off. Sort by Due date, ascending. The lead starts the morning here.
3.  Waiting for a check. Filter Status is equal to 2 Fixed. Sort by Location. The checker walks the job with this view open, unit by unit.

Save each view as public so the crew all see one screen. A personal view stays yours alone, and making a public one may need extra permission.

To turn late rows red, see "[Turn overdue rows red in a SharePoint list](/guides/highlight-overdue-rows-sharepoint-list/)".

## Export a punch list for an owner

For an owner who wants a sheet, open the view to send, such as Waiting for a check. With no rows selected, pick Export, then Export to Excel. Per Microsoft, the sheet holds the items that view shows. See "[SharePoint list export to Excel fails or misses rows](/guides/sharepoint-list-export-to-excel-not-working/)".

## Step 6. Record the sign-off

When Status becomes 3 Signed off, the checker fills in Signed off by and Signed off on. The result is a plain record of who called the item done and on what date. One way to start: only checkers set Status to 3 Signed off, and everyone else stops at 2 Fixed. A list cannot enforce that alone, which is why the role permissions above matter.

For a formal approval with a trail, see "[Approvals lost in email: how to stop chasing sign-offs](/guides/approvals-lost-in-email/)".

## Step 7. Optional: a morning nudge to whoever holds an item

This step can wait. The idea: a Power Automate flow wakes on a schedule, finds items still open, and messages the person holding each. Start with the smallest build.

1.  Create a scheduled cloud flow in Power Automate. Microsoft's route is My flows, Create from blank, then the Recurrence trigger. Put 1 in Interval and Day in Frequency.
2.  Add the SharePoint action Get items and aim it at Punch list.
3.  Open Advanced options and type this into Filter Query: Status eq '1 Open'
4.  Fill Top Count. Microsoft says Get items returns 100 items unless you change it, and Top Count can go up to 5,000. Type a number at or above your largest expected count of open items.
5.  In the action settings, switch Pagination on if the list may grow past that number. Microsoft says to turn Pagination on for Get items when a list holds more than 5,000 items.
6.  End with a step that notifies the Assigned to person on the row. "[Late tasks nobody notices: setting up late alerts](/guides/late-tasks-nobody-notices/)" and "[Recurring task reminders for a team](/guides/recurring-task-reminders/)" both show how.

Leave out Top Count and Pagination and the flow reads only the first 100 rows. Item 101 and beyond get no message, and no error appears.

## What to avoid

- Long forms. If a new item is slow to enter on a phone, the crew may skip entering it.
- Typed-in status, trade or priority. Choice columns filter and count cleanly; typed text drifts. Keep the number prefixes.
- Photos sent by text message. A picture that never reaches the row is lost.
- One person both fixing and approving an item. Split the two jobs.
- Rows with no due date. They cannot appear in the late view.
- A nudge flow without Top Count and Pagination. It reads 100 rows and ignores the rest.
- Deleting signed-off rows. Keep them as the record and filter them out of the working views.
- Assuming limits for the Image column. Microsoft's page states none, so test your own photos.

## Related logs

If you also track changes to scope, see "[Change request log in a SharePoint list](/guides/change-request-log-sharepoint/)". If you track risks and decisions on the same job, see "[RAID log in a SharePoint list: risks, actions, issues, decisions](/guides/raid-log-sharepoint-list/)".

## When to get help

You can build all of this yourself in Microsoft 365. If you would rather have it built and tested for your team, I do that. A tracker like this is a fixed price: \$5,000 for one, built in 2 weeks. See "[What a SharePoint tracker costs to build](/guides/what-a-sharepoint-tracker-costs/)". Bring one example of the problem to a free call.

I am Al Davies. I run 250 High Street LLC and build SharePoint trackers and Power Automate flows for operations teams. I work remotely. The first call is free, and I will not try to sell you anything.

See trackers I built: [Tools I built](/portfolio/)

## FAQ

### Is there a free construction punch list template for Excel?

Not as a file. Use the column plan above to build the list, then export any view to Excel.

### Can a punch list include photos?

Yes. Microsoft describes the Image column as one image per column and attachments as one or more files per item. Test your own phone photos in the phone browser first.

### Can I get a punch list as a Word or PDF file?

This guide builds a list, not a Word or PDF file. For a sheet to send to an owner, export a view to Excel.

### Can the list stop a trade partner from signing off their own work?

Not by itself. A view does not control who can change a field. Give edit rights only to people you trust with Status, and keep sign-off as a team rule. Ask your admin about permission options.

### Why does my reminder flow miss some items?

Get items returns 100 items by default. Set Top Count in Advanced options, up to 5,000, and turn on Pagination for larger lists.

## Sources

- [Microsoft Support, List and library column types and options](https://support.microsoft.com/en-us/sharepoint/lists/data-and-lists/list-and-library-column-types-and-options)
- [Microsoft Support, Add list items](https://support.microsoft.com/en-us/sharepoint/lists/data-and-lists/add-list-items)
- [Microsoft Support, Use filtering to modify a SharePoint view](https://support.microsoft.com/en-us/office/use-filtering-to-modify-a-sharepoint-view-3d8efc52-0808-4731-8f9b-3dfaeacea3d4)
- [Microsoft Support, Edit permissions for a list, library, folder or item](https://support.microsoft.com/en-us/office/edit-permissions-for-a-list-library-folder-or-item-02d770f3-59eb-4910-a608-5f84cc297782)
- [Microsoft Learn, SharePoint limits](https://learn.microsoft.com/en-us/office365/servicedescriptions/sharepoint-online-service-description/sharepoint-online-limits)
- [Microsoft Learn, Run a cloud flow on a schedule in Power Automate](https://learn.microsoft.com/en-us/power-automate/run-scheduled-tasks)
- [Microsoft Learn, In-depth analysis into Get items and Get files SharePoint actions](https://learn.microsoft.com/en-us/sharepoint/dev/business-apps/power-automate/guidance/working-with-get-items-and-get-files)
- [Microsoft Support, Microsoft Lists mobile apps retirement](https://support.microsoft.com/en-US/SharePoint/lists/microsoft-lists-mobile-apps-retirement)
- [Microsoft Support, Export to Excel from SharePoint or Lists](https://support.microsoft.com/en-us/sharepoint/lists/data-and-lists/export-to-excel-from-sharepoint-or-lists)

## Related guides

- [A work order tracker in SharePoint, without a spreadsheet](/guides/work-order-tracker-sharepoint/)
- [RAID log in a SharePoint list: risks, actions, issues, decisions](/guides/raid-log-sharepoint-list/)
- [Construction bids sent and not followed up](/guides/construction-bid-tracker-sharepoint/)

Source: https://250highstreet.com/guides/construction-punch-list-sharepoint/
