# Cleaning business job tracker in SharePoint

> For the full documentation index, see https://250highstreet.com/llms.txt

> Track recurring cleaning jobs, assigned cleaners, supply needs and client complaints in two SharePoint lists instead of scattered spreadsheets.

Replace the spreadsheet with two SharePoint lists: Job sites (client label, site name, cleaner, route day) and Visit log (one row per visit, supply need or complaint, with a status). A view of open complaints per site gets issues to the cleaner before the next visit. Keep door codes and client contact details out.

The two lists are joined by one lookup column, so a cleaner sees what is open before leaving for a site and the office sees what is open everywhere. If lists are new to you, start with "[Replace a spreadsheet tracker with a SharePoint list](/guides/replace-spreadsheet-with-sharepoint-list/)". For complaints on their own, see "[Customer complaints fall through the cracks](/guides/customer-complaints-fall-through-cracks/)". Exact names may differ on your screen. This guide does not cover cleaning business expenses.

## Spreadsheet or list

- Spreadsheet: one sheet, copies drift, no per-person view of open work.
- Lists: one shared place, a saved view for each cleaner, and each complaint attached to its site.

## Columns to copy

Job sites: Title (site name), Frequency, Cleaner, Day, Notes, Active.

Visit log: Title, Site (Lookup), Date, Type, Status, Cleaner, Details.

## One week on the route

Tuesday is the day the cleaner for Client 12 visits the Maple Street office. On Monday at 4:40 PM, Client 12 phones the office: the break room trash was left full. Here is how the week plays out when the tracker is in place.

1.  Monday, 4:45 PM. The person who took the call adds a Visit log row. Title "Trash left full", Site "Maple Street office", Type "3 Complaint", Status "1 Open", Cleaner set to the Tuesday cleaner, and the client's words in Details.
2.  Monday, 4:50 PM. The same person notices the van is short of trash liners. That is a second row: Type "2 Supply need", Title "Liners, 40 gallon".
3.  Tuesday, 7:15 AM. The cleaner opens "My open items" before driving out. The complaint and the supply row are both at the top.
4.  Tuesday, 11:00 AM. After the visit, the cleaner sets the complaint to "2 Done" and adds a line in Details. The liners are bought that afternoon and the supply row is set to "2 Done".
5.  Friday. The office opens "Open by site" and finds nothing left open for Client 12.

Without the tracker, the complaint stays on a voicemail and the cleaner arrives on Tuesday without knowing about it.

## Where client details belong

Your clients trust you with where they live and work, so decide what stays out of the list before you build it. Our advice, not a Microsoft rule: keep door codes, alarm codes and hidden-key spots out of SharePoint, and name each site briefly, such as "Maple Street office", adding a street address only if the list truly needs one. A view is a display choice, not a lock, because anyone with access to the list can pick a different view; permissions are what control who sees the list. Microsoft's help page on customizing permissions for a list or library says "we highly recommend using the built-in SharePoint groups for communication sites" and "managing team site permissions through the associated Microsoft 365 group". It also says breaking inheritance is "not recommended", while "breaking inheritance and setting item level permissions is a supported scenario within reasonable use". Ask your admin which fits your site.

## Two lists, one lookup

Microsoft's help page on creating a list says to choose "Blank list", add a Name, and select "Create". Make both lists on the same site. The first is "Job sites", with one row per site on a route. Its columns:

- Title (Single line of text): the site name.
- Frequency (Choice): 1 Daily, 2 Weekly, 3 Every two weeks, 4 Monthly.
- Cleaner (Person): who holds this site on their route.
- Day (Single line of text): the route day, such as "Tuesday".
- Notes (Multiple lines of text): fixed instructions, such as "Kitchen first". No access codes.
- Active (Yes/No): set its default value to Yes. Turn it off when a client leaves, so the row stays as history.

The second list is "Visit log", with one row per visit, supply need or complaint. Its columns:

