Commercial Window Cleaning Contract: Proposal, Access and Safety With AI

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Commercial Window Cleaning Contract: Proposal, Access and Safety With AI.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Commercial Window Cleaning Contract: Proposal, Access and Safety With AI.

Write the proposal to sell the scope and the contract to bind it, and make both agree on which glass you clean and how often, access, the safety method by height, insurance, price by frequency, and what happens when access or weather stops a visit. Yes, AI can draft both and cross-check them; a lawyer reviews the final template.

Template platforms give you a form with blanks. They do not tell you what to ask on the survey, which access problems to plan for, or how a clause written for one building fails in another. A line such as "the client will provide access" looks complete until a gate code changes at 7am and nothing says who pays for the wasted visit. Every wording sample here is an example of structure, not legal advice, and every figure is invented.

Follow me on Instagram@sagnikteaches

Survey notes that turn into clauses

Every clause in a window cleaning contract should trace back to something you saw or were told on the survey. If you cannot point to the note that justifies a clause, the clause is probably filler. Capture these on site:

Connect on LinkedInSagnik Bhattacharya
  • A glass inventory by elevation: ground-floor fronts, first-floor windows, doors, entrances, atria, skylights. Count panes or areas, and note which can be reached from the ground.
  • Frames, sills and signage, and whether the client expects them cleaned.
  • Method per area: a water-fed pole from the ground, a ladder for a short job, or equipment you would have to hire or subcontract.
  • Access points: gates, codes, keys, alarm, who holds them, and the hours the building allows.
  • Hazards: delivery vehicles, overhead cables, awnings, fragile roofs, steps, a busy forecourt, anything the building manager warns you about.
  • Existing damage, photographed: scratched film, cracked panes, failed seals. This protects you later.
  • The client's requirements: induction, permits, insurance certificates, preferred times.

The notes below came from a parade of four shops and the two-storey office next door. They are rough, as real notes are:

Subscribe on YouTube@sagnikteaches
Parade: 4 shops. Ground fronts: 6 big panes each (24 total), awnings on shops 2 and 3, doorway glass x4.
First-floor windows above shops: 6 per unit (24), reachable with water-fed pole from the footpath.
Overhead cables at the east end - check.
Office next door: glazed entrance (3 panes), 14 windows ground, 14 first floor, rear first-floor atrium window
(high, no ground access), skylight on flat roof - fragile, do NOT clean.
Forecourt: delivery vans 7-10am, bollards, limited room for cones. Rear yard gated, code from building manager.
Shops open 9, office opens 8.30. Prefer 7.00-8.30 on Tuesdays.
Existing damage: scratched film on shop 3 door glass; misted double glazing on office first-floor window 6.
Office wants contractor induction and an insurance certificate. Frequency: shops fortnightly, office monthly.
The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

A scope table with exclusions that protect you

The scope table is the part both documents share, so it is worth getting right once and pasting into both. Ask the assistant to build it from the notes, under the same rules as any scope draft: facts from the notes only, questions instead of guesses.

Turn these window cleaning survey notes into a scope table with the columns Area, Glass, Method, Frequency, Notes.
Use only the notes. Then list Exclusions (anything the notes say not to clean or that needs different access),
Assumptions, and Questions to confirm with the client. Do not name any standard, law or accreditation.

Notes:
[paste survey notes]

Trimmed, a sample reply reads:

AreaGlassMethodFrequency
Parade, ground floor (4 shops)24 shop-front panes, 4 doorway panesWater-fed pole from the footpathFortnightly
Parade, first floor24 windows, frames and sillsWater-fed pole from the footpath; cable check at the east end firstFortnightly
Office entrance3 glazed panesWater-fed poleMonthly
Office windows14 ground floor, 14 first floorWater-fed poleMonthly
ExcludedRear atrium window, flat-roof skylight, awnings, internal glassQuoted separately on request after a specialist assessmentNot included

The reply would also list assumptions (water supply is not required from the client; cleaning happens between 7.00 and 8.30 on Tuesdays) and questions (are internal partitions wanted, and is the misted office window to be cleaned or left?). Treat the questions as a to-do list for the client call. They often decide whether a clause is needed at all.

