Field & cost
Tracking COI expiration for the subs you hire
For the office manager at a trade that buys lump-sum work — controls, rigging, test and balance, insulation, overflow crews.
Our HVAC page says the quiet part out loud: You are a general contractor to your own subs. The sentence under it names the work. Controls and BAS, insulation, rigging, test and balance, sometimes sheet metal overflow. You hire them, you chase their COIs and W-9s, you need their lien waivers in hand before your own draw clears.
Every trade that buys lump-sum work ends up here. Electrical buys fire alarm and low-voltage. Glazing buys caulking. Mechanical buys half a dozen specialties. You took on a general contractor’s obligations and you got none of a general contractor’s tools to carry them with.
This page is about one of those obligations, and it is the one that fails quietly: the certificate of insurance that was current when you signed and is not current now.
A COI is a snapshot, and your job is longer than the snapshot
A certificate of insurance says that on the day it was issued, a policy existed. It does not say the policy will exist in month nine. Most commercial policies renew annually. Commercial jobs run eleven, fourteen, twenty months.
So on a long job, a lapse is not an edge case. It is the default outcome of doing nothing. The math is dull and it is reliable: if your sub’s general liability policy renews in March and your job runs from October to the following December, that certificate expires in the middle of your job. Every time. On every job.
Nobody tells you. The carrier does not tell you. Your sub does not tell you, because your sub’s office is as busy as yours and the renewal certificate goes to whoever asked loudest. There is no event. The date just passes.
What goes wrong, in the order it usually goes wrong
Your sub is working uninsured on your job. Whatever your contract says about the insurance they owe you, a lapsed policy means the coverage you were relying on is not standing behind the work. What that exposes you to depends on your own policy, your subcontract’s flow-down terms and your state. That is a question for your broker and your attorney, not for us.
Your GC’s compliance system finds it before you do. Many GCs run a compliance platform that re-reads the certificates for every company on the project, lower tiers included, and many subcontracts give the GC the right to withhold payment while a compliance item is open. So a date that passed on your sub’s certificate can arrive as a hold on your draw. You will hear about it from accounting, not from safety.
Then you find out you cannot fix it this week. Getting a renewal certificate out of a small sub’s agent takes days. Getting one with the right additional-insured wording takes longer. The lapse was a thirty-second task in August and it is a two-week problem in October.
What “current” actually has to mean
When a COI folder fails a simple audit, it usually fails in one of four ways. A certificate counts as current only if all four hold.
It is the right coverage. General liability is usually the coverage a subcontract cares about first for the work itself. An auto policy sitting in the folder does not make a sub insured for installing your ductwork. SubMark is deliberate about this: a sub’s compliance chip turns green only for a general liability policy record with a future expiry date, or an insurance document on the sub’s record that carries a future expiry date. Auto, umbrella, professional, workers comp — all get recorded with their own carrier, policy number, coverage amount and date, and all are worth holding. But among the policy records, the one that decides whether the chip reads insured is GL — and your subcontract may well require the others too, workers comp especially. Check what it actually asks for.
There is a date recorded. A PDF in a folder with no expiry date typed anywhere is not a tracked certificate. It is a document you are hoping about. SubMark never treats an insurance record with no expiry date as valid, on the reasoning that you cannot assert a policy is in force when nothing in the file says when it stops being in force. That is the right default, and it will make your first audit look worse than you expected. Good.
The additional-insured status is what your contract requires. Many subcontracts flow down a requirement that you be named as an additional insured on your sub’s policy. A certificate can say so, but a certificate is a summary, not the policy: additional-insured status comes from an endorsement, and what that endorsement covers is a question for your broker. SubMark carries additional insured as a checkbox on the policy record, so what the certificate claims is a field you can see rather than a paragraph you have to re-read.
You can verify it. Carrier and policy number, recorded. A certificate is a representation made by an agent, and if a claim ever matters, somebody is going to call the carrier.
Two different lists that both carry a date
This is where COI programs get muddled, so be precise from the start. There are two things here, not one.
Insurance is per company. The certificate belongs to the sub’s business. One date, one renewal cycle, one agent to chase.
Certifications are per person. OSHA 30, scissor lift, welding qualification, confined space. The date belongs to a human being, who may work for that sub this month and for somebody else next month.
They are not one feature with two views. They answer different questions — can this company be on my job versus can this person do this task — and they get chased in different ways. In SubMark they live in different places for that reason: company insurance policies are entered on the safety module’s certificates page and shown on the sub’s record in the subcontractors directory, alongside the company documents filed there; worker certifications live in the safety module, against a certification type that carries a validity period.
Worker certifications are the ones with a card on the Home page, titled Certifications Expiring, with a 30-day window that also pulls in the ones already expired so the card cannot quietly hide a problem. Company COI expiry has no Home-page card. Its home is the subcontractors list and, with the safety module on, the safety dashboard’s expiring-COIs count.
Our safety documentation article covers the per-worker half for your own crew. The rest of this page is the per-company half.
Chase the document, not the task
Here is the part most COI systems get backwards.
A reminder that lands on your desk creates a task for you. You now have to find the sub’s contact, write the email, and remember to check whether they ever answered. The system gave you work. The folder is still empty.
A reminder that lands on your sub’s desk, with a link that lets them upload the replacement without creating an account or learning your software, creates a task for the person who actually has the document. That is the only version that empties the folder.
SubMark does it that way. With expiry reminders switched on, a daily job emails the subcontractor at 90, 60, 30 and 7 days before one of their company documents expires — the certificate of insurance, a license, a bond — with the document type, the date, your company name, and a link to upload the new one. The link is good for 30 days, because an upload request is a task rather than a reference. The email carries no project, no contract and no dollar amount; there is no financial field in it anywhere, by design. It is a nudge about a date, not a window into your job.
Three honest caveats:
- It is a setting you switch on, in the subcontractors automation panel, under “send expiry reminders to subcontractors.” It is off until you turn it on, and it fails closed. That is deliberate — software should not start emailing your trading partners on your behalf the day you sign up.
- It covers company documents, which is the COI, the license and the bond. Per-worker certifications are tracked and surfaced, but they do not generate this email.
- Nobody on your side gets an email. Out of the box there is no internal alert to your office when a COI is expiring. What you get is the status chip and the dashboard count. If you want one, the notification rules page has a built-in “Certificates of insurance expiring” query you can turn into a rule; none is set up for you.
Warned, never blocked — and why that is correct
SubMark will not stop you from assigning a sub with a lapsed certificate to a job, inviting them to a project, or recording their invoice. It shows a warning and lets the work proceed.
That will read as a missing feature for about a day, and then you will be glad of it. A hard compliance block strands real people mid-task over a document that is sitting in somebody’s inbox, and the person it strands is never the person who can fix it. It is the field crew on Monday morning, or your own AP clerk at month end.
Enforcement is a policy decision your company makes, not a default your software should make on your behalf. What the software owes you is that the state is never a surprise: a chip reading valid, expiring (inside 30 days), expired or missing, shown where you act on that sub — the subcontractors list, the sub’s own record, the project’s subcontractors card, and the invite dialog, before you send it.
The honest limits
- No prequalification questionnaire. Insurance and W-9 status, not a scored prequal package with an EMR and a bonding letter. SubMark deliberately stopped flagging prequalification as missing, because nothing in the product lets you record one and every sub read “not prequalified” with no way to fix it.
- No certificate reading. Somebody types the dates — you, or the sub on the upload link, where the expiry date is optional and taken as typed. Nothing extracts them from the PDF, so check a sub-supplied date against the certificate.
- No compliance hold on a payment, as above.
- Lien waiver tracking runs one way. It covers the waivers you send your GC, not the ones your subs owe you. Chasing those is still a phone call. Lien waiver tracking covers that side.
- The subcontractors module is opt-in. Safety and submittals are on by default in the trade setup packs; the directory of subs you hire is one you switch on in your trade configuration.
What to do this month
- Put every certificate you currently hold on one list, one expiry date per record, sorted by date. Not a folder. A list.
- Mark the ones with no date recorded at all. That is your real gap, and it will be bigger than you think.
- Check that the general liability policy, not the auto policy, is the one you are tracking for each company.
- Anything expiring inside 90 days: ask this week, while asking is still a favor rather than an escalation.
- Then turn the chase around. Make the reminder go to the company that owns the document.
See how the subcontractors and safety modules sit together on the product page, or check pricing — every plan carries the full module set, so what you run is a configuration choice rather than a tier.
This article describes operational practice, not legal or insurance advice. What coverage you must require, what a lapse exposes you to, and what remedies you hold are governed by your subcontract, your own policies and your state’s law. Ask your broker and your attorney.