← Al Davies, 250 High Street

Short-term rental cleaning tracker in SharePoint

Short answer: keep two lists. One list, "Properties", holds one row per rental unit. A second list, "Turnovers", holds one row per clean: the property, the checkout date, the cleaner, a checklist result, photos and a "Cleaned" Yes/No flag. A lookup column connects each turnover to its property. Two saved views then answer the daily questions: which cleans are coming up, and what is still not done. This guide covers the tracker only. It does not cover any law, tax rule or booking platform rule. The exact names of menus and buttons may differ from what is written here, because Microsoft changes its screens from time to time.

Why turnover cleans get lost

A turnover clean is a short job with a hard deadline. One guest leaves, and the next guest arrives. The cleaner needs to know the property, the time and what to check. The owner needs to know it was done.

Signs this is happening:

A shared list does not clean anything. It gives you one place to look, in the same shape every time, so you can see what is due and what is done.

What you are building

You will build two SharePoint lists on the same site:

If you are new to lists, see "Replace a spreadsheet tracker with a SharePoint list". For a similar tracker built for a cleaning company with many clients, see "Cleaning business job tracker in SharePoint". For overdue highlighting, see "Turn overdue rows red in a SharePoint list". This guide does not repeat those steps.

Keep guest and access data out of the list

Plan this before you build. Our advice, not a Microsoft rule:

  1. Do not type door codes, lockbox codes or Wi-Fi passwords into the list. Keep those in a place built for secrets.
  2. Do not type guest names or guest contact details. Use the checkout date and the property to tell turnovers apart.
  3. Use a short property name, such as "Lake cabin", not a full address.
  4. Decide who can open the site. A view is not security. A view only changes what is shown on the screen, and anyone who can open the list can switch to another view. To control who can open the list, use permissions, and ask your admin which groups to use.

Step 1. Create the "Properties" list

Go to https://www.microsoft365.com and open Lists. Microsoft's help page on creating a list says: "Choose to start a list from scratch." That is the "Blank list" option. It also says: "Add a list Name, Description (optional), and select whether you want the list to appear in the left site navigation." and "When you're finished selecting options, select Create." Name the list "Properties". Microsoft also says: "To add different types of information to the list, select + Add column." Use that to add the columns below.

Set up these columns:

  1. Title (Single line of text). A new list has a Title column, and it is required by default. Use it for the property name, such as "Lake cabin". If you prefer another name, rename the column or turn off the Require setting in the column settings.
  2. Default cleaner (Person). The cleaner you use most for this unit.
  3. Cleaning time needed (Single line of text). A note such as "3 hours".
  4. Checklist notes (Multiple lines of text). The standing instructions for this unit, such as "Check the oven" or "Restock towels". No access codes.
  5. Active (Yes/No). Turn this off when you stop renting a unit, so the row stays for your records but drops out of daily views.

Add one row for each unit.

Step 2. Create the "Turnovers" list

Create a second blank list named "Turnovers" on the same site. Set up these columns:

  1. Title (Single line of text). The Title column is required by default. Use it for the property and date, such as "Lake cabin 2026-10-14". Or rename it, or turn off Require.
  2. Property (Lookup). In the list, 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 "Properties", then pick the Title column as the column to show. Microsoft also says: "Lookup columns should be created and used within the same site." That is why both lists go on one site.
  3. Checkout date (Date and Time, date only). The day the guest leaves. Copy it from your booking.
  4. Cleaner (Person). Who is assigned to the clean.
  5. Status (Choice). Numbered so your order stays: 1 Scheduled, 2 In progress, 3 Done, 4 Problem found. A Choice column sorts by its text, so the number prefix keeps your order.
  6. Checklist result (Choice). Numbered: 1 All items done, 2 Some items missed, 3 Not checked.
  7. Issues found (Multiple lines of text). Damage, missing items or supply needs, in plain words.
  8. Cleaned (Yes/No). Default No. The cleaner or the owner turns it to Yes when the clean is finished. This flag is what lets finished rows drop out of the "due" view.
  9. Completed date (Date and Time, date only). The day the clean was finished.

