*9 min read · Last updated June 04, 2026*
In this article
– How the general aggregate actually works on a standard CGL – What the per-project aggregate endorsement changes – What the endorsement costs and when the math favors it – The certificate-of-insurance trap that hides this exposure – What contractors should ask their agent this week – FAQ
Andre Bell ran a six-person residential framing crew outside Atlanta. His commercial general liability policy carried a $1 million per-occurrence limit and a $2 million general aggregate, which he assumed meant $1 million was available on every job. In May, a stack of unsecured lumber tipped off scaffolding at one of his sites and struck a delivery driver who happened to be parked at the curb. The driver fractured two vertebrae. The settlement, including medical, lost wages, and pain and suffering, came in at $1.6 million. The carrier paid the limit. Two weeks later, a homeowner on a different project filed a $180,000 water-damage suit after a roof tarp blew off in a storm. The carrier denied the claim. The general aggregate had been exhausted. Every project on Andre’s schedule was effectively uninsured until renewal.
How the general aggregate actually works on a standard CGL
A CGL policy carries two layers of limits the declarations page lists side by side. Knowing the difference is the whole article.
The per-occurrence limit is the maximum the carrier will pay for a single covered loss. On most small-contractor policies it is $1 million.
The general aggregate limit is the maximum the carrier will pay across all covered losses during the policy period, usually 12 months. On most small-contractor policies it is $2 million, which works out to two full $1 million claims before the policy is exhausted.
Here is the trap: without an endorsement modifying it, the general aggregate is a single shared pool across every job, every operation, and every customer on the policy. If one project produces a $2 million claim, the policy hits its aggregate ceiling in one event. Future claims on unrelated projects, even claims well under $1 million, get denied. The carrier will pay legal defense for ongoing claims up to the policy’s defense obligations, but it will not pay new damages.
For a contractor running one project at a time with long gaps between starts, this rarely matters. For a contractor running three, five, or ten concurrent projects, the shared aggregate is a structural exposure that scales with their book.
What the per-project aggregate endorsement changes
The per-project aggregate endorsement, filed under ISO form number CG 25 03, replaces the single shared aggregate with a separate aggregate limit for each construction project. Each project gets its own bucket. A claim on Project A draws down only Project A’s aggregate. Projects B, C, D, and E keep their full aggregate limit intact.
The form defines “project” as the construction work performed at one site under one contract. A contractor doing 12 small renovations under 12 separate contracts gets 12 separate aggregates. A contractor running a single 200-unit apartment complex under one master contract gets one project aggregate, even if the work spans 18 months.
In plain language: the endorsement turns one $2 million bucket into one $2 million bucket per active job. For Andre, the per-project endorsement would have meant the $1.6 million framing claim drew down only the framing project’s aggregate. The roof tarp claim on the unrelated home would have hit a fully funded $2 million aggregate on that project and been paid.
The endorsement does not increase the per-occurrence limit. A single catastrophic loss on one project still maxes out at $1 million per occurrence. What changes is how that loss affects coverage on every other project the contractor is running.
What the endorsement costs and when the math favors it
Carriers price the per-project aggregate endorsement as a percentage uplift on the base CGL premium. Typical pricing in 2026 runs 5 to 15 percent on top of the contractor’s base CGL cost, depending on the trade class code and the carrier’s appetite for that contractor type.
For a contractor paying $4,800 a year in CGL premium, the endorsement adds roughly $240 to $720 a year. For a contractor running three or more concurrent projects, that cost buys back the structural exposure that a single shared aggregate creates. For a contractor running one project at a time with no overlapping warranty work, the math is closer.
The decision frame is not “is the premium worth it” in the abstract. It is: if a single $1 million-plus claim landed today, how many other open projects, owner certificates of insurance, and contractual aggregate requirements would be put at risk? If that number is greater than zero, the endorsement is doing real work for the premium.
The certificate-of-insurance trap that hides this exposure
Certificates of insurance (COIs) list aggregate limits as a single number on the form. There is no field on the standard ACORD 25 certificate that distinguishes a shared aggregate from a per-project aggregate. A general contractor reviewing a subcontractor’s COI sees “$2,000,000 General Aggregate” and may assume that limit is available for the specific project they are concerned about. It may not be.
The actual answer lives on the subcontractor’s policy declarations page, in the schedule of endorsements. CG 25 03 (per project) and CG 25 04 (per location, the related endorsement that applies aggregates per physical location) are the two forms that change how the aggregate behaves. If neither is on the declarations page, the policy has a single shared aggregate, and the COI is showing a number that may already be partially or fully consumed by prior claims on other jobs the subcontractor is running.
The fix from the GC’s side is to require either the endorsement page from the subcontractor’s policy or a written certification from the subcontractor’s agent confirming the per-project endorsement is in force. Some sophisticated owners on large commercial projects already require this. Most residential and small commercial GCs do not.

What contractors should ask their agent this week
Three specific questions for your insurance agent or broker:
1. Does my current CGL policy include the per-project aggregate endorsement (form CG 25 03)? Have the agent send the declarations page and confirm in writing. 2. If not, what does the endorsement add to my annual premium? Most carriers can quote this within 48 hours. 3. For my next three contracts, does the insurance schedule require a per-project aggregate? If yes and the endorsement is not on the policy, the contractor is technically in breach of the contract from day one.
These three questions take fewer than 15 minutes to ask. They prevent the completed operations and product liability claims on one job from quietly draining the protection on every other job the contractor has on the books. They also prevent the dollar exposure problem that umbrella coverage cannot fully solve, because an umbrella sits above the CGL, not in place of it. If the CGL aggregate is exhausted, the umbrella has nothing to attach to.
—
FAQ
What is the difference between per-occurrence and aggregate limits on a CGL policy?
The per-occurrence limit is the maximum the carrier pays for a single covered claim. The aggregate is the maximum the carrier pays across all covered claims during the policy period. A $1 million per-occurrence and $2 million aggregate policy can pay one $1 million claim and one more claim of up to $1 million before the policy is exhausted, unless a per-project endorsement is added.
Does the per-project aggregate endorsement increase my per-occurrence limit?
No. The per-occurrence limit stays the same. The endorsement only changes how the aggregate is applied. A single catastrophic loss is still capped at the per-occurrence limit on the policy, typically $1 million.
Is the per-project endorsement (CG 25 03) the same as a per-location endorsement (CG 25 04)?
No. Per-project applies a separate aggregate to each construction project. Per-location applies a separate aggregate to each physical premises, which is more relevant for retail or multi-site operations. Contractors typically need the per-project version.
Will a commercial umbrella policy fix the shared-aggregate problem?
Not by itself. A commercial umbrella sits above the CGL and pays losses that exceed the CGL’s per-occurrence limit. If the CGL’s aggregate is exhausted, the umbrella has no underlying coverage to attach to on subsequent claims. The umbrella is a separate protection layer, not a replacement for fixing the aggregate structure.
My COI says I have a $2 million aggregate. Is that per project?
The standard ACORD certificate does not distinguish shared from per-project aggregates. You cannot tell from the COI alone. Ask your agent or broker for the declarations page and the schedule of endorsements to verify whether CG 25 03 is in force.
Compare commercial general liability quotes with per-project aggregate built in
Most contractor CGL quotes list a shared aggregate by default. Get matched with carriers that offer the per-project endorsement on the base policy, not as a separate upcharge.
Compare Contractor Liability Quotes →
























