For solo and small window cleaning businesses Book the job. Do it. Get paid.

A 2-story house inside and out, the screens and tracks, a skylight nobody can reach. Schedule it, price it from your own list, charge per pane, and get it signed and paid by card, on your phone before you leave the driveway. Card payments run through Stripe; its standard fees apply.

Available on the App Store and Google Play.

Start free

14 days free, no card to start.

Or get the app:

New customer: a pasted text asking to clean about 20 windows and the screens on a 2-story house, with hard water spots on the back sliders, the Fill in from message button, and what it filled in: Sarah Collins, her phone, her Tampa address and the note "Windows, screens, sliding doors — clean about 20 windows inside and out on 2-story house, clean screens, and remove hard water spots from back sliders." OnsiteBoard's Schedule screen on an iPhone: window cleaning jobs in arrival windows, inside and out, outside only, another inside and out, and solar panel cleaning the next morning, with an amber New job button. Choose a template: the window cleaning service list with starting prices. Window cleaning — inside and out $6.50/pane, outside only $3.50/pane, Screen cleaning $3.00/screen, Track and sill cleaning $4.00/window, Hard water spot removal $15.00/window, Second-story surcharge $3.00/window, French / divided-light panes $2.00/pane, Post-construction cleaning $15.00/window, Solar panel cleaning $8.00/panel, Skylight cleaning $25.00/skylight, Sliding door glass $15.00/door, Minimum service charge $150.00.
  • Schedule in time windows
  • 12 window cleaning services, your prices
  • Windows charged per pane
  • Windows and stories on every line
  • Invoices signed and paid by card
  • Reports and what's owed

See it on your phone

Swipe through the screens from the App Store.

App Store screenshot: Priced per pane. Screens and sliders too. Panes, screens and sliders at your rates, counted on one invoice. App Store screenshot: Text the bill. Get paid. They pay by card from your text. Tips included. No card reader. App Store screenshot: Customers pick the time. Share your booking link. They pick an arrival window, you confirm it. App Store screenshot: Still unpaid? Remind in one tap. The balance and a ready reminder text, one tap away. App Store screenshot: Know who’s calling. Before you pick up. Your customers’ names show on incoming calls, even if they’re not in your contacts. App Store screenshot: Bring your customers. And your job history. Export a spreadsheet or CSV from your old software, pick the file, import. App Store screenshot: Same account. Bigger screen. The browser dashboard for the evening at the desk: the week, the quotes, who still owes you.

One day with OnsiteBoard

Five things you already do. Less typing in each of them.

  1. Book.

    Customers pick a day and a window on your booking link. Or paste their text, "24 windows inside and out, 2-story house…": name, phone, address and the job fill in. Either way it lands in the app, and you confirm the booking.

  2. Drive.

    Tap On my way. The status changes, a text to the customer opens with your message already written, and navigation opens to the address.

  3. Do the work.

    Tap Draft: service lines are proposed from your notes as Windows, Stories, Condition and Service, priced from your list. About 20 windows comes in as 40 panes × $6.50.

  4. Sign.

    Hand over the phone. The total sits above the pad, so the customer signs for a number they've seen. Or text the estimate with a deposit to start, and they approve it from the couch.

  5. Get paid.

    Send the invoice by text or email, with your license number on it. The customer pays by card from the link, tip included, and Stripe sends it to your bank. Cash or check? Record it on the job. Card payments run through Stripe; its standard fees apply.

What's in the box