Photos: open a row and attach the photos to it. One way to start is to attach photos only when something is wrong, and add a "before" and "after" set for a unit you are watching more closely.

Step 3. Log each turnover

Whenever a booking is made, one person adds a row in "Turnovers": the property, the checkout date and the cleaner, with Status "1 Scheduled" and Cleaned "No". After the clean, the cleaner opens the row, sets Checklist result, writes any issues, attaches photos, sets Status to "3 Done", turns Cleaned to Yes and enters the Completed date.

Our advice, not a Microsoft rule: pick one owner for adding rows. When five people add turnovers, the same clean gets entered twice.

Step 4. Build the "Cleans due" view

This view shows cleans coming up that are not done yet. It needs the Cleaned flag, so finished rows leave the view.

  1. Open "Turnovers". Open the view menu and choose "Edit current view" to open the classic view editor. Or create a new view and name it "Cleans due".
  2. Under "Filters", choose "Show items only when the following is true".
  3. Pick Checkout date, then "is less than", and type [Today]+7. Connect a second filter with And: Cleaned is equal to No.
  4. Sort by Checkout date, oldest first. Save.

Microsoft's help page on filtering a view says: "The [Today] keyword works on date-based columns." 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." Its own example is: "To view only items that have changed in the past week, apply the filter Modified is greater than [Today]-7."

A row with a past checkout date and Cleaned still No stays in this view. That is on purpose. Either the clean happened and was not logged, or it was missed. A person has to look.

Step 5. Build the "My cleans" view

  1. In the classic view editor, create a view named "My cleans".
  2. Filter it to show rows where Cleaner is equal to [Me] and Cleaned is equal to No.

The same Microsoft page says [Me] "operates on people-based columns such as Created by, or Modified by." A cleaner who opens this view sees only their own open cleans. Remember that a view is not a lock.

Step 6. Build the "By property" view

Create a view named "By property". Sort by Property, then by Checkout date, newest first. Because Property is a lookup, you can open one unit's rows together and see the history of issues for that unit.

Microsoft's page on lookup columns lists these source column types: "Single line of text," "Number," "Date and Time," and "Lookup (single value)." Choice is not on that list, so show the property Title, as this guide does.

Step 7. Review once a week

Pick one day each week. Open "Cleans due" and go through it.

  1. Past-due rows first. Any row with a past checkout date and Cleaned "No" needs an answer today.
  2. Problems next. Open rows with Status "4 Problem found" and decide who fixes each one.
  3. Supply needs last. Collect the Issues found notes that ask for supplies, and order them in one go.

What to avoid

Honest limits

A SharePoint list records what someone typed. It does not read your booking calendar, so someone has to copy each checkout date into the list. It does not send a cleaner a reminder, and it does not prove a clean was done. A photo and a note on the row are your evidence.

The "Cleans due" view only shows rows when someone opens it. If you want an email before each clean, that takes a separate Power Automate flow. Finally, the list is only as good as the habit. If cleaners do not mark Cleaned, the view is wrong. Start with one unit and one cleaner, fix what does not work, and then add the rest.

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". Bring one example of the problem to a free call.

Tell me what's still manual

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

FAQ

Do I need two lists, or can I use one?

Our advice, not a Microsoft rule: two lists. The properties list holds facts that rarely change. The turnovers list holds one row per clean. One list for both makes you type the same property details many times.

How do I show only the cleans I have not done yet?

Add a Yes/No column named Cleaned, and filter a view to Cleaned equal to No. Without the flag, old rows never leave the view.

Can each cleaner see only their own cleans?

A view can show only a cleaner's rows with the filter Cleaner equal to [Me], but a view is not security. Anyone who can open the list can switch views. To limit who can open the list, use permissions, and ask your admin which groups to use.

Why use numbers in front of the choices?

A Choice column sorts by its text. The number keeps your order, such as 1 Scheduled before 3 Done, in sorted views and in filters you write by hand.

Can I put the door code in a column?

Our advice, not a Microsoft rule: no. Keep access codes out of lists that many people can open.

Sources