Read the result against your notes before you trust it. Assistants tend to round "6 per unit" into "approximately 24" without saying why, to add internal glass because most window cleaning contracts mention it, or to promote "reachable with a water-fed pole" into a promise that every pane will be spotless. Keep exclusions explicit: the atrium window and skylight are the sort of items that, left unmentioned, become a dispute at the first visit. The per-window pricing tutorial shows how photos can help you count panes, though the count itself should still be confirmed on site.

Access wording: keys, hours and visits that cannot happen

Most window cleaning disputes are about access. A gate is locked, a van is parked across the footpath, a tenant has changed the code, or scaffolding has gone up in front of the glass. The contract has to say, in advance, who provides access and what happens to the visit and the price when access fails. These are business decisions first, and wording second, so list your positions before you ask any assistant to draft:

  • Work happens between 7.00 and 8.30 on the agreed weekday, and either side can ask to move a visit with 48 hours' notice.
  • The client provides access to all areas in scope: gate codes, keys or a named person on site.
  • If we cannot reach the glass on the day, we call the named contact once and wait up to 10 minutes.
  • If access is still unavailable, the visit counts as completed and is charged, unless the client cancelled at least 24 hours before.
  • Keys and codes are kept in a log, never labelled with the address, and returned or destroyed when the contract ends.

Then ask the assistant to turn those positions into numbered clauses without changing their meaning. Here is the sort of wording that comes back and that I would be content to take to a lawyer:

5.1 Visits take place between 07:00 and 08:30 on the agreed weekday. Either party may ask to move a visit by giving at least 48 hours' notice.

5.2 The Client will provide access to every area in the Scope, by key, code or a named person present. The Contractor will call the Client's named contact once if access is unavailable and will wait up to 10 minutes.

5.3 If access is still unavailable, the visit is treated as completed and charged at the usual rate, unless the Client cancelled at least 24 hours before the visit.

Even good output needs a read for three things. Vague phrases come first: assistants love "reasonable endeavours", "promptly" and "as soon as practicable", none of which you can measure. Replace each with a number or delete it. Next, check that nothing has changed your positions. A common slip is turning "charged unless cancelled 24 hours before" into "charged at the Contractor's discretion", which reads softer and means something different. Last, look for new rules the assistant added unprompted, such as an interest charge on missed payments or a termination right for three missed visits. If you did not decide it, it does not belong in the clause.

Key custody deserves its own paragraph in the contract, because losing a client's key is a bigger problem than missing a visit. Say who holds keys, how you log them, and what happens if one is lost. Your insurer may have views on key holding, so ask your broker before you promise to hold keys for an alarmed building. Whether a lost key triggers a cost to you depends on your policy, which is the sort of detail an assistant cannot know.

Safety wording: methods by height, weather and the right to decline

Safety clauses have two readers. The client wants to know the work will not hurt anyone or damage the building. Your insurer wants to see that you work within the methods your policy covers. The wording is only worth including if it describes what your crew really does, because a clause you do not follow is worse than no clause. Rules on working at height differ from place to place and change over time, so have a qualified safety adviser confirm the method table below for the place where you work.

Height and reachTypical methodWhat the contract should say
Reachable from the groundWater-fed pole used from the footpath or forecourtWork is done from ground level, and no one leaves the ground in the base price.
Low-level, short taskLadder, where your own risk assessment and the rules you work under allow itLadders are used only for short, low-risk tasks, at the Contractor's discretion.
High-level or no ground accessHired lift or specialist rope-access subcontractorNot in the base price. Quoted separately after an assessment, with its own method statement and insurance check.

Weather needs a stop rule that you control. High wind, ice and lightning all change what is safe, and the contract should say the Contractor decides, that the visit is rescheduled within a stated number of days, and that a weather postponement carries no charge to either side. People and vehicles need a rule too. If the forecourt is busy at 7.00, say that the Contractor may place cones and an exclusion zone, and that the Client keeps vehicles and visitors outside it during the visit.

Three more safety terms are worth including. A right to decline lets you refuse or stop any task you judge unsafe, with notice to the contact the same day. Client duties oblige the Client to warn you about fragile surfaces, live equipment, building works and anything else that changes the risk, and to tell you when conditions change. A pre-existing damage schedule, built from the photos you took on the survey, records scratched film, cracked panes and failed seals, so a fault that was already there is not blamed on you at the first visit.