- Title (Single line of text): a brief label, such as "Vacuum bags low at Site 7".
- Site (Lookup): select "Add column", then "Lookup". Microsoft's help page says: "Under Select a list as a source, select the source list to get information from." Pick "Job sites", then the Title column to show, then "Save". Microsoft also says: "Lookup columns should be created and used within the same site."
- Date (Date and Time, date only): the day of the event.
- Type (Choice): 1 Visit, 2 Supply need, 3 Complaint.
- Status (Choice): 1 Open, 2 Done, 3 Dropped.
- Cleaner (Person): the cleaner who owns the next step.
- Details (Multiple lines of text): what happened, what the client said, what must be bought.

Because Site is a lookup, grouping or filtering the Visit log by Site shows every supply need and complaint for one client. A new cleaner can read that history before the first visit. A Choice column in "Job sites" could not serve as the lookup source, since Microsoft's lookup page files Choice under "Unsupported column types". That is why the lookup shows the site Title.

## Before the next visit

The point of the Visit log is the handoff from the person who hears something to the cleaner who walks in next. Start by logging only complaints and supply needs; add plain visit rows later if you need proof of service dates.

1.  Whoever hears the complaint adds a row: Type "3 Complaint", Status "1 Open", the site, the date, and the client's words in Details.
2.  Set Cleaner to the person who holds that site, as shown in "Job sites". A complaint with no named cleaner has no owner.
3.  A supply need follows the same path with Type "2 Supply need" and the item in Title. Supplies are bought for several sites at once, so the Site column tells the buyer where each item is going.
4.  Close each row when the job is done: "2 Done", or "3 Dropped" with a reason in Details.

## Two views

Staff need two answers: what is open at each site, and what is open on my route.

View 1: "Open by site"

1.  Open "Visit log". Open the view menu and choose "Edit current view" to open the classic view editor.
2.  Under "Filters", choose "Show items only when the following is true".
3.  Pick Status, then "is not equal to", and type "2 Done". Add a second line with "And", Status "is not equal to" "3 Dropped".
4.  Under "Group by", pick Site. Microsoft's page on views describes Group By as: "Group list and library items by information in the columns." Save the view with the name "Open by site".

Our advice, not a Microsoft rule: use the classic view editor for "is not equal to" filters.

View 2: "My open items"

1.  In the classic view editor, create a view named "My open items".
2.  Filter it to show rows where Cleaner is equal to \[Me\] and Status is "1 Open".

Microsoft's help page on filtering a view says: "There are two keywords that you can use to filter based on the current day \[Today\], or the current user \[Me\]." It also says "It is not possible to use the \[Today\] or \[Me\] filters when filtering using a column header" and "You must use the classic view editor to filter columns using these keywords."

## Checking the route from a phone

Microsoft retired the Lists apps for Android and iOS in mid-November 2025, so cleaners use a phone browser. Bookmark "My open items" on each cleaner's phone during training, and have them open it in the van the first morning. The tap-by-tap route is in "[Microsoft Lists phone app is gone: what to use now](/guides/microsoft-lists-mobile-app-retired/)".

## Weekly sweep

Pick one day each week to open "Open by site" with the person who runs the schedule.

1.  Complaints first. A complaint still "1 Open" needs a cleaner and a next step today.
2.  Supplies next. Group the open supply rows, buy for all sites in one trip, then mark them Done.
3.  Old rows last. Anything open for weeks gets a decision: do it, or mark it Dropped.

Our advice, not a Microsoft rule: choose how many days an open complaint may sit before the business owner sees it, and write that number on the route sheet.

## What to avoid

- Access codes and key hiding places in any column.
- A complaint row with no Cleaner. It will not appear in anyone's "My open items".
- A Details entry such as "unhappy". Quote the client instead.
- One row for a client with two buildings. Give each site its own row in "Job sites".
- Free-typed Status values. They break the filters; use the numbered Choice column.
- Treating a view as a lock. Anyone who can open the list can switch views.
- Two route sheets. On go-live day, archive the old spreadsheets.
- Sharing the site before you check who holds access, because a wide default group may include people who should not see client names.

