ProSheet Studio

Solar Panel Cleaning Price List: Per-Panel Prices Built From Your Own Time and Costs

By Roger Ramey· Updated · 11 min read· Every number shows its working

Short answer

Build a solar panel cleaning price list from time: panels × minutes per panel, plus setup and drive, gives hours. Cost the hours at loaded wage plus overhead, add consumables, then divide by (1 − margin). Example assumptions: 20 panels on a single-storey roof take 2 hours and price at $138.33, or $6.92 a panel.

On this page
  1. How to build a solar panel cleaning price list from time
  2. Solar panel cleaning price calculator (opens on 20 panels, single-storey roof)
  3. Solar panel cleaning cost per panel: a price list for 10, 20, 30 and 40 panels
  4. What should the minimum charge for solar panel cleaning be?
  5. How to price a recurring solar panel cleaning plan
  6. Commercial solar panel cleaning cost: when a 2-person crew row makes sense
  7. Cleaning method, roof access and exclusions: what the price list has to say
  8. Excel formulas for the price list, and the markup mistake
  9. Calculator, spreadsheet or app: what to put on your solar panel cleaning price list
  10. Step-by-step
  11. FAQ

How to build a solar panel cleaning price list from time

Price the time, then divide by the panels. Each line of the list is one job costed door to door and divided by one minus your margin.

  1. Hours = (panels × minutes per panel + setup minutes + drive minutes) ÷ 60.
  2. Break-even per hour = wage × (1 + burden %) + yearly overhead ÷ sellable hours.
  3. Break-even for the job = hours × break-even per hour + consumables.
  4. Price = break-even ÷ (1 − margin).
  5. Price per panel = price ÷ panels.

I build pricing maths; I do not clean solar panels. Every input below is an assumption to replace with your own, the minutes per panel most of all. Time real jobs and use those.

Assumed time inputs by access tier (replace with your own timings)
Access tierMinutes per panel, first cleanSetup and pack-downRound-trip drive
Ground mount1.515 min30 min
Single-storey roof, cleaned from the ground with a water-fed pole330 min30 min
Two-storey or steep roof4.545 min30 min

Wage and burden (assumed): $24 an hour plus 25% burden is $30. For an employee, the employer's share is 6.2% Social Security and 1.45% Medicare, per IRS Topic 751; workers' compensation, unemployment tax and paid time off make up the rest of the assumed 25%. Get a real workers' compensation quote for roof work. None of this is tax advice.

Assumed yearly overhead for a one-person panel cleaning business (replace every line)
ItemPer year (assumed)
General liability insurance$2,400
Pure-water system, poles, hoses and cleaning heads (replacement)$2,100
Ladder and fall protection equipment$840
Vehicle: fuel, insurance, wear$6,600
Phone, booking and payment software$1,500
Marketing and lead fees$1,800
Licences, registration, bookkeeping$600
Total$15,840

Overhead per hour: $15,840 ÷ (1 person × 220 billable days × 8 hours = 1,760 hours) = $9. Job hours here run door to door, so drive time is inside them; if you sell fewer than 8 hours a day, enter fewer days. Consumables (assumed): $0.25 a panel for water-treatment resin, filters and detergent. Margin (assumed): 40%.

Break-even is $30 + $9 = $39 an hour. Divided by 0.60, each hour sells at $65.

Solar panel cleaning price calculator (opens on 20 panels, single-storey roof)

Enter your hours, wage, burden, consumables, overhead and margin to get break-even and the price to quote. It opens on the example below, so it shows $138.33.

Hours come from step 1: 20 × 3 + 30 + 30 = 120 minutes. Consumables go in the materials box: 20 × $0.25 = $5.

Worked example: 20 panels, single-storey roof cleaned from the ground: 60 minutes of cleaning + 30 setup + 30 drive = 2 hours (assumed inputs)