Everything you need. Nothing you don't.

  • Your day, in time windows

    Jobs sit in the arrival windows you set, 8–10, 10–12, and so on, with a reminder before each one.

  • Jobs that come in on their own

    Customers pick a day and a window on your booking link. Or paste their text, and the name, phone, address and job fill in.

  • Window cleaning services, ready to go

    Twelve common jobs to start from, glass per pane and add-ons per window, up to a $150 minimum service charge, each with a starting price you change in Settings.

  • Per pane, counted

    Enter how many and the line works itself out: 40 panes × $6.50 = $260.00. Screens, tracks, skylights and sliding doors count the same way.

  • Windows and stories on every line

    Every service line starts with Windows, Stories, Condition and Service blanks, so the second story and any scratched or fogged glass are on the invoice. Filled in, they print.

  • Your license #

    Enter it once in Settings, under Business info. Your license number prints on every estimate and invoice.

  • Draft from your notes

    Tap Draft and the service lines are proposed from the job's notes as Windows, Stories, Condition and Service. "About 20 windows" becomes 40 panes on a per-pane line. Prices come from your list only; you edit and save.

  • Deposits on estimates

    Ask for a deposit up front, as a percentage or any amount, within your state's limits. Record it, or the customer pays it by card. The invoice counts it as paid. Card payments run through Stripe; its standard fees apply.

  • Signed on your phone or online

    The customer signs on your screen, with the total right above the pad, or approves the estimate from a link.

  • Know who's calling

    On iPhone, a customer's name shows on the incoming call, even if they're not in your phone's contacts.

  • Remind in one tap

    Finished jobs that still owe money show the balance in red on your schedule, with a Remind button that writes the text for you.

  • Paid by card, no reader

    Customers pay the invoice from a link and can add a tip; Stripe sends the money to your bank.

  • Customers and their jobs

    Search by name, street or phone, see every past job, import from a spreadsheet or CSV, export any time.

  • Reports that answer the question

    Revenue collected, tips included, jobs completed, average ticket and what's still owed, by week, month or year.

  • Jobs save without signal

    In the phone app, open your jobs and add new ones in a backyard with no signal; they sync when you're back in range.

Also in there: hourly labor at your rate when a job needs it · one-tap On my way, with a ready-made text and navigation · alerts when a customer books, signs or pays · message templates · a PDF of every estimate and invoice · your trade in Settings, so the service list and the assistant fit window cleaning.

Priced per pane. Screens, tracks and skylights counted too.

A house is forty panes, twenty screens and a slider or two, so each of those lines counts. And the invoice says how many stories you went up.

  1. Count the panes.

    Pick Window cleaning — inside and out, $6.50 a pane with Charge per pane on, or outside only at $3.50. Enter how many: 40 panes × $6.50 = $260.00, worked out as you type. A customer's "window" is usually two panes; Draft counts it that way.

  2. Screens and add-ons per window.

    Screen cleaning $3 a screen; track and sill cleaning $4, hard water spot removal $15 and a second-story surcharge $3, each per window; sliding door glass $15 a door, skylights $25, solar panels $8 a panel. Each line counts its own: 20 screens × $3.00 = $60.00.

  3. Write down the stories and the condition.

    Every line has Windows, Stories, Condition and Service blanks: "Windows: back sliders", "Stories: 2", "Condition: Hard water spots". They print under the line; a blank you leave empty doesn't print.

  4. New builds and small jobs.

    Post-construction cleaning, for paint and stickers left on the glass, starts at $15 a window, and French / divided-light panes at $2 a pane. A $150 minimum service charge is on the list for small jobs.

The invoice counts what you enter. OnsiteBoard doesn't count windows on site: the count is what you or the customer give it. The line reads "panes", so agree with the customer what you're counting before you quote. The minimum is a line you add; the app doesn't raise a small total to it on its own.

Start free trial
A job's services: Window cleaning — inside and out, 40 panes × $6.50, $260.00, with Windows: about 20, Stories: 2 and Service: Inside and out; Screen cleaning, 20 screens × $3.00, $60.00; Sliding door glass, 1 door, $15.00; Hard water spot removal, 1 window, $15.00, with Condition: Hard water spots; a total of $350.00. The job as an estimate: Post-construction cleaning, 16 windows × $15.00, $240.00, with Condition: Paint and stickers left on the glass, an estimate total of $448.00 and a Deposit to start card, $44.80, not received yet, with Change and Record deposit buttons.
Forty panes inside and out, twenty screens and the back sliders, and a new build quoted with a deposit up front.

A Book Online button for your website.

Every account comes with its own booking page. Put the link behind a button on your website, your Google Business Profile, Facebook, Nextdoor or Yelp, and customers send a booking request for a window you're free; you confirm it with one tap.

  • Your windows. The page offers the arrival windows you set in Settings, and nothing else.
  • Only times you're really free. The page reads your schedule, including jobs you put in by hand, so a customer can't book on top of work you already have.
  • Notice you control. Set the earliest day in Settings: one day means a full 24 hours from the moment they book.
  • It lands in the app for you to confirm. Name, phone, address and what they need done, in the arrival window they picked, with an alert on your phone. Tap Confirm booking and the customer gets their confirmation email.
  • Written for your trade. The example in the "What needs fixing?" box follows the trade you picked: "24 windows inside and out, 2-story house".
  • One window, one request. Two people on the page at once can't both take the same window.
