Window Washing Guide
GUIDE / PRO TRACK / PRICING
A row of storefront windows along a city commercial street at dusk
PHOTO · DJEDJ / PIXABAY
PRO TRACK     № 00113 min read · 2840 WORDS

Pricing your first commercial route: a working framework that won't bankrupt you

Most independent window cleaners price commercial routes wrong on the first three contracts and don't realize it until year two. Here's the math, the negotiation, and the trade-off menu — from someone who underpriced his first commercial account by 40% and spent four years digging out.

J
Jan Davenport
EDITORIAL TEAM · MIDWEST & GREAT LAKES
UPDATED MAY 9, 2026
PUB. MAY 9, 2026
⚡ THE SHORT ANSWER

Five rules I wish someone had told me before I priced my first commercial account:

  • Price for the route, not the building. Drive time, fuel, and stop economics matter more than per-pane costs.
  • Multiply your residential per-pane rate by 0.6 to 0.75 for commercial volume — but only if the route geography supports it.
  • Build in the renegotiation lever. Three-year contracts kill you if you locked in year-one pricing.
  • Charge separately for height work, hard water, and post-construction. Bundle pricing always loses.
  • Walk away from accounts that demand below-cost pricing. They are not going to be your best customers.

The first commercial route is the one where most cleaners learn what their actual costs are. Doing the homework in advance — instead of in retrospect — is the difference between a profitable second year and a forced sale.

<!-- AUTO-GENERATED by scripts/inject-article-city-links.mjs. Source of truth: src/articles/15-pricing-first-commercial-route.md. Do not hand-edit. Re-run `node scripts/inject-article-city-links.mjs`. 1 inline city link injected (1 unique city). Pass 2 (state links): 1 link (1 state). Pass 3 (cross-article links): 1 link (0 contributors, 1 term). -->

My first commercial account was a small office park in Troy, Michigan — three single-story buildings, maybe 180 panes total, accessible from grade level, no specialty work. I quoted $0.75 per pane for monthly service. The property manager said yes on the spot.

That should have been my first warning. He said yes too fast.

Three months in I'd figured out what I'd actually quoted. After drive time, fuel, the route geography (which sent me thirty minutes the wrong direction from my residential cluster), the equipment I had to buy specifically for that account, and the fact that "180 panes" turned out to mean the obvious panes plus another 60 the property manager was vague about, my actual per-hour profit on that account was about $14. Less than what I was paying my employees.

I serviced that account for four more years before I worked up the courage to renegotiate it. By the time I sold the company in 2023, I'd done a lot of commercial work, and I'd developed a system for pricing it that didn't repeat my early mistakes. This article is that system. It is specifically aimed at the residential cleaner — solo operator or small crew — who's about to take their first commercial account and is trying to figure out what to quote.

I want to be honest up front: there is no universally correct number per pane. The right price depends on so many local variables (your market, your competition, your route density, your cost basis) that anyone giving you a flat "charge $X per pane" answer is selling something. What I can give you is the framework I use to figure out the right price for your specific situation. Run it carefully and your first commercial account becomes a profitable account, not a learning experience.

Stop pricing per pane (start pricing per hour)

The single most important reframe: commercial pricing is not "per pane" pricing. It looks like per-pane pricing because the customer wants a per-pane number. But your actual economics are per hour — and the per-pane number is just the per-hour number translated into the customer's preferred vocabulary.

Working backward from your hourly target is the right way to do this. Start by figuring out what one hour of your time at this account needs to bring in. That number factors in:

  • Your direct labor cost (yourself or an employee)
  • Vehicle costs amortized to time on this route
  • Equipment depreciation and consumables
  • Insurance, licensing, and overhead allocation
  • Drive time to and from the account, prorated against billable hours on site
  • A profit margin that lets the business be a business

For most independent residential cleaners I've talked to in the Midwest, this number lands somewhere between $75 and $110 per hour of productive time on site. Higher in dense urban markets. Lower in rural ones. The right number for you depends on your cost structure and your market position; if you don't know what your number is, you don't know enough yet to be quoting commercial work.

