PUNCH LIST + QA INSPECTIONS
How PunchOps works
Punch list and QA inspection management for multi-unit construction — unit-level checklists, trade assignment, photo evidence, reinspection tracking, and airtight owner sign-off packets.
What it solves
Multi-unit projects close with hundreds of punch items across rooms, trades, and subs — tracked on clipboards, phone photos, and group texts that never quite tell the same story when it's time for owner sign-off.
PunchOps centralizes unit-level inspections, punch items routed by trade, subcontractor assignments with photo evidence, reinspection outcomes, and owner sign-off packets — all in one auditable workflow with a real completion forecast.
Why this is hard: Subs mark items "done" and inspectors find them not done, units have to pass internal QA before the owner ever sees them, and owner sign-off has to be airtight enough to close the project.
Who uses it
Workflow at a glance
Inspector walks a unit against the room checklist; punch items are created per room and per trade. Superintendent assigns subs. Subs mark complete with photo evidence. Inspector reinspects; passing items close. Unit moves to ready-for-owner; owner reviews and signs the unit packet.
A sub marks an item complete; the inspector reinspects and fails it (wrong fix, incomplete, missing evidence). The item returns to open with a rejection reason; the aging counter continues. Trade-performance reports surface repeat failures.
A sub tries to move a punch item to ready-for-reinspection without attaching photo evidence. The action is blocked with a reason code; the sub must upload the photo (or document why none is possible) before the item can advance.
Open punch by trade, items aging beyond 14 days, units by readiness state, reinspection failure rate, subcontractor performance, and project completion forecast at current velocity roll up on the PM dashboard.
What it produces
- Owner sign-off packet (PDF)
- Unit punch report
- Trade assignment report
- Readiness dashboard export
- Reinspection failure report
- Project completion summary
- Audit-trail CSV export
Industry terms
- Punch item
- A single deficiency or unfinished task identified during a unit walkthrough — defined by room, trade, severity, and required fix.
- Reinspection
- Inspector's re-check after a sub marks an item complete. Outcomes are pass (item closes) or fail (item returns to open with reason).
- Trade assignment
- Mapping of a punch item to the responsible subcontractor for the relevant trade (paint, electrical, plumbing, drywall, finishes, etc.).
- Unit readiness
- State of a unit on its lifecycle: not started → punch walkthrough → in repair → ready for QA → ready for owner → owner punch review → accepted → closed.
- Owner walk-through
- Walk with the owner/client through a ready-for-owner unit. Owner-side punch items can be raised here; they must close before final acceptance.
- Rejection reason
- Required disposition code when an inspector fails a reinspection — drives trade-performance reporting and supervisor escalation.
- Aging punch
- Punch item that has remained open beyond the project's aging threshold (typically 14 days). Surfaces in PM dashboards and escalation reports.
- Callback
- Return visit by a sub to repeat a fix that did not pass reinspection or that failed after acceptance — tracked for trade performance and warranty.
- Evidence photo
- Required attachment proving a punch item has been fixed. Items typically cannot advance to ready-for-reinspection without one.
- Completion forecast
- Projected project completion date computed from current unit-acceptance velocity and remaining unit count.
Data model (for technical evaluators)
The app is built on a relational schema (Neon Postgres + Prisma). Entities:
Organization · User · Role · Project · Building · Floor · Unit · Room · ChecklistTemplate · ChecklistItem · Inspection · PunchItem · Trade · Subcontractor · Assignment · EvidenceItem · Reinspection · SignOff · RejectionReason · AuditEvent