If the site requires an induction or a permit before you start, put that in the contract as a Client responsibility with a date, so the first visit does not slip while somebody finds the paperwork. Keep a note of each induction, with the date and the staff who attended, in the same file as the contract.

Frequency pricing and the price clause

A contract that offers a choice of frequency gives the client a lever and gives you a risk. If the price per visit does not move with frequency, you will either overcharge the weekly client or underprice the four-weekly one. Windows that are cleaned more often carry less dirt, so each visit is shorter, but travel and set-up take the same time whatever the frequency, so the per-visit price falls by less than the visit time does.

Here is a worked schedule for one shop unit in the parade: 6 ground-floor panes, 6 first-floor windows and the door glass. Suppose your labour and overheads need $48 an hour to leave your margin, which is $0.80 a minute, and each visit carries a $10 allowance for travel and set-up:

FrequencyMinutes on siteCalculationPrice per visitVisits a yearAnnual priceMonthly equivalent
Every 4 weeks5555 x $0.80 + $10$54.0013$702$58.50
Fortnightly4040 x $0.80 + $10$42.0026$1,092$91.00
Weekly3030 x $0.80 + $10$34.0052$1,768$147.33

Weekly cleaning costs the client $676 a year more than fortnightly, yet each weekly visit is $8 cheaper than a fortnightly one. The minutes on site are the numbers to check against your own timesheets. They are only an illustration, and the pane and hour pricing tutorial shows how to derive yours. For the office, 31 glazed areas take about 95 minutes once a month, which at the same rates is 95 x $0.80 + $10 = $86 a visit, or $1,032 a year. The atrium window is excluded from that figure and priced after a specialist assessment.

The contract's price clause should then say four things in plain words. State the price per visit for the agreed frequency, with the table attached as a schedule. State that a change of frequency moves the price to the schedule rate for the new frequency from the next visit. Say how often prices are reviewed, for example once every 12 months with 30 days' written notice, and say that visits not carried out because of access failure are charged under the access clause. A client who asks for a fixed monthly fee instead of per-visit billing is easy to accommodate, provided the clause says what happens in a five-visit month and for a visit lost to weather. When a review comes round, send the client the new schedule in writing before the notice period starts.

AI is useful on this section as a consistency check, not a calculator. Paste the schedule and the clause, and ask: does the clause match the table, are any frequencies in the proposal missing from the schedule, and does any sentence promise a price the schedule does not support? Compute the table itself in a spreadsheet, because chat assistants slip on chains of multiplication.

Insurance: match the methods you list to the cover you hold

For window cleaners, the insurance section has an extra trap that office cleaners do not face. The methods listed in your safety clause, such as ladders, lifts or rope access, must be methods your policy covers. Some policies cap the height you may work at or exclude certain ways of working at height, and a contract that promises a method your insurer does not cover leaves you exposed on the first claim. Ask your broker, in writing, whether any method you plan to list is restricted, and keep the answer with the contract.

The insurance paragraph itself follows the usual approach. Paste the text of your current certificate into the prompt, tell the assistant to use only what the text says, and ask it to list gaps instead of filling them. A sound paragraph names the insurer, the cover types shown, the limit as printed, the expiry date and the attachment. It then lists the gaps, for example "glass breakage cover is not mentioned in the text supplied", which is exactly the question to put to your broker. Clients often ask whether you are covered for damage to their glass. Many liability policies exclude damage to the part of a property you are working on, so a pane scratched during cleaning may not be covered unless the policy says otherwise. Do not answer from memory or from a chat assistant. Answer from the policy wording, and if the wording is unclear, ask the broker for a plain statement.

When the client's own requirements arrive, such as a minimum liability limit or a request to be named on your policy, paste them next to the certificate text and ask the assistant to compare them line by line. It should flag, not judge. A typical output is "Requirement: liability limit of at least $2,000,000. Certificate: $1,000,000. GAP." What you do about a gap, from raising cover to declining the job, is for you and your broker.

