Skip to content
ArumSoft Learning
KO
    Excel templateReal estate

    Tenant Rent Roll and Security Deposit Ledger for Excel

    A rent roll answers three questions every month: who owes what, which leases end soon, and how much deposit money you are holding for whom. This workbook keeps a unit register, logs every payment with a late flag, works out each unit's balance from rent charged versus received, warns about leases inside your renewal window, and keeps a security deposit ledger that must reconcile to the Units tab, line by line.

    Sheets:
    6
    Works with:
    Excel for Microsoft 365, Excel 2016 or later, Excel for Mac and Excel for the web
    Updated:

    Tenant Rent Roll and Security Deposit Ledger.xlsx

    Excel workbook (.xlsx) · 48 KB · 6 sheets

    Download template

    Free to download. No sign-up needed.

    What you can do with it

    • Per-unit balance due from rent charged vs received, with Paid / Due / Late for the report month
    • Lease status: Current, Expiring soon, Expired, with days to lease end
    • Late fees and collection rate for the month
    • A security deposit ledger (received, deductions, refunds) reconciled to the unit list
    Start Here sheet of the rent roll Excel template showing the report month and settings, occupancy, scheduled and collected rent, balances due, late fees, lease expirations, deposits held and a balance-due-by-unit chart
    The Start Here sheet with the three sample properties (14 units) that come in the file.

    What's inside

    The workbook has 6 sheets. You only type on a few of them; the rest calculate.

    SheetWhat it's forYou enterCalculated for you
    Start HereSettings and the monthly summaryReport month, grace period, late fee, lease-expiry warning daysUnits, occupancy, scheduled rent, collected, collection rate, balances, late fees, expiring and expired leases, next expiry, deposits held and reconciled, deductions and refunds
    UnitsOne row per unit (40)Property, unit, tenant, lease dates, rent, deposit, statusRent charged and received, balance due, lease status, days to lease end, this month's status
    PaymentsEvery receipt (300)Date, property, unit, type, amount, method, memoMonth, late flag
    DepositsDeposit ledger (100) and reconciliationDate, property, unit, tenant, type, amount, memoLedger balance per unit vs the Units tab, match flag
    ListsDropdownsProperties, statuses, payment types, methods, deposit typesNothing
    ChecksSix data checksNothingOK or Review

    Before you start

    • List every unit with its current lease: start, end, rent and the deposit you hold.
    • Decide the ledger start month. The sample counts rent charged from June 2026; change DATE(2026,6,1) on the Units tab to your own start.
    • Have your deposit escrow statement handy so the ledger can be reconciled from day one.

    Step-by-step guide

    1. Set the report month

      Start Here B6, the first day of the month. Rent collected, collection rate and the per-unit "This month" status are for that month. B7–B9 set the grace period, late fee and expiry warning window.

    2. Register units

      Units tab: property (dropdown), unit, tenant, lease start and end, monthly rent, deposit held, status. Vacant units have no tenant and no deposit.

    3. Log payments

      Payments tab: date, property, unit, type (Rent, Late fee, …), amount, method. The month and the late flag calculate; a rent payment dated after the 1st plus the grace period is late.

    4. Keep the deposit ledger

      Deposits tab: every deposit received (positive), deduction or refund (negative). The reconciliation on the right compares each unit's ledger balance with the deposit on the Units tab.

    5. Review the Units tab

      Balance due is rent charged since the ledger start minus rent received. Lease status flags leases inside the warning window and leases already past their end.

    6. Read Start Here and the Checks

      Occupancy, collection rate, balances, late fees, expirations, deposits held and whether they reconcile. The Checks tab catches ledger mismatches, payments for unknown units, incomplete unit rows, overpayments, expired leases still marked Occupied, and a report month that is not the 1st.

    Formula map

    Every formula in the workbook, grouped by the sheet and column it lives in. A column of copied formulas counts once; the range it covers is shown.

    SheetCellsFunctionsWhat it computesReadsFeeds
    UnitsI5 copied down to row 44IF, OR, MAX, YEAR, DATE, MONTHRent charged since the ledger startD5, F5Balance due subtracts rent received.
    UnitsJ5 copied down to row 44IF, OR, SUMIFSRent receivedA5, B5Balance due = charged − received.
    UnitsL5 copied down to row 44IF, ORLease statusE5Counted on Start Here B22 and B23; colored by conditional formatting.
    UnitsN5 copied down to row 44IF, OR, SUMIFS, DAY, TODAYThis monthA5, B5, F5A live view for the current month.
    PaymentsI5 copied down to row 304IF, OR, DAYLate flagA5, D5Highlighted amber; use it to decide which late fees to charge.
    DepositsK5 copied down to row 44IF, SUMIFSLedger balance per unitI5, J5Compared with the deposit on the Units tab in column M.
    DepositsM5 copied down to row 44IF, ABSMatch?K5, L5Any No is flagged on the Checks tab.
    Start HereB17SUMIFSRent collected this monthB6Collection rate divides it by scheduled rent.
    Start HereB24IFERROR, INDEX, MATCH, MINIFS, TEXTNext lease to expireB6A one-line prompt for renewals.
    ChecksB6IF, SUMPRODUCT, IFERROR, COUNTIFSEvery payment belongs to a listed unit—A typo in a unit number would otherwise make a tenant look delinquent.

    Every formula, explained

    Each formula below is copied straight from the file, so what you read here is exactly what the cell contains. Click any cell in Excel to see it in the formula bar.

    Rent charged since the ledger startUnits!I5 · copied down to row 44
    =IF(OR(B5="", C5=""), "",
        F5*MAX(0, (YEAR('Start Here'!$B$6)-YEAR(MAX(D5, DATE(2026, 6, 1))))*12+MONTH('Start Here'!$B$6)-MONTH(MAX(D5, DATE(2026, 6, 1)))+1))

    Monthly rent times the number of whole months from the later of the lease start and the ledger start (June 2026) through the report month.

    Piece by piece

    MAX(D5, DATE(2026,6,1))
    Later of lease start and ledger start.
    (YEAR('Start Here'!$B$6)-YEAR(…))*12+MONTH('Start Here'!$B$6)-MONTH(…)+1
    Months between, inclusive.
    MAX(0, …)
    Never negative for a lease starting after the report month.
    F5*…
    Rent × months.

    With the sample data: D5 = Jun 1, 2025, F5 = 1,650 → I5 result 9,900

    How it is used: Balance due subtracts rent received.

    How to change it: Change DATE(2026,6,1) to your own ledger start month.

    Learn this: Text and Date Functions in Excel →
    Rent receivedUnits!J5 · copied down to row 44
    =IF(OR(B5="", C5=""), "",
        SUMIFS(Payments!$E$5:$E$304,
        Payments!$B$5:$B$304, A5,
        Payments!$C$5:$C$304, B5,
        Payments!$D$5:$D$304, "Rent"))

    Adds rent payments (type Rent) for this property and unit.

    Piece by piece

    Payments!$E$5:$E$304
    Amounts.
    Payments!$B$5:$B$304, A5
    Property matches.
    Payments!$C$5:$C$304, B5
    Unit matches.
    Payments!$D$5:$D$304, "Rent"
    Rent only; late fees are tracked separately.

    With the sample data: A5 = Maple Court, B5 = 101 → J5 result 9,900

    How it is used: Balance due = charged − received.

    How to change it: Nothing to change.

    Learn this: How to Use SUMIF and SUMIFS in Excel →
    Lease statusUnits!L5 · copied down to row 44
    =IF(OR(B5="", C5=""), "",
        IF(E5="", "No end date",
        IF(E5<'Start Here'!$B$6, "Expired", IF(E5-'Start Here'!$B$6<='Start Here'!$B$9, "Expiring soon", "Current"))))

    Expired when the lease end is before the report month; Expiring soon when it ends within the warning window; Current otherwise; No end date if blank.

    Piece by piece

    E5=""
    No end date entered.
    E5<'Start Here'!$B$6
    Ended before the report month.
    E5-'Start Here'!$B$6<='Start Here'!$B$9
    Ends within the warning window.

    With the sample data: E5 = May 31, 2026 → L5 result Expired

    How it is used: Counted on Start Here B22 and B23; colored by conditional formatting.

    How to change it: Change the warning window on Start Here B9.

    Learn this: How to Use the IF Function in Excel →
    This monthUnits!N5 · copied down to row 44
    =IF(OR(B5="", C5=""), "",
        IF(SUMIFS(Payments!$E$5:$E$304, Payments!$B$5:$B$304, A5, Payments!$C$5:$C$304, B5, Payments!$D$5:$D$304, "Rent", Payments!$H$5:$H$304, 'Start Here'!$B$6)>=F5,
        "Paid", IF(DAY(TODAY())>'Start Here'!$B$7+1, "Late", "Due")))

    Paid when rent received for the report month covers the rent; otherwise Late if today is past the grace period, Due if not.

    Piece by piece

    SUMIFS(Payments!$E…, …, Payments!$H$5:$H$304, 'Start Here'!$B$6)
    Rent received dated in the report month.
    >=F5
    Covers the monthly rent.
    DAY(TODAY())>'Start Here'!$B$7+1
    Past the grace period today.

    With the sample data: A5 = Maple Court, B5 = 101, F5 = 1,650 → N5 result Paid

    How it is used: A live view for the current month.

    How to change it: Nothing to change.

    Learn this: How to Use TODAY and NOW in Excel →
    Late flagPayments!I5 · copied down to row 304
    =IF(OR(A5="", D5<>"Rent"),
        "", IF(DAY(A5)>'Start Here'!$B$7+1,
        "Late", ""))

    A rent payment dated after the 1st plus the grace period.

    Piece by piece

    D5<>"Rent"
    Only rent payments are tested.
    DAY(A5)>'Start Here'!$B$7+1
    Day of the month beyond the grace period.

    With the sample data: A5 = Jun 2, 2026, D5 = Rent → I5 result —

    How it is used: Highlighted amber; use it to decide which late fees to charge.

    How to change it: Nothing to change.

    Learn this: How to Use the IF Function in Excel →
    Ledger balance per unitDeposits!K5 · copied down to row 44
    =IF(J5="", "", SUMIFS($F$5:$F$104,
        $B$5:$B$104, I5, $C$5:$C$104,
        J5))

    Adds every deposit movement for the property and unit: receipts positive, deductions and refunds negative.

    Piece by piece

    $F$5:$F$104
    Amounts.
    $B$5:$B$104, I5
    Property matches.
    $C$5:$C$104, J5
    Unit matches.

    With the sample data: I5 = Maple Court, J5 = 101 → K5 result 1,650

    How it is used: Compared with the deposit on the Units tab in column M.

    How to change it: Nothing to change.

    Learn this: How to Use SUMIF and SUMIFS in Excel →
    Match?Deposits!M5 · copied down to row 44
    =IF(J5="", "", IF(ABS(K5-L5)<0.005, "Yes", "No"))

    Yes when the ledger balance equals the deposit on the Units tab to the cent.

    Piece by piece

    ABS(K5-L5)<0.005
    Difference smaller than half a cent.

    With the sample data: K5 = 1,650, L5 = 1,650 → M5 result Yes

    How it is used: Any No is flagged on the Checks tab.

    How to change it: Nothing to change.

    Learn this: How to Use the IF Function in Excel →
    Rent collected this monthStart Here!B17
    =SUMIFS(Payments!$E$5:$E$304,
            Payments!$D$5:$D$304, "Rent",
            Payments!$H$5:$H$304, B6)

    Rent payments whose month equals the report month.

    Piece by piece

    Payments!$D$5:$D$304, "Rent"
    Rent only.
    Payments!$H$5:$H$304, B6
    Payment month = report month.

    With the sample data: B6 = Nov 1, 2026 → B17 result 21,950

    How it is used: Collection rate divides it by scheduled rent.

    How to change it: Nothing to change.

    Learn this: How to Use SUMIF and SUMIFS in Excel →
    Next lease to expireStart Here!B24
    =IFERROR(INDEX(Units!$C$5:$C$44,
             MATCH(MINIFS(Units!$E$5:$E$44, Units!$E$5:$E$44, ">="&B6), Units!$E$5:$E$44, 0))&" ("&TEXT(MINIFS(Units!$E$5:$E$44, Units!$E$5:$E$44, ">="&B6),
             "mmm d")&")", "")

    The earliest lease end on or after the report month, with the tenant name and the date joined into one label.

    Piece by piece

    MINIFS(Units!$E$5:$E$44, Units!$E$5:$E$44, ">="&B6)
    Earliest end date not yet passed.
    MATCH(…, Units!$E$5:$E$44, 0) → INDEX(Units!$C…)
    The tenant on that row.
    TEXT(…, "mmm d")
    The date as text.
    &" ("&…&")"
    Joined.

    With the sample data: B6 = Nov 1, 2026 → B24 result Avery Chen (Nov 30)

    How it is used: A one-line prompt for renewals.

    How to change it: Nothing to change.

    Learn this: How to Use MIN and MAX in Excel →
    Every payment belongs to a listed unitChecks!B6
    =IF(SUMPRODUCT((Payments!$A$5:$A$304<>"")*IFERROR(COUNTIFS(Units!$A$5:$A$44, Payments!$B$5:$B$304, Units!$B$5:$B$44, Payments!$C$5:$C$304)=0, 1))=0,
        "OK", "Review")

    For each payment, counts Units rows with the same property and unit; zero means the payment cannot be matched.

    Piece by piece

    COUNTIFS(Units!$A…, Payments!$B…, Units!$B…, Payments!$C…)
    Matching units per payment.
    =0
    None found.
    SUMPRODUCT((Payments!$A…<>"")*IFERROR(…, 1))=0
    No unmatched payments.

    With the sample data: B6 result OK

    How it is used: A typo in a unit number would otherwise make a tenant look delinquent.

    How to change it: Nothing to change.

    Learn this: How to Use COUNTIF and COUNTIFS in Excel →

    Tips and limits

    • Capacity: 40 units, 300 payments, 100 deposit entries. Extend with Ctrl+H ($44, $304, $104).
    • Start the file in the month your records are clean. Balances carried in from before the ledger start can be entered as a one-off "Rent" payment of the prior balance owed (negative) or by adjusting the start date.
    • Reconcile the deposit ledger with the escrow bank statement monthly. The Difference line on Start Here should read zero.
    • When a tenant moves out, log the deduction and the refund on the Deposits tab, then set the unit to Vacant and clear the deposit on the Units tab so the reconciliation still matches.
    • The "This month" column uses TODAY(), so opening the file on the 3rd shows Due and on the 9th shows Late for the same unpaid unit.

    Learn the skills behind this template

    Was this guide helpful? Spot a mistake? Send feedback · admin@arumsoft.com