← Back to blog
spreadsheetsmaintenancetemplatestracking

Free Landlord Maintenance Tracker Spreadsheet

February 3, 2026·Sam Ralston
Free Landlord Maintenance Tracker Spreadsheet - RentGuard branded blog cover

Maintenance tracking is the thing that bites landlords the hardest. Rent is predictable. Maintenance is chaos. And if you don't track it, things fall through the cracks fast. (If you're just starting out, read about the maintenance mistakes new landlords make so you can skip them.)

I had a tenant wait 23 days for a leaking faucet because I forgot about the request. It was in a text message that I read while driving and never came back to. By the time I followed up, the tenant was furious and the leak had warped the cabinet floor.

That's a $400 repair that would have been $80 if I'd caught it on day 2.

The Spreadsheet Layout

Here's what I use now. One Google Sheet, one tab per year.

Columns: Request Date, Unit, Tenant, Issue Description, Priority (High/Medium/Low), Status (Open/In Progress/Complete), Assigned To, Date Completed, Cost, Notes.

📥 Want this ready to go? Download the free Maintenance Request Log template - pre-built with priority dropdowns, status tracking, cost formulas, and conditional formatting. RentGuard-compatible.

That's 10 columns. It fits on one screen without scrolling sideways.

How I Set Priorities

I keep it simple. Three levels.

High: Water leaks, no heat in winter, no hot water, broken locks, anything that's a health or safety issue. Target: fix within 48 hours.

Medium: Broken appliance, HVAC acting up but still partially working, pest issues. Target: fix within 7 days.

Low: Cosmetic stuff, squeaky doors, loose cabinet handles. Target: fix within 30 days or next turnover.

I use data validation on the Priority column so it's a dropdown. Same for Status. Keeps things consistent.

Conditional Formatting for Aging Requests

This is the key part. I add a hidden column that calculates days open: =IF(H2="", TODAY()-A2, ""). If it's not complete, how many days has it been open?

Then I set conditional formatting. If Priority is High and days open is greater than 2, the row turns red. If Priority is Medium and days open is greater than 7, yellow. Low and greater than 30, orange.

When I open the sheet and see red, I know something needs attention right now.

The Vendor Column

The "Assigned To" column is super helpful. I put the vendor or handyman name there when I dispatch someone.

Over time, this becomes a record of who did what. When my plumber sends an invoice for "kitchen faucet repair," I can match it to a row and confirm the cost. Saves me from overpaying on invoices that are vague.

Cost Tracking

I fill in the Cost column when the work is done. At the end of the year, I can sum up maintenance costs by property. That number goes straight into my tax prep.

I also look at it quarterly to spot trends. If Unit 4 has had $2,800 in repairs in 6 months, maybe that unit needs a bigger investment rather than patch fixes.

Where This Breaks Down

Same problem as rent tracking. You have to check the sheet.

A High priority request sits in your sheet getting more and more red. But if you don't open the sheet for 5 days, it doesn't matter how red it is.

I tried setting calendar reminders to check the sheet. That worked for about a month before I started ignoring them.

The maintenance requests that slip aren't the ones I know about. They're the ones I entered into the sheet and then forgot to follow up on. The sheet has the data. I just didn't look at it.

Getting Alerts Without Switching Software

After the cabinet incident, I wanted something that would yell at me when a maintenance request was aging. Not a full property management platform. Just alerts. I go deeper on this in my post about building a simple maintenance tracking system.

That's the other half of what RentGuard does. It monitors your maintenance tracker spreadsheet and sends you an alert when requests are getting old based on their priority level.

High priority request open for 3 days? You get an email. Medium open for 8 days? Email. You set the thresholds.

Your spreadsheet stays exactly the same. RentGuard just reads it and nudges you when something needs attention.

If you want the free spreadsheet template plus automatic alerts when things go stale, check out descoshop.com.

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 →