Inputs (assumptions — replace with your own) and results
ItemValue
Workers (input)1
Hourly wage paid (input)$24.00
Labour burden % (input)25%
Materials (input)$5.00
Overhead for the year (input)$15,840.00
People in the field (input)1
Billable days a year (input)220
Target margin % (input)40%
Jobs a week (input)10
Hours on the job (input)2
Loaded labour rate (per hour)$30.00
Crew-hours2
Labour cost$60.00
Overhead per sellable hour$9.00
Overhead share$18.00
Break-even cost$83.00
Price to quote$138.33
Profit on the job$55.33
Price if you MARK UP instead$116.20
Margin you actually keep with markup28.57%
Lost per job by marking up$22.13
Lost per year by marking up$11,509.33

Computed with the same formulas as the free calculators on this site. Change any input in the calculator above to see your own numbers.

Check it: 2 hours × $30.00 = $60.00 of labour, plus $18.00 of overhead and $5.00 of consumables, is $83.00. Divided by 0.60 that is $138.33, and $138.33 ÷ 20 panels = $6.92 a panel.

The free window cleaning calculator runs the same job-pricing engine with window-cleaning defaults, not solar ones; overwrite the hours and materials.

Solar panel cleaning cost per panel: a price list for 10, 20, 30 and 40 panels

On these assumptions a 20-panel array prices at $89.58 on a ground mount, $138.33 on a single-storey roof and $187.08 on a two-storey or steep roof. Each cell below is one computed job; the per-panel figure is price ÷ panels.

Price list: job price and price per panel by array size and access (first clean, one person, assumed inputs)
PanelsGround mountSingle-storey roofTwo-storey or steep roof
10$69.17 ($6.92 a panel)$101.67 ($10.17 a panel)$134.17 ($13.42 a panel)
20$89.58 ($4.48 a panel)$138.33 ($6.92 a panel)$187.08 ($9.35 a panel)
30$110 ($3.67 a panel)$175 ($5.83 a panel)$240 ($8 a panel)
40$130.42 ($3.26 a panel)$211.67 ($5.29 a panel)$292.92 ($7.32 a panel)
Door-to-door time behind each cell (assumed minutes per panel, setup and drive)
PanelsGround mountSingle-storey roofTwo-storey or steep roof
101 h1 h 30 min2 h
201 h 15 min2 h2 h 45 min
301 h 30 min2 h 30 min3 h 30 min
401 h 45 min3 h4 h 15 min

Why the per-panel price falls as the array grows

Setup and drive are the same 60 minutes whether the single-storey roof holds 10 panels or 40. That hour costs $65 at the selling rate. Spread over 10 panels it is $6.50 a panel, 63.9% of the price; over 40 it is $1.63, or 30.7%.

So the same list can be printed as a visit charge plus a flat per-panel price, which quotes any array size:

The same price list as a visit charge plus a per-panel price (assumed inputs)
Access tierVisit charge (setup + drive)Price per panel cleaned
Ground mount$48.75$2.04
Single-storey roof$65$3.67
Two-storey or steep roof$81.25$5.29

The National Renewable Energy Laboratory describes cleaning cost in the same two parts: "usually a fixed fee to mobilize a cleaning crew and then a per-unit-area cost for labor and materials" (NREL, Best Practices for Operation and Maintenance of Photovoltaic and Energy Storage Systems, 3rd edition).

Try it with your numbers — free

The free calculator does this whole method in about a minute: loaded labour, overhead share, break-even and the price to quote at your margin. No signup, nothing to download, and your numbers stay in your browser.

Open the free window cleaning pricing calculator →Get the free spreadsheet

Want it built around your own rates, services and branding? Done-for-you custom calculator ($497).

What should the minimum charge for solar panel cleaning be?

Set the minimum at the computed price of the smallest job you will drive to. With an assumed 10-panel floor on a single-storey roof, that is $101.67.

Worked example: Minimum charge: 10 panels on the same roof type, 30 minutes of cleaning + 30 setup + 30 drive = 1.5 hours (assumed inputs)

