River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

Insurance and Certification Evidence Pack

Two documents and two sheets that check every certificate, tax form and registration against what each request actually names, not just its expiry date.

Free download  ·  No account needed

Document Register · requirement match, 7 September

All six documents below are current. Four would still bounce back from procurement.

DocumentStatus by dateWhat was askedVerdict
Umbrella liabilityCurrent, 140 days left$5,000,000 minimum$3,000,000 held, 60% of the ask
Cyber liabilityCurrent, 99 days left$3,000,000 minimum$2,000,000 held, 67% of the ask
General liabilityCurrent, 140 days leftCG 20 10 endorsementClaimed on certificate, unconfirmed on policy
Commercial autoCurrent, 140 days leftPrimary & non-contributory wordingClaimed on certificate, unconfirmed on policy

Nothing above has lapsed. Every gap here is invisible to a check that only reads the expiry box.

2 of 6 clear the actual ask

Two dollar limits short of the stated minimum, two endorsements claimed but unconfirmed, zero expired dates. An expiry-only tracker would show all six rows green today.

Every certificate-of-insurance tracker watches one thing: the expiry date, with a reminder before it lapses. That catches the certificate that lapsed last month. It misses the far more common failure: a certificate that has not expired, sent against a contract asking for a limit or endorsement the policy does not actually carry. Vendor compliance guidance names a missing endorsement as the most common cause of a rejected certificate, ahead of an expired date. The security questionnaire beside it checks answers against evidence; nothing checks a certificate against the figure it was asked to meet.

So this pack checks three things per document against the request's own wording, not a generic assumption: the limit, the endorsement, and the entity name. In the worked example below, all six documents are current by their own date, and only two actually clear what was asked. An umbrella policy held at three million dollars against a five-million-dollar contract minimum is sixty percent of the ask, not compliance with it. A certificate marking additional-insured status with a checkbox is a claim; the endorsement itself, commonly form CG 20 10, has to confirm it.

Not every gap here closes inside this pack. A limit shortfall or an unconfirmed endorsement goes to the broker, on the broker's own timeline; drafting the ask is as far as a document can go. A stalled deal blocked on an engineer's queue instead of a broker's is a different problem, priced and escalated on its own. The audit reports, policies and pen test summaries this register skips keep their own coverage periods in the trust package; everything else sits in the template library and the tool index.

Every document, checked against every request that named it

The Document Register with real limits and confirmed-versus-claimed endorsements, and the Request Log with the specific gap behind every short verdict.

Document Register

Six documents held, illustrative for a fictional vendor, Marlstone Software.

DocumentCarrier or issuerKey limit or fieldEndorsementDays remaining
General liabilityThornfield Mutual$1,000,000 / $2,000,000CG 20 10 unconfirmed140
Umbrella / excessThornfield Mutual$3,000,000None claimed140
Cyber liabilityBastion Underwriters$2,000,000 aggregateNone claimed99
Commercial autoThornfield Mutual$1,000,000 CSLPrimary & non-contributory unconfirmed140
W-9Internal (tax form)Entity & EIN currentn/aNo expiry
Certificate of Good StandingDelaware Div. of CorporationsActive, in good standingn/a12 of 90-day window

Every row above is current. Nothing has lapsed, and two rows would still fail a specific request today because of a limit or an unconfirmed endorsement.

The Good Standing filing carries no printed expiry. The 90-day window is set by requesters, not the state, so the register tracks it as validity, not expiry.

Request Log by Customer

Every incoming request, checked line by line against the register.

CustomerRequirementRegister showsVerdict
Anderfeld LogisticsGL $1M / $2M$1,000,000 / $2,000,000Matched
Anderfeld LogisticsUmbrella $5M minimum$3,000,000Short $2,000,000
Anderfeld LogisticsCG 20 10 endorsementClaimed, unconfirmedMissing endorsement
Brindlewood Health PartnersCyber $3M aggregate$2,000,000Short $1,000,000
Castellan Retail GroupAuto $1M CSL$1,000,000 CSLMatched
Castellan Retail GroupPrimary & non-contributoryClaimed, unconfirmedMissing endorsement
Drummond Public SchoolsCurrent W-9Entity currentMatched
Emberton Construction PartnersGood Standing, within 90 days12 days leftMatched, expiring soon

Anderfeld Logistics alone carries two gaps behind one clean row. The general liability limits match exactly, and the umbrella layer and the endorsement both still need the broker.

Every short verdict names a dollar figure or a specific endorsement. Nothing here is marked short against a vague or unstated ask.

What's in the pack

01

Match the Requirement, Not the Date

The method itself: check every document against the limit, the endorsement and the entity name a request actually states, not only its own expiry box.

02

Document Register sheet

Every certificate, tax form, certification and registration held, with real limits, which endorsements are confirmed versus only claimed, and days of validity left.

03

Request Log by Customer sheet

Every incoming request checked line by line, with the specific dollar gap or missing endorsement named against whichever document it was measured against.

04

Evidence Index

The plain-language overview of everything held, by type, and everything a customer has asked for that does not exist yet.

05

Request Response Note

The note format that goes back to procurement: confirmed items first, then every real gap in their own terms with the fix and the owner already attached.

How to use it

  1. 1

    Open in River, or take it blank

    Open the pack in River and send it what you hold, or download the Word documents and CSV sheets and fill them in yourself.

  2. 2

    Load what you hold and what was asked

    Every certificate, tax form and registration, plus the actual contract clause or procurement email naming the limit or endorsement wanted.

  3. 3

    Check the limit, the endorsement, the name

    Each document gets measured against the specific figure or field a request named, not against its own expiry date alone.

  4. 4

    Send what matches, fix what's short

    Matched documents go out as-is. Anything short gets a response note naming the gap and the broker request already in motion.

Frequently asked questions

Is this template free?

Yes. Two Word documents and two CSV sheets, downloaded as a zip, no signup. River is the optional half: it reads what you hold and what was requested, checks limits and endorsements, and drafts the response note. The rest of the packs sit in the template library, and single-output jobs in the tool index.

How is this different from a certificate-of-insurance tracker or expiration reminder?

Those tools watch one date and alert before it passes, which is real and worth doing. This checks a different failure: a certificate that has not expired at all, sent against a limit or an endorsement the policy does not carry. Both problems are real; only one shows up on an expiry calendar.

Why would a current certificate still get rejected?

Because a certificate is a broker's summary, not proof of coverage. An additional-insured checkbox is a claim; the endorsement itself has to be confirmed on the policy separately, and a limit even one dollar under the contract's stated minimum fails regardless of how current the date is.

Where does the required limit or endorsement come from?

From the actual contract clause, procurement email or questionnaire wording, not a generic assumption that a customer wants "a COI." A request silent on limits or endorsements cannot be checked against anything specific, and the log says so rather than inventing a threshold.

What about a certification or registration with no printed expiry?

It gets tracked by validity window instead. A certificate of good standing usually carries no expiry of its own. Requesters typically treat it as current only within a window they set, often 90 days from issue, and the register tracks that window rather than a date that does not exist.

Does this replace working with our insurance broker?

No. This finds the specific gap and drafts the ask; the broker still quotes the higher limit, confirms the endorsement, or reissues the certificate. What changes is the ask arriving as a named figure and a named form instead of a general request to "check our coverage."

Find out which of your current documents would still bounce back

Take the Word documents and CSV sheets blank, or open this exact pack in River and let it check your documents against what was actually asked first.

Edit with AI