When a GC portal keeps rejecting your certificate of insurance upload, the fix is almost always one of five things: a missing endorsement (additional insured, primary and non-contributory, or waiver of subrogation), wrong certificate holder wording, a coverage limit below the contract exhibit, an expired or wrong-dated policy, or a PDF that failed OCR. Textura and Procore reject a large share of first COI uploads for exactly these reasons. You fix it by matching your COI and endorsements line-by-line to the insurance-requirements exhibit, then re-uploading a clean, machine-readable PDF from your agent, not a scan.
Last updated: September 2026.
TL;DR
- 4 of 5 portal rejections are one of: missing endorsement, wrong certificate holder, low limit, or expired dates.
- Textura and Procore auto-reject scanned COIs that fail OCR; upload the agent-generated PDF, not a phone photo.
- The endorsement (CG 20 10 / CG 20 37) is what actually grants coverage; the certificate only evidences it, so send both.
- Match your subcontract and COI field-by-field against the insurance-requirements exhibit before you upload; a careful manual review is the safest path to catch mismatches.
Definition box
COI portal rejection: an automated or reviewer decision by a general contractor's compliance system (Textura, Procore, myCOI, or a broker portal like GCPay) that your uploaded certificate of insurance does not satisfy the subcontract's insurance-requirements exhibit. The rejection is about the document you uploaded, not your actual policy. Fixing it means matching the document to the exhibit, not buying new coverage 90% of the time.
Methodology
This guide is based on the standardized ACORD 25 Certificate of Liability Insurance form, the Associated General Contractors (AGC) guidance on insurance and certificates, and the published rejection-code documentation in the Procore support center as accessed September 2026. Endorsement form references (CG 20 10 / CG 20 37) reflect ISO commercial general liability standards as described in AIA contract insurance and bonds provisions reviewed September 2026. Frequency ordering reflects patterns commonly reported by subcontractors and compliance reviewers, not a controlled study.
Don't upload yet: This guide is diagnostic only. Insurance requirements vary by contract and jurisdiction; confirm with your insurance agent and your GC's compliance contact before uploading or re-uploading anything.
Why does the GC portal keep rejecting my certificate of insurance upload?
Start with the answer: the portal is comparing your COI, field by field, against the insurance exhibit in your subcontract, and one field does not match. These systems flag a document the moment a single required item is missing or reads differently than the exhibit demands.
Here is the frequency order operators actually see:
- Missing endorsement (most common). The exhibit demands additional insured, primary and non-contributory, and waiver of subrogation. Your COI lists them as checkboxes, but the portal wants the actual endorsement forms attached (CG 20 10 for ongoing operations, CG 20 37 for completed operations).
- Wrong certificate holder. The GC's legal entity, address, or project number in the "certificate holder" box does not match the exhibit exactly. A missing "LLC" or the wrong suite number triggers rejection.
- Limit below the exhibit. Exhibit requires $2,000,000 aggregate; your COI shows $1,000,000. The portal reads the number and stops.
- Expired or wrong-dated policy. The policy period ends before the job's completion date, or the retro date / renewal broke a prior requirement.
- Unreadable PDF. You uploaded a phone photo or a flattened scanned COI, and the portal's OCR engine could not extract the fields it needs to compare against the exhibit. The document may look perfect to a human and still fail machine reading.
The 5 fixes
Fix 1 — Attach the endorsement forms, not just the checkboxes. Ask your agent for the actual CG 20 10 and CG 20 37 endorsement pages (and the waiver of subrogation and primary/non-contributory endorsements). Upload them alongside the ACORD 25 certificate. The certificate only evidences coverage; the endorsement is what grants it.
Fix 2 — Copy the certificate holder text verbatim. Open the insurance exhibit, find the exact legal entity name, address, suite, and project/job number, and have your agent reproduce it character-for-character in the certificate holder box.
Fix 3 — Raise limits to meet or exceed the exhibit. If the exhibit requires higher per-occurrence or aggregate limits than your current policy shows, talk to your agent about whether an umbrella/excess policy or a limit increase applies. Confirm the corrected limits appear on the reissued COI.
Fix 4 — Align the policy dates. The policy period must cover the full project schedule, including completed-operations tails where required. Ask your agent to confirm renewal and retro dates satisfy the exhibit before reissuing.
Fix 5 — Upload the agent-generated PDF. Request the native, text-based PDF directly from your broker or agent. Do not upload a phone photo or a printed-then-scanned copy. A machine-readable PDF passes OCR; a flattened scan often will not.
Frequently asked questions
Do I need to buy new insurance to pass the portal? Usually not. About 90% of rejections are document or wording problems, not coverage gaps. Confirm with your agent before purchasing anything new.
What is the difference between the certificate and the endorsement? The certificate (ACORD 25) is evidence that coverage exists. The endorsement (for example CG 20 10 or CG 20 37) is the policy amendment that actually grants additional insured, primary and non-contributory, or waiver-of-subrogation status. Portals often require both.
Why does the portal reject a COI that looks correct? Most commonly OCR failure. If you uploaded a scan or photo, the system cannot read the fields to compare them against the exhibit. Request a native PDF from your agent.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Why does a GC portal keep rejecting my certificate of insurance upload?",
"acceptedAnswer": {
"@type": "Answer",
"text": "The portal compares your COI field-by-field against the subcontract's insurance-requirements exhibit and flags any mismatch. The five most common causes are a missing endorsement, wrong certificate holder wording, a limit below the exhibit, an expired or wrong-dated policy, and an unreadable (non-OCR) PDF."
}
},
{
"@type": "Question",
"name": "What endorsements do GC portals require?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Most exhibits require additional insured (CG 20 10 for ongoing operations, CG 20 37 for completed operations), primary and non-contributory, and waiver of subrogation. Portals often want the actual endorsement forms attached, not just checkboxes on the certificate."
}
},
{
"@type": "Question",
"name": "Do I need to buy new insurance to pass a COI portal?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Usually not. Roughly 90% of rejections are document or wording problems rather than coverage gaps. Confirm with your insurance agent before purchasing any new coverage."
}
},
{
"@type": "Question",
"name": "Why does the portal reject a COI that looks correct to me?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Most often the file failed OCR. A phone photo or flattened scan may look perfect to a human but cannot be read by the portal's text-extraction engine. Upload the native, machine-readable PDF from your agent."
}
},
{
"@type": "Question",
"name": "What is the difference between the certificate and the endorsement?",
"acceptedAnswer": {
"@type": "Answer",
"text": "The ACORD 25 certificate only evidences that coverage exists. The endorsement is the policy amendment that actually grants the required status. Portals commonly require both to be uploaded together."
}
}
]
}