Cleaning subcontractor compliance: cross-checking files
Cleaning subcontractor compliance in the US: compare W-9, state good standing, certificates of insurance and worker rosters, and know what to do when fields disagree.

Summarize this article with
For a US facility manager or procurement lead, cleaning subcontractor compliance means comparing fields across documents: the legal name and taxpayer number on the W-9 against the invoice and the state registry, the insured entity on the certificate of insurance against the contract, and the worker roster against badge-in data. This article covers those comparisons, what a mismatch looks like and the reviewer's next move. It is general information as of November 2026, not legal advice; rules for contractor licensing, workers' compensation and security guards differ by state.
Why a complete folder can still describe the wrong company
Janitorial and security contracts combine high turnover, after-hours access and layered subcontracting, so a folder that looks complete can describe three different entities. The master agreement is signed by a brand, the invoice comes from an LLC, the insurance is issued to a third company, and the people on site work for a sub-subcontractor. A "documents received" list misses this; a field-by-field comparison catches it.
For the general vendor version, see our supplier onboarding documents checklist and the article on contractor document verification for staffing agencies. The sector overview is in the industry verification guide.
The cross-check matrix
| Field | Document A | Compared with | Typical mismatch | Reviewer's next step |
|---|---|---|---|---|
| Legal name and entity | Contract, invoice | State Secretary of State record (certificate of good standing) | DBA name on invoice, different legal entity, entity dissolved or delinquent | Ask which entity performs the work; pause vendor setup |
| Taxpayer name and TIN | Form W-9 | Invoice header, contract, state record | Name on W-9 differs from payee on invoice | Request corrected W-9 before first payment |
| Insured and operations | Certificate of insurance | Contract scope, site list | Named insured differs, janitorial or guard services not described, policy expires mid-contract | Request corrected certificate or broker confirmation |
| Workers' compensation | Certificate of coverage | Roster headcount and states of work | Coverage excludes the state of the site; headcount far above reported payroll basis | Escalate to risk management |
| Workforce | Roster | Badge-in log, timesheets | Badged individuals missing from the roster | Suspend access; request updated roster |
| Work authorization | Contractor's confirmation of I-9 completion | Roster, sampled records | Roster name with no matching record | Sample more records; escalate |
| Bank details | Invoice remittance | Contract and vendor master | New account, account holder differs | Call-back to a number already on file |
| Hours billed | Invoice | Schedule, badge log | Billed hours exceed badged hours | Dispute the line |
None of these comparisons proves authenticity. They show whether the file is internally consistent and whether the facts agree with public records.
Check 1: the entity behind the contract
The Secretary of State in each state keeps the business entity registry, and a certificate of good standing shows an entity's name, status and formation date. Compare the name and entity type on the contract with the registry, the principal address with the certificate of insurance, and the status (active, delinquent, dissolved). Because registries are state-run, a contractor operating in several states may be registered in one and merely foreign-qualified in others. Check the state where the work is performed.
A registry lookup proves the entity exists and is in good standing. It does not prove that the PDF in your inbox is genuine, and it does not show who employs the workers on your site.
Ready to automate your checks?
Free pilot with your own documents. Results in 48h.
Request a free pilotCheck 2: the W-9 against everything else
Form W-9 is how a payee gives the payer its taxpayer name and identification number (IRS, About Form W-9). The comparison is mechanical: the name and entity classification on the W-9 against the payee on the invoice and the entity on the contract. Sole proprietors and single-member LLCs often use a personal name on the W-9 and a business name on the invoice; that is not an error, but it needs a recorded explanation.
A W-9 is a statement by the vendor. It is not verified by the form itself, so keep the dated copy and compare it each time the legal name, address or bank account changes.
Check 3: the people on site
Employment eligibility verification is the employer's obligation: Form I-9 is completed by each employer for its own employees, and E-Verify is the employer-run system that compares I-9 data with government records (USCIS, Form I-9; E-Verify). A client cannot run either for the contractor's workers. What the client's reviewer can compare is the roster against the contractor's written confirmation that checks are completed, plus a sample of records where the contract grants audit rights.
Compare three sources: the contractor's roster, the badge-in or key log, and, for security contractors, the guard licenses or registrations your state requires. Licensing for security officers is set state by state, so state the requirement in the contract and compare license holder name, number and expiry to the roster. A lookup on the state licensing authority's site confirms the listing; it does not confirm that the person at your front desk is the license holder.
A cleaner who badges in nightly but appears on no roster is the classic mismatch. The response is a request for that person's records and suspended access until they are provided.
Check 4: insurance against the real scope
A certificate of insurance is evidence of coverage only when the named insured, the described operations and the policy period match the contract. Compare the named insured with the contracting entity, the description of operations (janitorial, floor care, window cleaning at height, armed or unarmed guard services) with the scope, and the dates with the term. Check that you are listed as certificate holder or additional insured where the contract requires it, and that the limits match the clause.
A certificate does not show whether premiums are paid or whether endorsements exist. If the contract depends on an additional-insured endorsement, ask for the endorsement itself.
Check 5: invoices, bank accounts and hours
Payment fraud and billing drift both surface as a gap between the invoice and the contract file. Compare the account holder name with the contracting entity and the original vendor form. A bank change requested by email is verified by calling a number already in your vendor master, never the number in the message.
For hours, compare the invoice with the schedule and the badge log. Some contractors bill the contracted headcount even when a post was vacant. An occasional gap is a commercial dispute; a gap that widens after each audit needs a different conversation.
What the reviewer does when fields disagree
| Mismatch found | Immediate action | Escalation trigger |
|---|---|---|
| Different DBA, same legal entity | Request written explanation of trade names | No answer within the contract notice period |
| Different entity or TIN | Treat as a new vendor; restart setup | Work already performed by the unvetted entity |
| Insurance gap | Request corrected certificate | Staff on site without coverage |
| Worker not on roster | Remove access | Repeat within the quarter |
| Bank details changed | Call-back, freeze payments | Vendor cannot confirm |
Record the mismatch, the question and the answer. That trail is what an auditor, insurer or lawyer will ask for.
Questions practitioners ask
"Is the vendor's schedule enough to know who is in my building?" No. It is the vendor's own statement; check whether it agrees with your access system. "Do I re-collect everything every year?" Re-collect what expires on the day it expires, and re-compare identity fields whenever the entity, site list or bank account changes. Our guide on recheck dates for supplier certificates covers the calendar.
How a tool fits in
Doing these comparisons by hand for dozens of vendors is where files drift. A document validation workflow extracts the fields (names, entity numbers, dates, account holders) from each upload, compares them across the file and flags the rows above for a person to decide. It checks consistency and expiry; it does not certify that a document is genuine. The subcontractor solution shows how a file review is organized, the security page explains document handling, and the pricing page lists plans.
Frequently Asked Questions
What documents should I collect from a janitorial subcontractor?
A W-9, state good standing evidence, certificates of insurance and workers' compensation coverage, a worker roster with the contractor's confirmation of eligibility checks, and bank details. Then compare them with each other and with the contract.
Does a certificate of good standing prove the contractor is compliant?
No. It shows the entity's name and status with the state. It says nothing about insurance, workers or tax payments.
Can I run E-Verify on my contractor's workers?
No. E-Verify is used by the employer for its own new hires. The client can ask for written confirmation and sample records under audit rights.
How often should a security contractor's file be reviewed?
At each expiry date, at each change of entity, site list or bank account, and with a periodic sample comparison of the roster against badge logs.
Stay informed
Get our compliance insights and practical guides delivered to your inbox.