Inputs (assumptions — replace with your own) and results
ItemValue
Workers (input)1
Hourly wage paid (input)$24.00
Labour burden % (input)25%
Materials (input)$2.50
Overhead for the year (input)$15,840.00
People in the field (input)1
Billable days a year (input)220
Target margin % (input)40%
Jobs a week (input)10
Hours on the job (input)1.5
Loaded labour rate (per hour)$30.00
Crew-hours1.5
Labour cost$45.00
Overhead per sellable hour$9.00
Overhead share$13.50
Break-even cost$61.00
Price to quote$101.67
Profit on the job$40.67
Price if you MARK UP instead$85.40
Margin you actually keep with markup28.57%
Lost per job by marking up$16.27
Lost per year by marking up$8,458.67

Computed with the same formulas as the free calculators on this site. Change any input in the calculator above to see your own numbers.

A 6-panel array on that roof pays the $101.67 minimum, because the hour of setup and drive does not shrink. The floor moves with access: $69.17 for a ground mount and $134.17 for a two-storey or steep roof, the 10-panel row of the list. A longer drive raises the minimum; rerun the row with your own drive minutes.

How to price a recurring solar panel cleaning plan

Price the repeat visit as its own row with fewer minutes per panel, not as a percentage off. If a maintained array takes an assumed 1.5 minutes a panel in place of 3, the 20-panel visit drops from $138.33 to $105.83.

Worked example: Repeat visit on a maintained 20-panel array: 30 minutes of cleaning + 30 setup + 30 drive = 1.5 hours (assumed inputs)

Inputs (assumptions — replace with your own) and results
ItemValue
Workers (input)1
Hourly wage paid (input)$24.00
Labour burden % (input)25%
Materials (input)$5.00
Overhead for the year (input)$15,840.00
People in the field (input)1
Billable days a year (input)220
Target margin % (input)40%
Jobs a week (input)10
Hours on the job (input)1.5
Loaded labour rate (per hour)$30.00
Crew-hours1.5
Labour cost$45.00
Overhead per sellable hour$9.00
Overhead share$13.50
Break-even cost$63.50
Price to quote$105.83
Profit on the job$42.33
Price if you MARK UP instead$88.90
Margin you actually keep with markup28.57%
Lost per job by marking up$16.93
Lost per year by marking up$8,805.33

Computed with the same formulas as the free calculators on this site. Change any input in the calculator above to see your own numbers.

The gap is $32.50, or 23.5% of the first-clean price. That figure is an output of the shorter time, not a discount I picked. Setup and drive stay at 60 minutes.

Single-storey roof: first clean vs repeat visit on a maintained array (assumed inputs)
PanelsFirst clean (3 min a panel)Repeat visit (1.5 min a panel)Repeat visit per panel
10$101.67$85.42$8.54
20$138.33$105.83$5.29
30$175$126.25$4.21
40$211.67$146.67$3.67

For 20 panels, a twice-a-year plan is $138.33 + $105.83 = $244.16 in the first year and 2 × $105.83 = $211.66 after that. Four visits a year is $455.82 in year one and $423.32 after. State on the plan that a skipped visit returns the next one to the first-clean price.

How often an array needs cleaning is not something I can put a number on. NREL's report says the frequency "may be seasonal, depending on local rainfall and dust characteristics" and calls for a local, site-specific cost-benefit analysis of whether routine cleaning is warranted.

Commercial solar panel cleaning cost: when a 2-person crew row makes sense

A second person halves the cleaning time but doubles the paid setup and drive, so a crew costs more on a job one person can finish in a day and the same on a job that would take two. Assumptions: ground mount, 1.5 minutes a panel, 30 minutes of setup, overhead held at $9 per crew-hour.