Finally, keep the pre-existing damage schedule and the insurance certificate together in the contract pack. If a pane cracks during a visit, the first questions will be whether the fault was already recorded and what the policy says about it. Having both documents to hand, dated and signed, makes that conversation shorter.

Five AI checks to run before a lawyer sees the draft

This is where AI helps most in contract work. It will not tell you whether a clause is enforceable, but it reads every line without tiring, and it is good at finding wording that does not hold together. Run these five checks on the full draft, in this order, and fix what each finds before the next.

  1. Vague words. Ask for every phrase that cannot be measured: reasonable, adequate, regularly, promptly, as needed, from time to time. Replace each with a number, a named person or a deletion.
  2. Undefined terms. Ask for every capitalised or technical word used but not defined, such as "Scope", "Visit", "Access Failure", "Working Day", then define them once, near the top.
  3. Proposal against contract. Paste both and ask for every difference in scope, frequency, price, exclusions and dates. Differences are bugs, because the client will rely on whichever document is kinder to them.
  4. Whose side is it on? Ask for any clause a client's lawyer would reject and any a reasonable client would find unfair. Then ask the same from your insurer's point of view.
  5. What if? Ask the assistant to test the draft against a list of scenarios and say, for each, what the document currently says.

The vague-words check is the quickest win. Here is the prompt and a trimmed sample of what comes back:

Read the draft contract below as an editor, not a lawyer. List every phrase that cannot be measured or checked,
such as "reasonable", "promptly", "regularly", "as needed", "adequate". For each: quote the clause number,
quote the phrase, and propose a measurable replacement or say "delete". Do not rewrite the whole clause.

Draft:
[paste contract]
4.3: "reasonable efforts" -> "one phone call to the named contact and a 10-minute wait".
6.4: "promptly" -> "the same day".
7.1: "regularly" -> state the interval, e.g. "every 4 weeks".
8.3: "as needed" -> delete, or list the conditions that trigger it.

The scenario check is the most surprising, because it finds the situations you had not thought of. Give the assistant the draft plus a list like this one, and ask it to say what the document does in each case and where it says nothing:

1. The client changes the gate code and forgets to tell us.
2. Scaffolding goes up across the shop front for three weeks.
3. A pane is cracked when we arrive.
4. A pane cracks during cleaning.
5. It rains or blows too hard for the planned method on three visits running.
6. The client asks us to add the rear atrium window.
7. The client's accounts team pays 45 days late.
8. The shop changes owner halfway through the term.
9. A passer-by is struck by a falling object from a first-floor window.
10. The client wants to leave after four months.

A sample reply says that scenario 1 is covered by the access clause, and that scenario 2 is not covered at all: the contract has no rule on whether you still charge when the glass is hidden. It says scenario 4 depends on a pre-existing damage schedule that does not yet exist, scenario 8 is silent on assignment, and scenario 9 touches insurance and safety in ways it cannot judge, which belong to your broker and lawyer. Every "not covered" becomes a decision for you, such as "visits blocked by works are charged at half rate and rescheduled when the glass is clear", and the lawyer later sees a draft that has already been through ten what-ifs.

Two cautions apply to all five checks. First, do not paste a client's name, address or confidential terms into a public chat tool if you can avoid it. Use placeholders such as "the Client" and "the Property", and check the model-training switch in the tool's privacy settings. Second, an assistant that says a clause "looks fine" has not approved it. Its confidence says nothing about whether the clause works where you operate. The tutorial on whether AI can review a contract sets out what such a review does and does not catch.

A safety clause that sounded reassuring and was not

Ask a chat assistant for a safety clause with no facts and you get something like this:

The Contractor shall comply with all applicable health and safety legislation and shall ensure that all work is carried out safely at all times.

It reads well and does damage. "All applicable legislation" promises compliance with rules neither you nor the assistant has listed. "Ensure" and "at all times" turn a reasonable duty into an absolute one, so any accident becomes a breach. It says nothing about how you work, so it gives the client nothing to check and gives you nothing to stand on. Here is a version built from facts you hold:

The Contractor carries out a written risk assessment for the Site and works to the method statement for it. Copies are available on request. The Contractor may stop or decline any task it judges unsafe, including because of wind, ice or lightning, and will tell the Client's named contact on the same day. A stopped visit is rescheduled within 7 days at no charge to either party.

