A subcontractor COI shows $1,000,000 per occurrence and $2,000,000 general aggregate. Most GCs file it and move on — without knowing whether $2M is still available when that sub is on your third concurrent remodel.
Aggregate limits cap total payouts across the policy term. When the aggregate is spent, the policy stops responding — even if per-occurrence limit never applied to a single claim.
The three limits on most CGL policies
| Limit type | What it caps |
|---|---|
| Each occurrence | Maximum for one incident / claim |
| General aggregate | Total paid for all occurrences (except products/completed ops) during policy term |
| Products / completed operations aggregate | Total paid for products and completed ops claims during policy term |
On ACORD 25, these appear in the CGL section — often $1M / $2M / $2M on standard sub policies.
Per occurrence — the number everyone quotes
Each occurrence is the headline limit: one fire, one injury event, one property damage incident.
A $2M jury verdict on a single occurrence exceeds a $1M per occurrence policy — you are in excess / uninsured territory for the difference unless umbrella applies.
General aggregate — the hidden exhaustion risk
The general aggregate is the policy term bucket. Every covered claim (except those counting only against products/completed ops aggregate) chips away at it.
Example: Sub with $2M general aggregate
- Claim 1: $400K
- Claim 2: $600K
- Claim 3: $900K
- Remaining aggregate: $100K — not $2M
If that sub causes another $500K occurrence, only $100K may be available from GL — umbrella may not drop down if aggregate is exhausted (policy dependent).
Busy subs working multiple GCs share one aggregate across all projects unless a per-project aggregate endorsement applies.
Products and completed operations aggregate
Completed remodel work — latent plumbing leak, electrical fire months later — often counts against the products/completed operations aggregate, not the general aggregate.
Long-tail remodel defect claims can exhaust this bucket years after you filed the COI.
That is why CG 20 37 completed operations AI matters — and why tracking policy renewal does not replace tracking whether old-term aggregates were depleted.
Per-project aggregate endorsements
Large commercial jobs often require per project general aggregate endorsements — resetting or allocating aggregate to your specific project so other jobs do not drain limits.
Signs you need to request per-project aggregate language:
- Owner contract mentions "per project aggregate"
- Project value exceeds $1M
- Multi-year phased remodel
- High sub utilization on same policy across many GCs
Verify endorsement PDF — not COI remark alone.
How aggregates interact with umbrella
Umbrella liability sits above primary GL. Many umbrellas require underlying GL to respond first — if GL aggregate is exhausted, umbrella may not pay until underlying is reinstated or unless umbrella has drop-down features.
High-severity projects: confirm both GL limits and aggregate availability — especially mid-policy year for active subs.
What GCs should verify beyond the COI header
At onboarding:
- Per occurrence meets contract
- General aggregate meets contract (often 2x occurrence)
- Products/completed ops aggregate adequate for remodel tail exposure
- Per-project aggregate endorsement if owner requires
- Policy term dates — aggregates reset on renewal, not mid-term automatically
At renewal:
- New COI shows renewed aggregates (reset buckets)
- Prior term depletion does not carry forward — but completed ops claims from old term may still emerge
You cannot see aggregate depletion on a COI — only occurrence/aggregate limits printed. For high-risk subs on huge jobs, producer confirmation helps.
Contract language cheat sheet
| Owner asks for | Usually means |
|---|---|
| $1M / $2M GL | $1M occurrence / $2M general aggregate |
| $2M / $4M GL | Higher occurrence + double aggregate |
| Per project aggregate | Endorsement allocating aggregate to your job |
| No aggregate limit | Rare manuscript — verify carefully |
Match your sub insurance requirements to owner flow-down — not internal minimums only.
Spreadsheet tracking misses aggregate logic
Tracking expiration dates does not tell you aggregate health. Software still helps by:
- Flagging high-limit project requirements
- Storing per-project aggregate endorsement PDFs
- Forcing re-verification at renewal when aggregates reset
- Linking subs to projects for audit trails
Red flags
- Sub on 6 GC jobs simultaneously with only $2M aggregate
- Large claim in industry news involving your sub's carrier — ask producer about aggregate status before assigning critical path work
- Owner requires per-project aggregate and sub sends standard COI without endorsement
Bottom line for remodel GCs
Per occurrence protects you on one bad day. Aggregates protect you across the policy year — until they do not.
Understand both before you accept a COI as "fully compliant."
Next: Umbrella and excess liability · How to verify a subcontractor COI