Once you know your hourly target, the question becomes: how many panes can a competent cleaner on my crew produce per hour at this specific account? That answer depends on the building. A first-floor strip mall with no specialty glass and good access — maybe 50-70 panes per hour with squeegee technique. A multi-story office building with mullioned glass, security check-in delays, and ladder requirements — 20-30 panes per hour. The same crew on the same day will produce wildly different per-pane economics across these two accounts.

Multiply the per-hour target by the productive hours, divide by the pane count, and that's your per-pane price. That's where the per-pane number comes from. It's an output of your hourly target divided by your throughput rate, not a market rate you adjust.

I've seen too many new commercial cleaners use a per-pane "rate" they got from a forum or a friend, and end up pricing identical buildings identically when the actual labor difference between them is 2x or 3x.

The three pricing layers

Once you've got the hourly framework, the actual quote is built in layers. Each layer has its own pricing logic, and bundling them is how you accidentally underprice yourself.

Layer 1: Base service pricing

This is the recurring per-cleaning charge for standard interior + exterior window service at the building. It's calculated from the hourly framework above. For a typical commercial property at standard frequency (monthly or quarterly), in most Midwest markets, the per-pane number you derive will land between $1.25 and $4.00 — with the wide spread reflecting building complexity, route density, and market.

Two things that should be baked into base service:

  • Standard cleaning of all standard-glass panes (interior and exterior)
  • Frame and sill wipedown as part of the cleaning
  • Standard squeegee finishing technique with appropriate detail work

Two things that should not be baked in (separate them out, see Layer 2):

  • Any height work requiring ladders over 12 feet, lifts, or rope access
  • Any specialty cleaning beyond standard maintenance (post-construction, hard water restoration, screen cleaning, gutter work)

Layer 2: Specialty surcharges

These are the work types where bundle pricing kills you. Charge them separately:

Height work. Anything above 12 feet — second-story exteriors reachable only by extension ladder, third-floor interiors with high glass, atrium work with lifts — gets a height surcharge. The labor rate for height work is roughly 1.5x to 2x ground-level rates because of slower throughput, equipment requirements, and insurance implications. If you have a property with mixed-height work, quote the ground panes at base rate and the height panes at the surcharge rate. Don't average.

Hard water restoration. First-pass cleanings on neglected commercial accounts often involve significant hard water deposits or, worse, etching. (See Article 012 in the Diagnostician section if you don't know the difference yet — it's the expensive misdiagnosis I see contractors make.) Charge restoration work separately from base service. A reasonable approach is a per-pane upcharge for any pane requiring acid restoration, with a ceiling that escalates if the deposits have progressed to etching requiring cerium oxide polishing.

Post-construction cleanup. Construction grit, paint splatter, mortar drip, decal residue — none of this is normal cleaning. It requires more time, more chemistry, and exposes you to fabricating debris damage on tempered glass (see Article 008 if that phrase is unfamiliar). Quote post-construction work as a separate one-time engagement at typically 2-3x the recurring service rate, with a signed waiver for fabricating debris damage.

Frequency mismatches. If the property manager wants the lobby cleaned weekly and the rest monthly, that's two different price points, not one blended one. Quote them separately.

Layer 3: Account adjustments

These are the modifiers that capture the route economics specific to this account vs. a hypothetical average account.

  • Route density discount or premium. If the account is geographically aligned with your existing route, you've got route synergy and can afford to be slightly aggressive on price. If it's a thirty-minute outlier from your nearest other stop, build in a route premium or decline the work entirely.
  • Access difficulty. Security check-in delays, parking restrictions, after-hours access requirements, escort needs — all of these eat productive hours. Build them in.
  • Volume relationships. A property manager with five accounts is more valuable than one with one account. Volume pricing on the second through fifth accounts is sometimes appropriate; on the first one, you don't yet have the relationship to discount on.

Run these three layers, sum them up, and you've got a quote that reflects your actual costs and the specific economics of the account.

The numbers that matter, in actual dollars

I'll give you concrete examples from my own pricing history, with the caveat that these numbers are 2018-2023 Midwest residential-adjacent commercial work, not your market.

Strip mall, single story, 240 panes, monthly service, ground-level access only: I priced these at $1.40-$1.80 per pane base rate, depending on the property's distance from my route center. Throughput was roughly 60 panes/hour with a two-person crew. Hourly economics worked out to about $90-$110/hour effective. These were profitable accounts.

