Home › Blog › Cleaning company operations
Cleaning company operations

Set Up a Janitorial Scheduling App in Seven Steps

By Luna S. · October 21, 2026 · 2:58 PM PT · 7 min read
Operations manager configuring schedules and crew assignments on a computer screen

Most janitorial companies still run schedules from a spreadsheet or a calendar, text crews the address each night, and chase photos to prove the work happened. A janitorial scheduling app puts the schedule, the crew app with GPS check-ins, proof photos and invoicing in one place. Setting one up the right way takes an afternoon, and the steps below walk through exactly what to do.

These instructions assume you bill recurring services monthly or per visit, assign crews to sites, and need proof for each visit.

Step 1: Import customers and sites

Go to Customers and click Import. Download the template spreadsheet. Fill one row per site with customer name, site address, contact name, email and phone. If a customer has three buildings, that is three rows with the same customer name and three different addresses.

Common mistake: listing a customer once and putting multiple addresses in a notes field. The schedule runs per site, so each address needs its own row.

Upload the completed spreadsheet. The system creates customer records and links sites to each one. Check a couple of customers with multiple sites to confirm each address imported as a separate site record.

Step 2: Add door codes and access notes per site

Open a customer record and click into one of their sites. You will see fields for access notes and door code. Access notes might say "Loading dock after 6 p.m., front entrance locked" or "Key in lockbox, code 4781". Door codes go in their own field so the crew app displays them clearly on the job screen.

Work through your active sites and add this detail now. It saves dozens of texts later.

Step 3: Build recurring schedules

Go to Recurring and click New Schedule. Choose the customer and site. Set the cadence: nightly Monday through Friday is five checkboxes, or pick specific days for twice-a-week service, or every Tuesday and Thursday.

Add line items for the tasks: "Clean restrooms and break room, vacuum offices, empty trash". Write crew instructions in the instructions field: "Stack chairs in conference room A, wipe down kitchen counters, check paper towel dispensers".

Assign the crew or crew member responsible for this site. If you rotate crews, assign the primary one now and change it on the schedule when needed.

Set the start date. Once you save the schedule, go back into Recurring and click Generate to create the actual visits. The typical practice is to generate one month ahead and regenerate weekly so upcoming visits stay current.

Repeat for each recurring site. The time investment here is front-loaded, but once the schedules exist, the system generates visits automatically and you stop building each week by hand.

Step 4: Set up the crew app and train check-ins

Crew members download the Dspatch app from the App Store. It is available in English and Spanish. Each crew member logs in with the credentials you create in Crews.

The app shows today's visits for that crew member. They tap a visit to see the address, access notes, door code and instructions. When they arrive on site, they tap Check In. The app records GPS location and time. When the work is done, they tap Check Out, and GPS and time stamp again.

Walk through this process with one crew member at a practice site or your own office. Have them check in, complete a task, then check out. Confirm the check-in time and location appear in Jobs on the office side.

Common mistake: not explaining that check-in is required at the site. Some crews check in from the truck in the parking lot or before they leave the previous job. Set the expectation that GPS proves they were at the building.

This is how to track cleaning crews in real time. If a crew does not check in within 15 minutes of the scheduled start, the office gets an alert under Rules, which we will configure in step six.

Step 5: Add job checklists with photo requirements

Go to Job Checklists and create a template. Name it for the service level: "Office Nightly" or "Medical Suite Deep Clean". Add checklist items as questions or tasks: "Restrooms cleaned and stocked", "Floors vacuumed or mopped", "Trash removed to dumpster".

Mark which items require a photo. Typical practice is to require photos for restrooms, kitchens and any area the client scrutinizes.

Assign the checklist to a customer or to specific sites. When the crew opens that visit in the app, the checklist appears. They cannot mark the visit complete until they answer every item and upload the required photos.

Photos live in the visit record under Jobs, and if you enable the client portal in Settings, the client sees them there along with check-in and check-out times. That combination is proof of service without a second system.

A cleaning crew check in app that requires checklist completion and photos gives the office confidence the work happened as specified, and gives the client transparency they rarely get from a janitorial company.

Step 6: Configure late check-in alerts

Go to Rules and turn on Late Check-In Alert. Set the threshold in minutes: 15 is common. If a crew does not check in within 15 minutes of the scheduled start time, the system sends an alert to the email or phone number you specify.

This catches no-shows, crews running behind, and the occasional visit that was canceled but still generated. The alternative is finding out the next morning when the client calls.

Step 7: Turn on invoicing per visit or billing cycle

Go to Settings, then operations preferences. Choose whether to invoice per visit or combine visits into one invoice per billing cycle.

Per-visit invoicing sends an invoice as soon as the crew marks the job complete. Monthly billing waits until the cycle closes, then combines all completed visits for that customer into one invoice with each visit dated.

Either way, the invoice lists every visit with its date. If you are on a plan that includes card payments through Stripe, the client can pay directly from the invoice or set up automatic payment through the client portal.

Under Rules, turn on automatic charging if you want to charge a saved card as soon as the invoice generates. The client authorizes this in the portal when they save their card details.

Send a test invoice to yourself from a completed visit to confirm line items, dates and payment options appear correctly.

What we see on Dspatch

Janitorial companies that move from spreadsheets to scheduled recurring visits report two changes in the first month. First, fewer missed visits, because the crew app puts tonight's list in front of each crew member with addresses and door codes, and late check-in alerts catch problems early. Second, faster invoicing, because completed visits flow directly to invoices with proof attached, so billing happens the day after service instead of週 after reconciling texts and photos.

Questions operations managers ask about janitorial scheduling apps

Can I assign different crews to the same site on different nights?

Yes. Edit the recurring schedule and change the crew assignment for specific days of the week, or create separate schedules for the same site with different cadences and different crews. The second approach is clearer if you have a nightly crew and a different crew for weekly deep cleans.

What happens if a crew forgets to check out?

The visit stays in "in progress" status in Jobs. You can manually mark it complete from the office, or the crew can check out late from the app. The check-out time stamps whenever they tap it, so if they check out the next morning, that is the time recorded. Cleaning crew communication improves when you make same-night check-out part of the routine.

How do I handle one-off jobs that are not on the recurring schedule?

Go to Jobs and click New Job. Choose the customer and site, add line items and instructions, assign a crew, and set the date. The job appears in the crew app just like a recurring visit, with the same check-in, checklist and photo workflow. One-offs and recurring visits live in the same queue, so nothing gets missed.

Dspatch is a janitorial scheduling app built by operators who run service crews: recurring schedules at any cadence, a crew app with GPS check-ins and checklists, proof photos, a client portal, and invoicing that goes out when the work completes. Commercial cleaning and janitorial companies make up its largest vertical. If you are moving off spreadsheets or out of a system that does not connect schedules to proof to invoicing, join the waitlist or compare pricing for the commercial cleaning plan.

L
Luna S.

Luna writes about the money side of service businesses: pricing, margins, cash flow, owner pay and what the numbers say to do next.

Run the schedules, the proof and the money in one place.

Dspatch keeps every visit on schedule, proves it was done, bills it on time and pays the crew, with Coach Ken reading the numbers alongside you.

Start free trial