## Honest limits

Nothing in this build acts by itself. The list stores entries; it will not text a cleaner a route, reorder bleach, or flag a complaint that has sat for a month. Someone must open the views, so the weekly sweep is your safety net.

On lookups, Microsoft says "You have exceeded the List View Lookup Threshold, which by default is twelve lookup columns." Here you create just one lookup column, far below that figure.

The last limit is human. If the crew skips logging, the data goes stale. Begin with one crew and a few sites, correct what breaks, and widen from there.

## When to get help

You can build all of this yourself in Microsoft 365. If you would rather have it built and tested for your team, I do that. A tracker like this is a fixed price: \$5,000 for one, built in 2 weeks. See "[What a SharePoint tracker costs to build](/guides/what-a-sharepoint-tracker-costs/)". Bring one example of the problem to a free call.

I am Al Davies. I run 250 High Street LLC and build SharePoint trackers and Power Automate flows for operations teams. I work remotely. The first call is free, and I will not try to sell you anything.

See trackers I built: [Tools I built](/portfolio/)

## FAQ

### How does a client complaint reach the cleaner before the next visit?

Whoever hears it adds a Visit log row with Type "3 Complaint", Status "1 Open", the site, and the cleaner who owns that route. The cleaner opens "My open items" before leaving for the site. The list does not send the message; a person opens the view.

### Is there a cleaning business spreadsheet template?

Not as a file. Copy the column names under "Columns to copy" into two blank lists. If you would rather start in Excel, the same headers work as a sheet.

### Can each cleaner see only their own sites?

A view filtered on Cleaner equal to \[Me\] shows a cleaner's rows, but it is not security. Anyone who can open the list can switch views. For real limits, ask your admin about list permissions.

### Can the list remind me when a complaint is still open?

Not by itself. Someone opens "Open by site" in the weekly sweep. For an email, see "[Send a reminder before a due date in a SharePoint list](/guides/send-reminder-before-due-date/)".

### What if one client has two sites?

Give each site its own row in "Job sites", with titles such as "Client 31 North" and "Client 31 South". Each site then has its own cleaner, day and history, and grouping by Site keeps the two apart.

## Sources

- [Microsoft Support, Create list relationships by using lookup columns](https://support.microsoft.com/en-us/sharepoint/lists/data-and-lists/create-list-relationships-by-using-lookup-columns)
- [Microsoft Support, Use filtering to modify a SharePoint view](https://support.microsoft.com/en-us/office/use-filtering-to-modify-a-sharepoint-view-3d8efc52-0808-4731-8f9b-3dfaeacea3d4)
- [Microsoft Support, Customize permissions for a SharePoint list or library](https://support.microsoft.com/en-us/sharepoint/lists/sharepoint-sharing-and-permissions/customize-permissions-for-a-sharepoint-list-or-library)
- [Microsoft Support, Create a list](https://support.microsoft.com/en-us/sharepoint/lists/data-and-lists/create-a-list)
- [Microsoft Support, Create, change, or delete a view of a list or library](https://support.microsoft.com/en-us/office/create-change-or-delete-a-view-of-a-list-or-library-27ae65b8-bc5b-4949-b29b-4ee87144a9c9)
- [Microsoft Support, Microsoft Lists mobile apps retirement](https://support.microsoft.com/en-US/SharePoint/lists/microsoft-lists-mobile-apps-retirement)

## Related guides

- [Job costing tracker in SharePoint](/guides/job-costing-tracker-sharepoint/)
- [Short-term rental cleaning tracker in SharePoint](/guides/short-term-rental-cleaning-checklist-tracker/)
- [Moving estimates and booked jobs in one SharePoint tracker](/guides/moving-company-estimate-job-tracker-sharepoint/)

Source: https://250highstreet.com/guides/cleaning-business-job-tracker-sharepoint/
