← Back to blog
google-sheetsautomationspreadsheetslandlord-tips

How to Automate Your Landlord Spreadsheet Without Leaving Google Sheets

February 7, 2026·Sam Ralston
Multiple computer monitors displaying code and data dashboards in a workspace

Your rent tracking spreadsheet does its job. But you're still doing a lot of manual work every month. Copying tabs, checking dates, scanning rows for missed payments.

Google Sheets has built-in tools that can automate a lot of this. No third-party apps. No code (mostly). Just native features you're probably not using yet.

Here's how to make your landlord spreadsheet work harder so you don't have to.

Conditional Formatting for Overdue Rent

This is the easiest win. If you're not using conditional formatting yet, start here.

Select your data range (say, A2 through H20). Go to Format > Conditional formatting. Add a custom formula rule:

=$F2="" combined with =AND($F2="", TODAY()>$D2+5)

Set the format to a red background. Now any row where rent is unpaid and past the 5-day grace period turns red automatically. You don't have to scan row by row. The sheet screams at you.

Add a second rule: =AND($F2="", TODAY()>$D2, TODAY()<=$D2+5) with a yellow background for "in grace period." And =$F2<>"" with green for "paid."

Three rules. Traffic light system. Takes 2 minutes to set up and saves you time every single month.

Data Validation Dropdowns

Free-typing status updates is asking for problems. One month you write "paid." Next month it's "Paid." Then "PAID." Your formulas that count statuses break because Google Sheets treats those as different values.

Fix it with data validation. Select your Status column. Go to Data > Data validation. Choose "List of items" and enter: Not Due, Grace Period, Overdue, Paid.

Now every cell in that column is a dropdown. Consistent data every time. No typos.

Do the same for payment method if you track it: Cash, Check, Venmo, Zelle, Bank Transfer. Consistent data means your summary formulas actually work.

QUERY Formulas for Instant Summaries

This is where things get powerful. The QUERY function lets you pull filtered summaries from your data without manual work.

Want a list of all overdue tenants? On a separate "Dashboard" tab:

=QUERY(January!A1:H20, "SELECT A, B, C, D WHERE F = '' AND D < date '"&TEXT(TODAY()-5,"yyyy-MM-dd")&"'")

That pulls Unit, Tenant, Amount, and Due Date for everyone who hasn't paid and is past the grace period. It updates automatically.

Want total outstanding rent?

=QUERY(January!A2:H20, "SELECT SUM(C) WHERE F = '' LABEL SUM(C) 'Total Outstanding'")

Want a count of paid vs unpaid?

=COUNTIF(January!F2:F20, "<>") for paid. =COUNTIF(January!F2:F20, "") for unpaid.

These formulas live on your dashboard tab and refresh every time you open the sheet. No manual counting.

Automatic Date Formulas

Stop typing due dates manually every month. If rent is always due on the 1st, use a formula.

In your Due Date column: =DATE(YEAR(TODAY()), MONTH(TODAY()), 1)

That always returns the 1st of the current month. Grace period end: =DATE(YEAR(TODAY()), MONTH(TODAY()), 5)

Now when a new month starts, your dates update automatically. One less thing to remember.

Apps Script Triggers for Monthly Tab Creation

If you use monthly tabs (January, February, etc.), you can automate tab creation with a simple Apps Script.

Go to Extensions > Apps Script and paste this:

function createMonthlyTab() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var months = ["January","February","March","April","May","June", "July","August","September","October","November","December"]; var monthName = months[new Date().getMonth()]; if (!ss.getSheetByName(monthName)) { var template = ss.getSheetByName("Template"); var newSheet = template.copyTo(ss); newSheet.setName(monthName); } }

Set a monthly trigger to run this on the 1st. It copies your "Template" tab and names it after the current month. Your headers, formulas, and formatting carry over automatically.

Just make sure you have a tab called "Template" with your standard layout.

Combining It All Together

Here's what a fully automated landlord spreadsheet looks like. You have a Template tab with all your columns, formulas, conditional formatting, and dropdowns pre-built. A monthly trigger copies it on the 1st. Your Dashboard tab uses QUERY formulas to pull summaries from the current month's tab.

The only thing you actually do is fill in the Date Paid column when rent comes in. Everything else is automated.

That's a huge improvement over the fully manual approach. If you're still managing things by hand, check out my guide on managing rental properties with spreadsheets for the full framework.

The One Thing You Can't Automate

Opening the sheet.

All of this automation is great. But conditional formatting only works when you're looking at it. QUERY summaries only help when you pull up the Dashboard tab. Apps Script triggers run in the background, but the results sit in your sheet waiting for you to check.

I had months where everything was perfectly automated and I still missed late payments. Because I didn't open the sheet for 6 days. The formulas were screaming "OVERDUE" the entire time. Nobody was listening.

This is the fundamental limit of spreadsheet automation. The spreadsheet can calculate, format, and organize. But it can't reach out and tap you on the shoulder. For solutions that do, read about conditional notifications in Google Sheets and overdue alert setups.

⚡ Skip the setup: RentGuard monitors your Google Sheet automatically and texts you when rent is overdue. $15/mo. Try it free →

Closing the Gap

That's why I built RentGuard. It's the one piece my automated spreadsheet was missing: the alert layer.

RentGuard connects to your Google Sheet and checks it every day. If rent is overdue past your grace period, you get a text message and an email. Not a notification inside the sheet. An actual message on your phone.

You don't change your spreadsheet. You don't migrate to new software. You keep all the automation you've built and add monitoring on top. It's $15/mo and takes about 5 minutes to connect.

Use everything in this post to make your sheet smarter. Then let RentGuard make sure you never miss what it's telling you.

You can also grab the free rent payment tracker template if you want a head start on the spreadsheet side.

Stop missing late rent payments

RentGuard monitors your Google Sheet and alerts you when rent is overdue or maintenance is aging. No migration. 5 minute setup. 30 days free.

Start Free Monitoring →