Large ground-mount arrays: one person vs a 2-person crew (assumed inputs)
JobTime on the clockCrew-hoursPricePrice per panel
200 panels, one person6 h6$473.33$2.37
200 panels, crew of 23 h 30 min7$538.33$2.69
500 panels, one person over 2 days14 h 30 min14.5$1,150.83$2.30
500 panels, crew of 2 in 1 day7 h 15 min14.5$1,150.83$2.30

At 200 panels the crew adds $65: one extra paid hour of setup and drive. At 500 panels one person needs two days, so setup and drive are paid twice either way and both rows reach 14.5 crew-hours and $1,150.83. If a second person works all year, add their costs to overhead and divide by both people's hours before you trust the rate.

Cleaning method, roof access and exclusions: what the price list has to say

Print the method and the exclusions on the list, because both change the time. On method, the NREL report says to follow the module manufacturer's recommendations, and to clean with "plain demineralized water and mild detergent recommended by the manufacturer". It also says: "Do not use high-pressure water, brushes, or any types of solvents, abrasives, or harsh detergents."

Two things follow for pricing. Panels are not a pressure washing job, so do not carry rates across from the pressure washing pricing guide. And NREL's list names brushes, so read the module's installation manual before you fit a brush head to a water-fed pole; the manual and the warranty terms decide what may touch the glass.

Roof access. OSHA's Solar Energy: Falls page says maintenance work on solar panels is generally considered to fall under its general industry standards, and that such workers exposed to fall hazards of 4 feet or more must be protected. The rule itself, 29 CFR 1910.28(b)(1)(i), lists guardrail systems, safety net systems or personal fall protection systems. That is why the two-storey tier carries 45 minutes of setup and the single-storey tier assumes you stay on the ground. I am not a safety professional: confirm what applies to your work with OSHA or your state plan and your insurer.

Exclusions. List these as separate lines, quoted on inspection:

Selling this beside other exterior work? The window cleaning pricing guide prices panes from time the same way, and the gutter cleaning guide works a bundle with one shared setup.

Excel formulas for the price list, and the markup mistake

Layout: B2 = panels, B3 = minutes per panel, B4 = setup minutes, B5 = drive minutes, B6 = workers, B7 = hourly wage, B8 = burden %, B9 = overhead per hour, B10 = consumables per panel, B11 = margin %, B12 = minimum charge.

Hours on the clock

=(B2*B3/B6+B4+B5)/60

B2 = panels, B3 = minutes per panel, B6 = workers, B4 = setup minutes, B5 = drive minutes. Put this in B13.

Job price

=ROUND((B13*B6*(B7*(1+B8)+B9)+B2*B10)/(1-B11),2)

B7 = wage, B8 = burden %, B9 = overhead per hour, B10 = consumables per panel, B11 = margin %. Put this in B14.

Quote with the minimum charge

=MAX(B14,B12)

B12 = minimum charge, the job price of your smallest job. Put this in B15.

Price per panel

=ROUND(B15/B2,2)

The per-panel figure for this array size and access tier.

Visit charge and per-panel price

=ROUND((B4+B5)/60*B6*(B7*(1+B8)+B9)/(1-B11),2)

Visit charge. The per-panel part is =ROUND((B3/60*(B7*(1+B8)+B9)+B10)/(1-B11),2).

Copy the block across for 10, 20, 30 and 40 panels and down for each access tier to rebuild the list.

The mistake: adding 40% to break-even in place of dividing. On the 20-panel job that bills $116.20 and keeps 28.57% of the price, not 40%. It is $22.13 short per job and $11,509.33 a year at an assumed 10 jobs a week. The markup vs margin calculator guide has the conversion chart.

Calculator, spreadsheet or app: what to put on your solar panel cleaning price list

One quote needs only the calculator; a printed list needs a spreadsheet.