<a href="https://onsiteboard.com/book/your-link">Book online</a> Copy your own link from Settings → Your online booking link.
Start free trial
The customer's booking page for Bright Window Co. in Safari: fields for name, phone, email and address, "What needs cleaning?" with the example "24 windows inside and out, 2-story house", and arrival windows for the next days, the booked ones crossed out.

Two small things you'll use every day.

An incoming call on an iPhone showing the customer's name, Jennifer Walsh, under the number, identified by OnsiteBoard.

Know who's calling.

Your customers' names show on incoming calls, even when they're not in your contacts. Pick up knowing it's a customer, not a spam call. iPhone only.

New customer: a pasted text asking to clean about 20 windows and the screens on a 2-story house, with hard water spots on the back sliders, the Fill in from message button, and what it filled in: Sarah Collins, her phone, her Tampa address and the note "Windows, screens, sliding doors — clean about 20 windows inside and out on 2-story house, clean screens, and remove hard water spots from back sliders."

A text becomes the customer.

Paste the message and tap Fill in from message. "24 windows inside and out, 2-story house…" becomes the customer's name, phone and address, with the job in the notes, written up the way a window cleaner would. Check it, save, add the job.

Same account. Bigger screen.

The browser dashboard is for the evening at the desk: the week, the quotes, and who still owes you.

  • Today at a glance. What's on today, what came in this week, what's outstanding.
  • The week as a grid. Your time windows down the side, days across. An empty cell is a free window.
  • Today's stops, in order. The drive between each pair in miles and minutes, and a map, all estimated from the addresses on the jobs. Hand the whole day to Google Maps in one click.
  • Needs attention. Unpaid invoices by age, jobs waiting on a part, and payments and bookings as they come in.

Nothing to install. Same sign-in as the phone. Book jobs, edit customers, send invoices, run reports and export CSV, with a keyboard.

Bring your customers and jobs with you.

Export a customer list or a job history from your old app or spreadsheet, as .xlsx or CSV, and pick it in Customers. A job history comes in too: each past job with its total and payment, so your work history and revenue reports are there from day one. OnsiteBoard works out which kind of file it is and shows you what it found before anything is imported.

It's built not to double anyone up. Every row is matched against the customers you already have — by phone number first, then by name and address. A match only gets its blank details filled in, nothing you typed is overwritten, and a repeat is skipped. Run the same file twice and you get the same customers, not two of each. Everything exports back out any time.

The Import data preview: what OnsiteBoard found in the file, before anything is added.
The Import data preview: what OnsiteBoard found in the file, before anything is added.

One plan. Every feature.

Try all of it free for 14 days. No card needed to start.

OnsiteBoard Pro
$49.99/mo

or $479.00 a year (about $39.92/mo). Save about $120 a year with the yearly plan, compared with paying monthly.

  • Online booking, signatures and payment reminders are in the one plan. No add-ons, no higher tier.
  • 14 days free, no card to start
  • iPhone, Android and the browser dashboard, one account
  • Cancel anytime in your App Store or Google Play settings

Billed through the App Store or Google Play; renews until you cancel. You can start in a browser. The plan itself is bought in the iPhone or Android app. After the trial, without a plan, your jobs, customers and invoices stay viewable and exportable. Creating new work and sending documents by email from OnsiteBoard need a plan. Stripe's card processing fees are separate.

Working out your prices? Use the window cleaning price calculator.

Starting out? How to start a window cleaning business

More on this: Card payments · Online booking · Payment reminders · Import customers · Move your data from another app · Job estimate template

Questions window cleaners ask