Three-story office building, 480 panes, quarterly service, mixed access (ground + ladder up to second story interior, lift required for third-story exterior): Base rate $2.40/pane for the ground-accessible panes. Height surcharge of $4.50/pane for the lift-required exterior. Lift rental was a separate line item passed through to the customer at cost plus 15%. This kind of account had high revenue but also high coordination overhead — scheduling lifts, weather delays, insurance complications. Net hourly was lower than the strip malls in absolute terms but volumes were higher.

Restaurant chain, twelve locations across two counties, monthly service, mixed exterior and interior work: This is where route economics shine. I priced individual locations at $2.10/pane (lower than my single-location rate would have been) but routed all twelve in two consecutive days each month, with no gaps in productive time. Hourly economics on this account were the best in the company. Volume + density made the per-pane discount work.

Mixed-use building with hard water spotting on west elevation, 320 panes, first-pass restoration plus quarterly maintenance: The first-pass restoration ran $4.50/pane on the affected elevation (roughly half the panes), normal rate on the rest. The quarterly maintenance afterward ran my standard rate. The restoration job alone netted about $700 in profit; the ongoing account became a steady source of revenue for three years.

These are my numbers. Yours will be different. The pattern is what matters: separate the work types, price each one for its actual labor profile, and add them up.

What customers ask for, and what to actually say

A few negotiation patterns I learned the hard way:

"What's your per-pane rate?" This is the question that traps new commercial cleaners. Property managers have learned to ask it because it lets them compare quotes apples-to-apples and bid you down. The honest answer is "it depends on the building," and that's the answer you should give. Follow up with "let me walk the property and give you a real quote based on access, complexity, and the actual pane count." Property managers who push you to give a number on the phone are price-shopping; you don't want their account at the price they're going to settle on.

"The previous cleaner was charging $X." If $X is below your costs, the right answer is "I understand, but I can't service the property at that rate. Here's why my number is what it is." Walk away if you have to. Accounts won at below-cost pricing make you angry every time you service them, and that anger leaks into the work. I have spent six-month stretches resenting accounts I should have walked away from. Don't do this to yourself.

"Can you do quarterly instead of monthly to save money?" Sometimes yes, sometimes the answer is to charge more per cleaning because quarterly accounts are dirtier and take longer per visit. Run the math both ways before you answer. Don't assume frequency reductions are linear with cost.

"Can you give us a discount for a multi-year contract?" This is the one I got wrong on my Troy account, and I want to be specific about why. A multi-year contract that locks in your year-one pricing is bad for you, not good. Costs go up. Insurance goes up. Equipment ages out. Your team's wages go up. If you sign a three-year contract at year-one prices, you're guaranteeing yourself a margin compression every quarter for thirty-six months. The way to do multi-year contracts right is with annual pricing escalators built in (typically tied to CPI or a flat 3-5% annual increase). The customer who refuses to accept a price escalator is a customer who's planning to take advantage of you.

"Do you do residential too? My house is..." This is sometimes the actual prize. Property managers and commercial accounts contacts often have residential needs of their own and the relationship can compound. Treat it as a separate engagement, quote it appropriately, and don't discount the residential work in exchange for the commercial relationship — but don't refuse it either. The cross-channel work is where good books grow.

The mistake I made, in detail

The Troy office park account was a $0.75 per pane mistake on 180 panes for $135 per cleaning. Let me show you what that actually meant in unit economics, the way I should have looked at it before I quoted:

  • Drive time round-trip: 60 minutes (my residential cluster was 30 minutes east)
  • Productive cleaning time: about 3 hours for the actual work
  • Total time on the account, including drive: 4 hours
  • Net revenue per hour: $135 / 4 hours = $33.75/hour

For comparison, my residential pricing at the time was netting roughly $85/hour effective. I had quoted commercial work at less than half my residential rate — and I had given the customer a price they would have happily paid 50% more for.