Ways to build a solar panel cleaning price list
OptionCostSuits
Free job pricing calculator (window-cleaning defaults)Free, no signupOne job at a time; type in your own hours and consumables
Free Job Pricing Starter spreadsheetFreeLoaded labour, overhead, break-even and margin on one sheet in Excel or Google Sheets
Field-service or quoting appSubscriptionScheduling, invoicing and payments; you still supply the rates
Done-for-you custom job-pricing calculator$497 one-timeYour rates set once, a branded client quote page and a job log, in Excel and Google Sheets

What the price list needs

Reprice when wages, insurance or fuel change.

Step-by-step: Solar Panel Cleaning Price List: Per-Panel Prices Built From Your Own Time and Costs

  1. Time the work by access tier. Record minutes per panel, setup minutes and drive minutes for each access tier.
  2. Turn panels into hours. Hours = (panels × minutes per panel + setup + drive) ÷ 60.
  3. Find break-even per hour. Wage × (1 + burden %), plus yearly overhead ÷ sellable hours.
  4. Cost the job. Hours × workers × break-even per hour, plus consumables per panel.
  5. Apply margin by dividing. Divide break-even by (1 − margin); for 40%, divide by 0.60.
  6. Divide by panels and set the minimum. Price ÷ panels is the per-panel figure. The price of your smallest job is the minimum charge.

Run your own numbers — free

The free calculator does this whole method in about a minute: loaded labour, overhead share, break-even and the price to quote at your margin. No signup, nothing to download, and your numbers stay in your browser.

Open the free calculator →Get the free spreadsheet

Want it built around your own rates, services and branding? Done-for-you custom calculator ($497).

Frequently asked questions

How much should I charge for solar panel cleaning?

Charge the job's break-even divided by one minus your margin. With an assumed $24 wage, 25% burden, $9 of overhead an hour and a 40% margin, each door-to-door hour sells at $65, and 20 panels on a single-storey roof (2 hours, $5 of consumables) price at $138.33. Replace every input with your own.

What is a fair solar panel cleaning cost per panel?

It depends on array size and access, so one per-panel figure misleads. On this page's assumptions a single-storey roof works out at $10.17 a panel for 10 panels and $5.29 for 40. A visit charge of $65 plus $3.67 a panel gives the same totals.

What should my minimum charge be for solar panel cleaning?

Use the computed price of the smallest job you will drive to. For an assumed 10 panels on a single-storey roof, 1.5 hours door to door, that is $101.67 against a break-even of $61. Smaller arrays pay the minimum.

How do I price a twice-a-year solar panel cleaning plan?

Price the repeat visit with the shorter time a maintained array takes. At an assumed 1.5 minutes a panel in place of 3, a 20-panel repeat visit is $105.83. Year one is $138.33 + $105.83 = $244.16; later years are $211.66.

How much does commercial solar panel cleaning cost per panel?

Run the same formula with a crew. On this page's assumptions, 200 ground-mount panels price at $473.33 with one person ($2.37 a panel) or $538.33 with a crew of 2. At 500 panels both come to $1,150.83, or $2.30 a panel.

Can you pressure wash solar panels?

NREL's operation and maintenance best-practices report says not to use high-pressure water, brushes, solvents, abrasives or harsh detergents, and to follow the module manufacturer's cleaning recommendations. Check the installation manual and warranty terms for the specific module before choosing a method.

Is there a free solar panel cleaning price calculator?

Yes. The calculator on this page takes hours, wage, burden, consumables, overhead and margin and shows break-even and the price to quote, with no signup. The free window cleaning calculator runs the same engine with window-cleaning defaults.

Sources

Roger Ramey
By Roger Ramey
I'm not a contractor, landlord or accountant. I build the pricing maths, and every number on this page shows its working so you can check it instead of trusting it. Guides are drafted with AI assistance; every worked figure is computed by the same code as the free calculators. How these guides are made → · Watch the breakdowns on YouTube →
ProSheet Studio · Templates · Guides · Free calculators · Free spreadsheet · Custom build · About · Privacy · Refunds
Pricing maths and templates, not financial, tax or legal advice. Calculators run in your browser; the numbers you type are never sent anywhere.