The revised clause promises documents you must really have, so write the risk assessment and method statement before the clause, not after. The numbers, such as seven days, are yours to choose. If your safety adviser later tells you the clause needs to refer to something specific, they can add it, and the clause will already be built on facts rather than hope.

One agreement, three client types

The same building blocks produce different paper for different clients. Build the full set of clauses once and then trim, rather than writing a new document each time.

ClientPaperWhat changes
Single shopOne-page proposal with short terms on the back, accepted by signature or emailScope table, price schedule, access and cancellation lines. Safety and insurance in two sentences, with the certificate attached.
Parade or managing agent with several unitsMaster agreement plus a schedule for each unitCommon terms once, a per-unit scope and price, one named contact, and a rule on who may add or remove units.
Office with its own rulesProposal, agreement and the client's contractor requirementsInduction, permits, insurance limits and the client's safety rules, which sit on top of yours. The proposal must not contradict them.

For the office, ask for the client's contractor rules before you write the safety clause, and paste them into the "proposal against contract" check as a third document. Where the client's rule is stricter than your clause, follow the client's rule and say so. Where it is looser, keep yours. A short note in the agreement that the stricter of the two applies saves argument later.

A broader agreement for cleaning work, including interior work, sits in the cleaning service agreement tutorial. If you often work alone, early in the morning, the lone worker risk assessment tutorial covers the check-in and escalation steps that belong in your method statement.

Review by people: you, your broker and a lawyer

An AI-checked draft is still a draft. Three people each see a different part of it before it reaches a client, and the sign-off sheet below keeps that visible:

Part of the paperWho reviews itWhat they check
Scope table, exclusions, frequenciesYou, with your survey notesEvery line matches what you saw and what the client asked for.
Price scheduleYou, with your spreadsheetEach price traces to minutes, rate and visits. The totals match.
Safety method table and clausesThe crew, then a qualified safety adviserThe wording describes real practice and fits the rules where you work.
Insurance section and listed methodsYour brokerEvery method listed is covered. Limits and dates match the certificate.
The whole template, onceA qualified lawyerEnforceability, notice, liability, termination and anything specific to where you work.

Make the lawyer's time count by sending three things together: the draft, your positions list, and the questions the AI checks left open, such as "scenario 8 is silent on assignment". A lawyer who starts from a sorted list of open questions is usually faster than one starting from a blank page, though that is a matter between you and them. Ask whether a template review once a year is enough and what changes should trigger a fresh look, such as a new service or a new method. The terms of business tutorial covers how to split the work between AI drafting and a professional.

Questions about window cleaning contracts for businesses

Do I need a written contract for a small shop?

A one-page agreement is worth having even for one shop. It fixes the frequency, the price, how you get access and what happens when you cannot get in. Disputes usually start over a missed visit or a price rise, and a signed page settles both. For a single shop, a proposal with short terms, accepted by signature or email, can do the job.

Can AI tell me whether my contract is legal?

No. AI can find gaps, contradictions and vague wording, but it cannot reliably know the rules that apply to you or how a court would read a clause. Use it to make the draft clearer and to prepare questions, then have a qualified lawyer review your template once before you use it with clients.

How long should the contract term be?

Many firms use an initial term of 12 months followed by a short notice period, but that is your decision. A longer term protects your price and your round, and a shorter one is easier to sell. Whatever you choose, state the notice period, how renewals work and how price reviews are agreed, so nothing depends on memory.

What if a client wants me to clean glass I think is unsafe?

Decline it in writing and say why, ideally under a right-to-decline clause already in the contract. Offer a safe alternative, such as a different method or access equipment priced separately, or leave it out of scope. Do not let price pressure or a friendly relationship override your own assessment of the risk.

Further reads

Sources: insurers' and brokers' published notes on height limits and glass-damage exclusions in cleaners' liability cover, checked November 2026. No vendor pricing is quoted; all sites, rates and sums are illustrative, and the sample clauses are not legal advice.

Want your contract checked before it reaches a lawyer?

On a 1:1 call we can walk through how you survey sites and write terms today, set up the AI draft checks that fit your process, and list the questions worth taking to a lawyer.

Book a 1:1 call with me