What is Punch List?
A punch list is a document listing incomplete or defective work that a contractor must finish before a project is considered complete. Learn how punch lists work in construction and service contracts and how they affect invoicing.
A punch list -- also called a snag list -- is a document generated near the end of a construction or project engagement that itemizes remaining tasks, deficiencies, or corrections required before the project is considered substantially complete. The term originates in the construction industry, where inspectors would literally punch a hole in paper next to each item requiring attention. Today the concept applies beyond construction to any project-based work: software development, interior design, website delivery, or any engagement with a defined scope and completion criteria. A punch list created at project closeout gives both the contractor and the client a shared, written understanding of what remains to be done before final payment -- including the release of any retainage -- is due.
A punch list works by creating an exhaustive list of outstanding items that must be corrected or completed before the project is accepted. After the contractor believes the project is substantially complete, the client or owner inspects the work and identifies any items that do not meet the contract specifications -- a door that does not close properly, a missing light fixture, a web page that displays incorrectly on mobile. These items are documented on the punch list with a description and a deadline. The contractor works through the punch list, and as each item is completed, the client verifies and signs off. When all items are resolved, the project is deemed complete, retainage is released, and final payment is due. A well-managed punch list prevents disputes about whether the project is truly complete.
For freelancers and contractors working on project-based engagements, the punch list concept applies even in non-construction contexts. A web developer completing a client site can create a final punch list of remaining items before launch: browser compatibility fixes, content updates, form testing, and speed optimization. A consultant finishing a deliverable might use a punch list to track remaining edits, formatting corrections, and data checks before submitting the final report. Using a punch list demonstrates professionalism, gives the client a clear picture of what remains, and creates a documented basis for closing the project and releasing final payment. It also prevents the common freelancer problem of projects that never officially close because the client keeps requesting additional small items.
A punch list documents remaining corrections and tasks at the end of a project and is used to finalize project completion. A change order documents new or additional work that was not part of the original scope and is used to authorize and price extra work during the project. Punch list items should be deficiencies or corrections of original scope -- not new requests. If a client identifies something on the punch list that was never part of the original contract, that item should be addressed through a change order, not as a punch list correction. The distinction matters for billing: punch list corrections are typically performed at no additional charge (they are fixing contracted work), while change order items carry additional cost.
To create and close a punch list: First, at project completion, schedule a walkthrough or review session with the client to inspect the work together. Second, document every item that does not meet the contract specifications, with a clear description and any relevant photos or screenshots. Third, assign a realistic deadline for completing each item. Fourth, send the punch list to the client in writing for acknowledgment. Fifth, work through the punch list systematically, addressing each item in priority order. Sixth, as each item is resolved, notify the client and request written sign-off. Seventh, when all items are complete, send a formal project completion notice requesting final payment and retainage release. Eighth, retain the completed punch list in your project records.
Eonebill helps freelancers and contractors manage the billing side of project closeout. When punch list items are complete and the client signs off, issuing the final invoice is easy with our [free invoice generator](/free-tools/invoice-generator). You can reference the project name, the completed punch list, and the retainage amount being released in the invoice notes. Explore [Eonebill pricing](/pricing) for full project billing support.
1. Not creating a written punch list -- relying on verbal agreements about remaining items leads to disputes about whether they were ever addressed. 2. Allowing the punch list to grow indefinitely -- if clients keep adding items beyond the original scope, distinguish punch list corrections from new change orders. 3. Beginning the punch list process too early -- a punch list is for the near-completion phase; starting one mid-project is a sign that the scope is not well-defined. 4. Not getting client sign-off on completed items -- verbal confirmation that an item is done is not enough; get written acknowledgment for each item. 5. Releasing retainage before the punch list is fully resolved -- confirm all items are closed before requesting final payment release.
Learn more about related topics: [Retainage](/glossary/retainage), [Change Order Contract](/glossary/change-order-contract), [Subcontractor Agreement](/glossary/subcontractor-agreement), [Job Costing](/glossary/job-costing).