Can I charge per window?
Yes, per pane. Window cleaning — inside and out ($6.50) and outside only ($3.50) are on your starting list with Charge per pane on. Enter how many panes and the line is worked out to the cent as you type. The invoice, the PDF and the customer's page read "40 panes × $6.50", or "1 pane" for one. Screens, tracks, skylights, sliding doors and solar panels count the same way, each in its own unit.
Where do I note the stories?
On the service line. Every window cleaning service has Windows, Stories, Condition and Service blanks: "Windows: about 20", "Stories: 2", "Condition: Fogged seal, left side". Filled in, they print under the line on the invoice, the PDF and the customer's page. Left empty, they don't print.
Are the service prices set for me?
They're a starting point. You get twelve common window cleaning services: inside and out at $6.50 a pane, outside only at $3.50 a pane, screens at $3, track and sill cleaning at $4 a window, hard water spot removal at $15 a window, a second-story surcharge at $3 a window, French / divided-light panes at $2 a pane, post-construction cleaning at $15 a window, solar panels at $8 a panel, skylights at $25, sliding door glass at $15 a door and a $150 minimum service charge. Change the names, prices and descriptions in Settings, add your own, or delete what you don't do.
Can I charge a minimum?
Yes, as a line. Minimum service charge, $150, is on your starting list; add it to a small job, or change the amount in Settings. The app doesn't raise a total to the minimum on its own.
Where does my license number go?
Enter it once in Settings, under Business info, in the License # field. It prints on every estimate and invoice, next to your company name and phone. If you don't have one, leave it empty and nothing prints.
Can I charge by the hour?
Yes. Turn on Charge by the hour on a service line and enter the hours and your rate; the line total is worked out to the cent as you type. The hours show under the line on the invoice.
Can I take a deposit before I start?
Yes, on any estimate, say a big house with a lot of glass: 10% of the total, more where your state allows, or any amount. Record it as cash or check, or the customer pays it by card from the estimate link. When the estimate becomes the invoice, the deposit already counts as paid and the customer sees the balance. Some states limit deposits on home improvement work: in California, 10% of the price or $1,000, whichever is less. Check your state's rules before you set one. Card payments run through Stripe; its standard fees apply.
Does it work for other trades?
Yes. You pick your trade when you sign up: appliance repair, auto detailing, boat service, dryer vent cleaning, electrician, garage doors, gutters, handyman, house cleaning, HVAC, irrigation / sprinklers, lawn care, locksmith, pest control, pet waste removal, plumbing, pool service, pressure washing and window cleaning are supported. It sets your starting service list and how the assistant reads customer messages and drafts services. You can change it later in Settings; a service list you've edited stays unless you choose to replace it.
Do I need a card reader?
No. The customer pays from the invoice link, on their own phone or computer, on a Stripe-hosted card form. You never handle the card. Stripe's standard card processing fee applies; OnsiteBoard doesn't add a fee of its own.
Does it work offline?
In the phone app, partly. With no signal you can open your jobs, add a job and change its time; it syncs when you're back in signal. A job's services and parts open with a signal the first time; after that you can change them, and record a cash or check payment on its invoice, without one. The customer's signature, job photos, sending an estimate or invoice, card payments, the assistant (reading a message, drafting services), the map and Street View need a connection, and so does the browser dashboard.
Can I import my customers?
Yes, from a spreadsheet (.xlsx) or a CSV file — export one from your old app and pick it in Customers. OnsiteBoard works out whether the file is a customer list or a job history and tells you what it found before anything is imported. Names, phones, emails and addresses come in. Rows are matched to customers you already have by phone, then by name and address: a match gets its blank fields filled in and nothing overwritten, a repeat is skipped — so importing the same file twice doesn't double anyone.
What about Android?
The Android app is on Google Play, with the same account as the iPhone app and the browser dashboard. One difference: Caller ID is an iPhone feature.
Can my customer pay without an account?
Yes. The invoice link opens in their browser — no app, no sign-up. They sign, add a tip if they want, and pay by card.
What happens after the trial?
Nothing is charged when the trial ends: there is no card on file. You pick monthly or yearly in the app. If you don't, nothing is deleted: your jobs, customers and invoices stay viewable and exportable. Creating new work and sending documents by email from OnsiteBoard need a plan.
Is my data mine? Can I export it?
Yes. Export your customers and your payments as CSV, save or print any estimate or invoice as a PDF, and delete your account from Settings whenever you want.
Do you track my location?
No. The app never asks for it. Drive times between stops are estimated from the addresses on your jobs, and "On my way" and "Arrived" are times you tap yourself.
Can it draft my invoice?
Tap Draft on a job and OnsiteBoard proposes the service lines from the job's notes and your own service templates, each written up as Windows, Stories, Condition and Service. Prices come only from your templates. If your notes give panes, Draft uses them; if they give windows ("about 20 windows"), a per-pane line comes in at two panes a window, 40, and a per-window line at 20. If there's no count, it comes in as 1 and you enter how many. You look it over, change anything, and save.
A customer texted me instead of booking. Do I retype it?
No. Copy the text, open a new customer or job, paste. "24 windows inside and out, 2-story house…" fills in the name, phone, address and the job, the way you'd write it down yourself. Check it and save.

Free window cleaning invoice templateFree window cleaning estimate template

Start with tomorrow's jobs.

Download OnsiteBoard, pick Window cleaning when you sign up, add tomorrow's jobs, and send your first invoice from the driveway. 14 days free, every feature, no card to start.

Start free

14 days free, no card to start.

Or get the app:

Available on the App Store and Google Play.