CoiLoop
← All guides
4 min read

General Liability Aggregate Limits Explained for GCs

Per occurrence vs general aggregate vs products-completed ops aggregate — how GL limits work, when aggregates get exhausted, and per-project endorsements.

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 typeWhat it caps
Each occurrenceMaximum for one incident / claim
General aggregateTotal paid for all occurrences (except products/completed ops) during policy term
Products / completed operations aggregateTotal 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 forUsually means
$1M / $2M GL$1M occurrence / $2M general aggregate
$2M / $4M GLHigher occurrence + double aggregate
Per project aggregateEndorsement allocating aggregate to your job
No aggregate limitRare 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

Collect, review, and renew COIs in one place

CoiLoop is built for general contractors who need subs to upload COIs and W-9s via magic links - with expiration reminders before coverage lapses mid-project.