Subcontractors
How do I stop dispatching subcontractors whose insurance or W-9 has expired?
Keep every subcontractor's documents as dated records on their profile, not as files in a folder: general liability, workers' comp, auto, the W-9 and the subcontract agreement, each with an expiry or review date. Then make the system compute one compliance status per sub and check it at the two moments that matter, when a job is offered or assigned and when a bill is approved for payment, so an expired sub cannot be picked and cannot be paid. Chase renewals automatically from 30 days out, so the block rarely has to fire.
- One status per sub (Compliant, Expiring, Non-compliant) computed from dated documents, never typed by hand.
- Check it twice: at dispatch (cannot assign) and at payment (bill held).
- Chase from 30 days before expiry, then 7 days, then on the day.
- A certificate is not coverage: ask for the additional insured endorsement too.
- A W-9 does not expire, but a missing or wrong TIN means 24% backup withholding.
This is an operations answer, not legal or insurance advice. Your contracts, your insurer and your state set the actual requirements.
Facts checked as of November 2026. Sources at the end of the page.
Step by step
How it works, step by step
The same seven steps work for 20 subs or 2,000. What changes is how much of it a person does by hand.
1. Define the requirement set per type of work
Write down which documents each kind of sub must hold: general liability (often on an ACORD 25 certificate), workers' comp or a state exemption, commercial auto if they drive to site, a W-9, a signed subcontract or vendor agreement, and any trade license. A cleanout crew and a licensed electrician rarely need the same set, and some clients add their own minimum limits.
2. Store each document as a record with fields
One row per document on the sub's profile: type, carrier, policy number, limits, effective date, expiry date, the file itself, who reviewed it and when. The expiry date is the field everything else reads. A PDF in a shared drive has no date anyone can query.
3. Compute one status per sub
Compliant when every required document is present and in date. Expiring when any document ends in the next 30 days. Non-compliant when anything is missing, rejected or past its date. Nobody edits the status; it updates when a document is added or a date passes.
4. Check the status at dispatch
When someone offers or assigns a job, the list of eligible subs leaves out Non-compliant ones, or the assignment refuses to save. Decide up front whether Expiring subs can still take jobs that finish before the expiry date.
5. Check it again at payment
A sub can lapse between dispatch and invoice. Hold any bill from a Non-compliant sub until the gap is closed, and hold payment entirely when there is no W-9 on file, because the payer then owes backup withholding.
6. Chase renewals before they lapse
Send the request 30 days before expiry, again at 7 days and on the day, with an upload link that drops the new certificate straight onto the sub's record. Copy the sub's insurance agent if you have the contact, since the agent is usually who issues the new certificate.
7. Review what comes back
Check the new certificate against the requirement: correct named insured, limits at or above your minimum, dates that cover the work, and the additional insured endorsement when your contract calls for one. Only then mark it accepted.
Where it breaks
Why it goes wrong
These are the failure modes buyers described on our sales calls, from facility maintenance, refrigeration and fencing businesses that run on subcontract crews.
Documents arrive by email and wait for someone to file them
A commercial facility maintenance company told us vendor documents come in by email and a person has to upload each one. When that person is busy, the certificate sits in an inbox and the profile still shows last year's date.
Insurance lives in folders, jobs live somewhere else
A fencing contractor with install crews keeps public liability and workers' comp certificates in separate folders from the job system. Nothing connects the folder to the person booking tomorrow's crew, so an expired sub gets booked anyway.
Compliance is a separate tool nobody checks at the moment of dispatch
A subcontractor-based maintenance coordinator assumed they would need to buy a second piece of software just for W-9s and workers' comp. A second tool that dispatch never consults becomes a list nobody reads.
Chasing turns into a full-time job
A hybrid FM company with its own technicians plus a vendor network described vendor follow-up as constant chasing. Renewals are the same chase: when it depends on one coordinator remembering, lapses slip through in busy weeks.
The certificate says covered, the policy says otherwise
A certificate of insurance is information only. Being listed as additional insured on the certificate does not make you one; only an endorsement to the policy does. Certificates also rarely promise to notify you if the policy is cancelled midterm.
The options
Ways to do it
| Approach | Tracks expiry | Blocks dispatch or payment | Good for |
|---|---|---|---|
| Spreadsheet plus email reminders | Yes, if someone types the dates | No. Relies on people checking the sheet | Under 20 subs and one coordinator |
| Construction PM tool (for example Procore's Company Directory) | Yes. Daily emails from about two weeks before expiry, for up to 60 days after | Reminders and statuses; the help page describes emails, not a dispatch block | General contractors running projects, not service calls |
| Contractor accounting (for example Sage 100 Contractor vendor certificates) | Yes: workers' comp, liability, licenses and other certificates | Warns when creating a subcontract; can stop payment to a vendor with an expired certificate | Holding payment, after the work is done |
| COI tracking service (for example TrustLayer, Jones) | Yes: certificates, W-9s, licenses and bonds, with renewal chasing | Through an integration with your other system | Large vendor networks that want review outsourced |
| Configurable FSM with compliance on the sub record (Fieldproxy) | Yes, as dated document records on the sub | Can be set so a non-compliant sub cannot be offered a job and their bills are held | Service companies that dispatch subs job by job |
As of November 2026, from each vendor's own help pages (sources below). The real test is the moment of dispatch: whatever holds the dates has to be what the dispatcher uses to pick the sub.
Worked example
A worked example: 120 subs, one renewal season
Say a facility maintenance company works with 120 subcontractors across four states. Each must hold general liability, workers' comp (or a valid exemption), commercial auto, a W-9 and a signed vendor agreement. That is 600 documents, and the four policies with end dates renew every year, so roughly 480 renewals a year, or about 40 a month on average. Many cluster around January and July policy dates.
On the 1st of the month, the status view shows 15 subs as Expiring. The renewal chase goes out to all 15 with an upload link. By day 20, 11 have uploaded; the coordinator reviews and accepts 10 and rejects one whose general liability limit dropped below the client's minimum. On day 30, four policies lapse. Those four subs leave the eligible list for new jobs that morning, and two open bills from them move to held.
Now the payment side. One of the 120 never returned a W-9. Under IRS rules a payer must withhold 24 percent from future payments when backup withholding applies, which includes a payee who gives no TIN. For payments made after December 31, 2025, the 1099-NEC reporting and backup withholding threshold rose to $2,000, so a sub paid $1,500 in total in 2026 may never reach it, but a sub on regular work will. Holding the first bill until the W-9 arrives is simpler than withholding and remitting.
Why it matters: in many states the hiring contractor picks up the bill when an uninsured sub's worker is hurt. Minnesota's Department of Labor and Industry, for example, states that a general contractor is liable for all workers' compensation benefits due to the injured employee of a subcontractor that has no workers' comp insurance.
Before you buy
What to check before you buy
Good signs
- The dispatch screen itself shows compliance status, not a separate tab
- Assignment can be refused, not only warned, for a non-compliant sub
- Bills from non-compliant subs can be held automatically
- Requirements differ by trade or by client, not one list for everyone
- Subs upload renewals from a link without installing an app
- Every accept or reject keeps who reviewed it and when
Red flags
- Compliance is a file attachment with no expiry field
- Status is a dropdown someone sets by hand
- Reminders go only to your staff, never to the sub
- Compliance needs a second login or a separate subscription
- No override log when a manager dispatches an expired sub in an emergency
In Fieldproxy
Setting it up in Fieldproxy
Fieldproxy keeps insurance and license compliance on the subcontractor's record, next to the jobs they are offered. Field names and day counts below are examples; we set them to your contracts.
Compliance documents on each sub
Each subcontractor gets document rows (e.g. General liability, Workers' comp, Auto, W-9, Vendor agreement) with carrier, limits, effective and expiry dates, the file and a reviewed-by field. Requirements can differ by trade or by client.
A computed status
A status field (e.g. Compliant, Expiring within 30 days, Non-compliant) recalculates from those dates. It is what the subcontractor management screens and the dispatch list read.
A gate on dispatch
Jobs are offered to a ranked shortlist of subs or broadcast, and escalate to the next sub when nobody accepts. Non-compliant subs are left off the shortlist, and the Dispatch agent (/agents/dispatch-agent) picks by distance, skills and certifications among the subs who pass. A manager override is possible and logged, if you want one.
A hold on payment
Subs update the job in their own portal and you review the work before it is billed. An approval rule (e.g. hold any bill from a Non-compliant sub, and any bill with no W-9 on file) stops it reaching QuickBooks or Xero until the gap is closed.
Renewals chased for you
Autopilot (/agents/autopilot) drafts the renewal request at 30 days, 7 days and on the day, and a person approves before it sends. The Watcher agent (/agents/watcher-agent) flags any sub who lapses while they still have open jobs.
Certificates read on arrival
When a sub uploads or emails a certificate, the Document intelligence agent (/agents/document-intelligence-agent) can read the PDF and propose the carrier, policy number, limits and dates for someone to confirm, so nobody re-types them.
By country
Regional notes: US, UK and Australia
| Country | Tax document to collect | What happens without it | Insurance to check |
|---|---|---|---|
| US | Form W-9 (TIN). Payers can check name and TIN with the IRS's free TIN Matching in e-Services, 25 at a time interactively | Backup withholding at 24 percent; 1099-NEC at $2,000 for 2026 payments | General liability, workers' comp (rules vary by state), commercial auto |
| UK (construction work) | Verify each new subcontractor with HMRC under the Construction Industry Scheme before paying them | CIS deduction of 20% for registered subs, 30% for unregistered, 0% with gross payment status | Public liability, plus employers' liability, which is compulsory for most employers |
| Australia | An ABN on the invoice or otherwise provided | Withhold 47% of the invoice amount, reported at BAS label W4 | Public liability and workers' compensation certificates of currency |
Summaries of official guidance as of November 2026. Check the current rules with your accountant and insurer.
How switching works
How switching to Fieldproxy works
We move your data over and set the system up to the way you already work. Fieldproxy replaces the old tool; it does not run alongside it.
Send us your requirement list and a sample
The documents you require by trade or client, your minimum limits, and an export or folder of current certificates for a handful of subs.We set up the records and the status
Document rows on each sub, the computed status, and the rule that keeps non-compliant subs off the dispatch shortlist and holds their bills.We load your current subs
Your sub list and their current expiry dates come across in setup, so the first renewal chase goes out on day one instead of after someone re-types 600 dates.Turn on the chase
Autopilot drafts renewals 30 days out and a person approves them. Subs upload from a link, no app required.
FAQ
Questions people ask
- Does a W-9 expire?
- No. A W-9 has no expiry date, but collect a new one when a sub's name, entity type or TIN changes, and when the IRS tells you a name and TIN do not match. Without a valid TIN you must withhold 24 percent once backup withholding applies.
- Should I block dispatch or only warn?
- Block for missing or expired workers' comp and general liability, since those are what leave you exposed if someone is hurt. Warn for documents that only affect payment, like a missing W-9, and hold the bill instead. Keep a logged manager override for real emergencies.
- Is a certificate of insurance enough proof?
- Not on its own. The certificate is information only and does not make you an additional insured; ask for the endorsement itself and check it matches your contract. Put a notice of cancellation requirement in the contract too.
- Can AI read and check insurance certificates?
- AI can read a certificate PDF and pull out the carrier, policy numbers, limits and dates reliably enough to pre-fill the record. A person should still accept or reject it, because limits, named insured and endorsement wording need judgement against your contract.
- Can subs upload their own documents without installing an app?
- They should be able to. Send a renewal link by email or text that opens an upload page and attaches the file to their record. One-off subs often will not install an app for a single job.
- How far ahead should I chase renewals?
- Thirty days gives the sub's insurance agent time to issue a new certificate. Follow up at 7 days and on the day of expiry. Procore, for comparison, starts its emails about two weeks before expiry.
- Do I need separate compliance software?
- Only if your job system cannot hold dated documents and check them at dispatch. A separate tool works when it is wired into dispatch and payment; on its own it becomes a list nobody reads.
- What does Fieldproxy cost for this?
- Subcontractor compliance is part of the platform, not an add-on. Fieldproxy is one price per company with unlimited users, so subs do not need paid seats. See /pricing.
Sources
Competitor details on this page come from the vendors' own pages and documentation, checked as of November 2026. Plans and prices change, so check the vendor's current page before you decide.
- IRS: Backup withholding (24 percent): https://www.irs.gov/businesses/small-businesses-self-employed/backup-withholding
- IRS: Instructions for Forms 1099-MISC and 1099-NEC ($2,000 threshold): https://www.irs.gov/instructions/i1099mec
- IRS: About Form W-9: https://www.irs.gov/forms-pubs/about-form-w-9
- IRS: TIN Matching tools: https://www.irs.gov/government-entities/federal-state-local-governments/taxpayer-identification-matching-tin-tools
- Minnesota DLI: Contractor liability for uninsured subcontractors: https://www.dli.mn.gov/sites/default/files/pdf/infosheet_contractor_liability.pdf
- Miller Nash: Why you need more than a certificate of insurance: https://www.millernash.com/firm-news/news/why-you-need-more-than-just-a-certificate-of-insurance
- Procore: Who receives emails when a vendor's insurance expires: https://en-gb.support.procore.com/faq/who-receives-notification-emails-when-a-vendors-insurance-expires
- Sage 100 Contractor: Vendor certificates and expiration dates: https://help-sage100contractor.na.sage.com/Sage100Contractor/US/26_1/Content/Modules/4-Accounts%20Payable/About%20vendor%20certificates%20and%20expiration%20dates.htm
- TrustLayer: Procore integration: https://trustlayer.io/procore-integration
- Jones: Managing COI expirations: https://getjones.com/procore-help-center/managing-coi-expirations/
- GOV.UK: Verify CIS subcontractors: https://www.gov.uk/what-you-must-do-as-a-cis-contractor/verify-subcontractors
- GOV.UK: CIS deduction rates: https://www.gov.uk/what-you-must-do-as-a-cis-contractor/make-deductions-and-pay-subcontractors
- HSE: Employers' Liability (Compulsory Insurance) Act 1969: https://www.hse.gov.uk/pubns/hse40.htm
- ATO: PAYG withholding, W4 amounts withheld where no ABN is quoted: https://www.ato.gov.au/businesses-and-organisations/preparing-lodging-and-paying/business-activity-statements-bas/pay-as-you-go-payg-withholding