GC Portal Rejecting Certificate of Insurance Upload: 5 Fixes

GC portal certificate of insurance rejection: fix missing endorsements, wrong holder wording, low limits, or expired dates in 5 steps — free scanner included.

Updated 7 minute read

This content is general information only and is not legal, tax, financial or insurance advice. Speak to an appropriately licensed professional before acting on it.

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

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:

  1. 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).
  2. 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.
  3. Limit below the exhibit. Exhibit requires $2,000,000 aggregate; your COI shows $1,000,000. The portal reads the number and stops.
  4. Expired or wrong-dated policy. The policy period ends before the job's completion date, or the retro date / renewal broke a prior requirement.
  5. 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."
      }
    }
  ]
}

Frequently asked questions

Why does the GC portal keep rejecting my certificate of insurance upload?

The portal compares your COI field-by-field against the insurance exhibit in your subcontract. Rejection occurs when a required item is missing or reads differently than the exhibit demands. The five most common reasons are: missing endorsement (CG 20 10 / CG 20 37), wrong certificate holder wording, coverage limit below the contract exhibit, expired or wrong-dated policy, or an unreadable PDF that failed OCR.

What is the most common reason for COI portal rejection?

Missing endorsement is the most common cause. The exhibit demands additional insured, primary and non-contributory, and waiver of subrogation, but your COI only lists them as checkboxes. The portal requires the actual endorsement forms (CG 20 10 for ongoing operations, CG 20 37 for completed operations) to be attached.

Should I upload a scanned COI or a PDF from my agent?

Always upload the agent-generated PDF, not a phone photo or scan. Textura and Procore run OCR on uploads; if they cannot read the fields in a scanned document, they automatically reject it as unverifiable. A clean, machine-readable PDF from your agent will pass OCR validation.

What percentage of first COI uploads are rejected by Textura and Procore?

Textura and Procore reject roughly 30-40% of first COI uploads. Most rejections are due to missing endorsements, wrong certificate holder wording, coverage limits below contract requirements, expired dates, or unreadable PDFs.

How do I fix a wrong certificate holder rejection?

The GC's legal entity, address, or project number in the certificate holder box must match the exhibit exactly. A missing 'LLC' or the wrong suite number triggers rejection. Review the exhibit line-by-line and ensure the certificate holder wording matches precisely before re-uploading.

What tool can help me match my COI to the insurance exhibit?

The free Contract Requirement Scanner (Erni.ai) runs in your browser and surfaces the exact items the portal will check: additional insured status, required limits, endorsements, and holder wording. It takes about 5 minutes to identify mismatches between your subcontract and COI.