Every year the same cycle: carriers renew policies, subs forward new COI PDFs to whoever answered their email, half the endorsements are missing, and three subs keep working for weeks on expired workers' comp because nobody reconciled the dates.
Annual renewal is not one busy week — it is the highest-volume compliance event on your calendar. A defined workflow beats reactive chasing.
When renewals cluster
| Period | What happens |
|---|---|
| January 1 | Many GL and umbrella policies renew |
| July 1 | Fiscal-year policies, some WC |
| Ongoing | 12-month terms from original inception — scattered year-round |
You have rolling renewals, not a single date. Systems must track each policy line's expiration — not one "COI expiry" field per sub.
Renewal workflow overview
Step 1: 60 days before expiration — early warning
- System flags policy line approaching expiry
- Email sub + producer: upcoming renewal, upload link active
- Request full renewal packet: COI + all endorsements, not COI alone
Step 2: 30 days — first formal request
Use your COI request template:
- List each expiring line (GL, WC, auto, umbrella)
- Restate current requirements — limits may have changed since last year
- Confirm named insured unchanged or request updated W-9
Step 3: 14 days — escalation
- Second notice to sub principal
- Call insurance producer directly
- Mark sub renewal pending in roster — visible to PMs
Step 4: 7 days — compliance hold
- Sub cannot be assigned to new projects
- Office notifies supers: sub on renewal watch
- Executive approval required to continue on active critical path without docs
Step 5: Day of expiration — hard stop
- Status → non-compliant if no approved renewal
- No payment on new invoices until resolved (per your policy)
- Document hold for audit trail
Mid-project expiration gaps are the failure mode — treat renewal as urgent when subs are on open jobs.
What to re-verify on every renewal — not just dates
Renewal COI is a full verification event:
| Check | Why renewals fail here |
|---|---|
| Named insured | Sub restructured LLC, new COI shows old entity |
| Limits | Carrier reduced limits at renewal |
| AI endorsements | New COI says AI but endorsements not reissued |
| CG 20 10 / CG 20 37 | Separate PDFs expired with old policy term |
| WC | Different expiration than GL — easy to miss |
| WC exemption | Solo sub now has employees — exemption invalid |
| Umbrella | Dropped by sub to save premium |
| Producer change | New agency — confirm authenticity |
Never auto-approve because "it looks the same as last year."
Batch renewal campaigns
For GCs with 30+ active subs:
- Export subs with any line expiring in next 60 days
- Send batch email with individual magic links (not one CC blast with everyone's docs)
- Assign office staff renewal queue — 10 reviews per day
- Weekly compliance report to leadership: compliant %, at-risk subs on active jobs
Producer relationships matter
Build a list of top producers across your sub base. One call from a GC risk manager often clears five stuck renewals faster than ten sub reminders.
Share your upload portal with agents — they upload correctly formatted COIs more often than subs forwarding phone photos.
Owner and lender audits
Annual owner insurance audits often align with calendar year. Your sub renewal folder must show:
- Continuous coverage across policy terms
- No gaps during project performance
- Endorsements matching owner schedule
Renewal scramble in March when the owner rep asks for updated certificates exposes every gap you tolerated in February.
Policy term change traps
When a sub switches carriers at renewal:
- New policy numbers on COI
- New endorsements required — old AI forms may not transfer
- Gap between old policy expiration and new effective date = uninsured hours
- Verify no lapse — even 1-day lapse can violate owner contract
Request COI showing prior policy cancellation and new policy effective same day or overlapping.
Software vs spreadsheet at renewal volume
Spreadsheets work until renewal season:
- Manual date sorting breaks with 40 expiring lines in one month
- Email attachments duplicate "COI_final_v3.pdf"
- No automatic sub reminders
- PMs do not see compliance status
Purpose-built COI tracking sends renewal links to subs automatically, logs each policy line, and shows PMs who is blocked — before the superintendent texts "plumber is here."
See spreadsheets vs software for the full comparison.
After renewal — update project files
For each active project using that sub:
- Replace COI in project binder
- Confirm AI still names GC for ongoing work
- Update expiration monitors
- Notify PM of approval
One renewed COI in the master folder does not help the PM searching the project folder from last month.
Build renewal into onboarding culture
New subs learn your renewal discipline at onboarding:
- "We re-collect every year — automatic reminders"
- Sets expectation before first renewal crunch
Returning subs comply faster when the process never softened.
Renewal season checklist (printable)
- 60-day alerts enabled per policy line
- Templates updated with current limit requirements
- Upload portal tested — links work on mobile
- PM training: do not override holds without ops
- Producer contact list current
- Executive waiver form if exceptions allowed
- Weekly renewal status report scheduled Jan–Feb
CoiLoop is built for this loop: collect at onboarding, remind before expiration, review with requirements in context, block non-compliant subs from slipping through renewal season.
Next: Track subcontractor insurance expirations · COI tracking spreadsheets vs software