cleaningbusinessguides.com

Updated September 2026 · For residential cleaners in Georgia moving into commercial and janitorial accounts

Your first commercial cleaning contract, step by step

What do I need to sign my first commercial cleaning contract in Georgia?

  1. Read the insurance and bond section of the bid or vendor packet first
  2. Make sure the legal entity on every form is the same one
  3. Ask your agent to quote the exact limits the contract lists
  4. Request the certificate of insurance with the right holder and wording
  5. Check whether a bid, performance or fidelity bond is required
  6. Sign the E-Verify and other affidavits the buyer attaches
  7. Arrange background checks for every cleaner on the account
  8. Submit the packet and wait for approval before the first shift

Read the insurance section before you price the job

The insurance terms can cost more than the margin on a small account. Read them before you quote, not after you win.

Commercial buyers write their own limits. A 2022 housekeeping bid from the Board of Health of Chatham County asked for $1,000,000 in general liability per occurrence and in the annual aggregate. It also asked for $1,000,000 in auto liability and $500,000 in employer's liability.

A 2023 Gwinnett County carpet and upholstery cleaning bid set lower primary limits of $500,000 but added a $1,000,000 umbrella. Two Georgia public buyers, two different insurance programs. Your agent needs the actual page, not a summary.

Insurance limits in two Georgia public cleaning bids, retrieved 27 September 2026
CoverageChatham County Board of Health (2022)Gwinnett County (2023)
General liability per occurrence$1,000,000$500,000
Auto liability$1,000,000 combined single limit$500,000 per occurrence
Employer's liability$500,000$100,000 each accident
UmbrellaNot listed$1,000,000
BondsNot requiredNot required on this contract

$1,000,000A Chatham County Board of Health housekeeping and janitorial bid required commercial general liability of $1,000,000 per occurrence and annual aggregate. — Board of Health of Chatham County, Georgia, retrieved 2026-09-27

$1,000,000 umbrellaA Gwinnett County carpet and upholstery cleaning bid required $500,000 per occurrence in general and auto liability plus a $1,000,000 umbrella policy. — Gwinnett County Board of Commissioners, retrieved 2026-09-27

One legal entity on every document

The name on the contract, the certificate of insurance and the W-9 must match. A mismatch is the most common reason a vendor packet comes back.

If you trade as a sole proprietor under your own name and then form an LLC, the LLC is a new legal person. Your policies need to name it. Your bank account and tax ID should belong to it too.

Gwinnett's bid, for instance, wants every certificate to reference the specific bid by project name and number. That detail only lines up if the insured name is already right. Form the entity first, using the business setup guide, then ask for the certificate.

Gwinnett County requires certificates of insurance, and any renewals, to reference the specific bid or contract by project name and number. — Gwinnett County Board of Commissioners, retrieved 2026-09-27

Getting the certificate of insurance right

Your insurance agent issues the certificate, not you. Send the agent the buyer's exact insurance page and the certificate holder's name and address.

Chatham's bid listed what a certificate must show. That included the producer, the insurers, the insured's name, a summary of current coverage with dates, a description of the work or contract number, and the certificate holder.

Additional insured status is a separate endorsement, not a line on the certificate. Some buyers demand it. Chatham's Board of Health told bidders not to name it at all, to protect its sovereign immunity. Read how a certificate of insurance works for the parts that trip people up.

The Chatham County Board of Health bid required a certificate showing the producer, insurers, insured, current coverage with effective dates, a description of the work, and the certificate holder. — Board of Health of Chatham County, Georgia, retrieved 2026-09-27

The Chatham County Board of Health told bidders not to list it as an additional insured, citing its defense of sovereign immunity. — Board of Health of Chatham County, Georgia, retrieved 2026-09-27

Check which bond, if any, the contract wants

Many cleaning contracts ask for no bond at all. Check the bid's bond line, because the answer can be N/A, a bid bond, or a performance bond.

Both the Chatham and Gwinnett bids above marked bonds as not required. Douglas County's courthouse janitorial solicitation reserved the right to require a performance bond on any award over $1,000.

When a client says janitorial bond, it may mean a fidelity bond covering theft by your staff instead. That is a different product from a surety bond. The difference is explained in what a janitorial bond covers.

$1,000A Douglas County, Georgia janitorial solicitation reserved the right to require a performance bond on all awards over $1,000. — Douglas County Board of Commissioners, retrieved 2026-09-27

Affidavits, background checks and staff paperwork

Public contracts come with sworn forms. Expect an E-Verify affidavit, background check consent forms and sometimes health requirements for staff.

Chatham's bid would not consider a submission without a signed E-Verify affidavit. It also asked the winning contractor for proof of influenza vaccination for every employee on site.

Gwinnett required a consent form for each employee so the county could run criminal background checks. Nobody worked on county property until cleared. If you plan to add staff for the account, read hiring cleaners first, because the paperwork starts the day they are hired.

The Chatham County Board of Health would not consider a janitorial bid unless a signed E-Verify affidavit was enclosed. — Board of Health of Chatham County, Georgia, retrieved 2026-09-27

Gwinnett County required a consent form for each contractor employee so it could run criminal background checks before the employee worked on county property. — Gwinnett County Board of Commissioners, retrieved 2026-09-27

Do not start the first shift until the packet is approved

Starting early can void the protection you just paid for. Wait until the client confirms in writing that your insurance evidence is accepted.

Gwinnett's terms say no contractor may begin work until it has filed insurance evidence the county finds satisfactory. Chatham's say certificates must be approved before services start, and a lapse in coverage is grounds to end the contract.

Keep the certificate current for the whole term. Put every policy renewal date in your calendar next to the contract dates. Then look at workers' compensation if the account needs more hands than you have.

Gwinnett County does not allow a contractor to begin any work until it has filed evidence of the required insurance satisfactory to the county. — Gwinnett County Board of Commissioners, retrieved 2026-09-27

The Chatham County Board of Health treated a lapse in the contractor's insurance coverage as grounds for terminating the contract. — Board of Health of Chatham County, Georgia, retrieved 2026-09-27

Questions

Do private office clients ask for the same insurance as counties?

Often they ask for less, but the structure is the same. A property manager usually sends its own insurance requirements and asks for a certificate naming it. Read that page the same way you would read a county bid.

Can I get insurance after I win the contract?

You can buy it after the award, but you cannot start work until the client approves the certificate. Quote the insurance before you bid, so the premium is in your price.

What if a limit in the contract is higher than my policy?

Ask your agent whether an umbrella policy or a higher limit covers the gap, and what it costs. Then decide whether the account still pays. Do not sign a contract that requires coverage you do not carry.

Is a W-9 part of the vendor packet?

Usually. Clients use it to record your legal name and tax ID for their own reporting. Fill it out in the entity's name, with the entity's EIN if it has one.