What I should have priced it at: $1.40 per pane was my floor for that complexity. 180 panes × $1.40 = $252 per cleaning. After the same 4-hour total commitment, that would have been $63/hour — still below my residential rate, but defensible for commercial volume work. The customer would have accepted $1.40. They probably would have accepted $1.80. The reason I priced at $0.75 wasn't because that's what the market was charging. It's because I was scared of losing the account, and I made up a number low enough that I was certain to win.

The real lesson, four years on: the customer who would only have hired me at $0.75 wasn't a customer worth having. The customer who would have hired me at $1.80 — which the property manager would have been — was the customer I should have priced for.

A simple test before you submit any quote

Before you send a commercial quote, run through this checklist:

  1. Have I walked the property? If you're quoting from a description on the phone, you're going to underbid the complexity 80% of the time.
  2. Have I counted the actual panes, including the ones the contact didn't mention? Atrium glass, service entrances, mechanical room windows — these get forgotten in initial walkthroughs and become "scope creep" after you've signed.
  3. Have I separated specialty work from base service? Bundle pricing always loses you money on the specialty portion.
  4. Does this number give me my hourly target after factoring drive time and overhead? If not, the quote is wrong. Adjust upward or decline the work.
  5. Have I built in an annual escalator if this is a multi-year contract? If not, you're locking in year-one margins for the duration.
  6. Am I quoting from confidence or from fear? If the answer is fear of losing the account, the price is too low. Real commercial buyers are looking for the right cleaner at a fair price, not the cheapest cleaner.

If you can answer those six questions yes, you've done the work. The quote you're sending is honest, defensible, and sustainable. If the customer pushes back on price, you can negotiate from a position of "here's what the work actually costs" rather than "here's what I hope you'll accept."

I lost money on my first commercial account for four years. The cost of that lesson was about $40,000 in margin I never recovered, plus the opportunity cost of the better accounts I couldn't take because the bad one was eating my schedule. Doing the math up front would have cost me thirty minutes. I write articles like this one because thirty minutes is what I want to give back to the next person standing where I was in 2018, looking at a quote sheet and trying to figure out what's reasonable.

Reasonable is what your math says. Quote your math.


Glossary terms in this piece

  • Bid-walk — the pre-quote site visit that separates a margined commercial bid from a guess
  • Net 30 — standard commercial payment term; invoice issued at completion, due in 30 days
  • One-time clean — non-recurring service call; higher rate, harder schedule, fewer repeat visits
  • Pane-rate pricing — residential model: per face of one window, $4–$10 in 2026
  • Per-visit minimum — base service charge regardless of panel count; protects margin on small jobs
  • Property-management contract — multi-property contract via third-party management; volume vs. cash flow
  • Recurring service — scheduled cleaning route at fixed intervals; the route economy foundation
  • Route density — accounts per drive-mile; the hidden lever in commercial route economics
  • Storefront rate — commercial model: per panel for recurring routes, compressed by competition
  • Walk-bid — on-the-spot bid after a quick property walk; risky on commercial work

Footnotes


Sources

  • International Window Cleaning Association, Business Management for Window Cleaning Contractors, 2024 edition.
  • Pro Window Cleaner Magazine, "Pricing Your Route: Five Years In," industry feature, 2023.
  • Window Cleaning Network, public pricing surveys, multi-year aggregated data.
  • U.S. Bureau of Labor Statistics, Occupational Employment and Wages: Building Cleaning Workers, 2023.
  • Insurance Information Institute, Liability Coverage for Service Contractors, 2024 reference.

About the author

Jan Davenport ran a six-truck residential window cleaning route in suburban Detroit for eleven years before selling the company in 2023. He now writes full-time for Window Washing Guide, where he covers homeowner-facing diagnostics and the practical fieldwork that keeps service professionals employed. His writing has appeared in Pro Window Cleaner Magazine and the IWCA quarterly. He still washes the windows on his own house, badly, because he is no longer trying to impress anyone.

All articles by Jan → · Editorial standards →

ABOUT THE AUTHOR

Jan Davenport

Jan Davenport is part of the Giordano Inc. editorial team and covers the Midwest and Great Lakes editorial beat for Window Washing Guide. Editorial content is researched and reviewed in collaboration with the Giordano Inc. editorial team and informed by interviews with practicing window-washing operators in the region, plus published trade and small-business operations references.