To keep your rent roll accurate as you grow, stop maintaining it and start generating it. Every rent charge comes from its lease on the lease's own schedule, every payment is recorded against the charge it pays, and the roll is a report you open rather than a sheet you update. A manual rent roll is right on the day it is built and decays from there, one copied row at a time.
You answer for the roll. The owner who asks what a building brought in this month, the lender who asks for a rent roll before a refinance, and the resident who says the balance is wrong all get their answer from the same sheet. At 20 units a wrong row is a conversation you have once. At 300 units it is a pattern, and the sheet looks the same whether it holds three wrong rows or thirty. Nothing on a spreadsheet rent roll says which rows have been checked against a lease.
This is a spoke of Automated Rent Collection: From Charge to Cleared Payment, which covers the whole cycle from scheduled charge to cleared payment. This one covers the roll alone: why a manual rent roll breaks as a portfolio grows, what a rent schedule has to handle, how to check the roll against the leases, and how Scaalr keeps it current without anyone keying it.
Why a manual rent roll breaks at scale
A rent roll is the live list of every tenancy's rent: who owes what, on which cycle, and where each charge stands right now. A manual rent roll is that list kept by hand, usually in a spreadsheet, and usually built each month by copying the previous month's rows forward and editing the ones somebody remembers changed. That construction is the whole problem. Every row inherits last month's answer, and the sheet shows no difference between a row that was checked and a row that was carried. So a lease renewed at a new rent keeps billing at the old one until a comparison catches it, a lease that started on the 14th has no row until the next copy, a lease that ended still has one, and the states that matter most, partially paid, waived, and in dispute, live in the head of whoever took the call.
At 20 units all of this is visible, because one person holds the whole portfolio in memory and checks the sheet against it without noticing. Growth removes that check twice over: the rows multiply, so a wrong one is no longer conspicuous, and the memory that caught it is split across more people or left with one, who becomes the roll's single point of failure. The sheet does not get worse at any one size. It gets worse at every size, and growth is what makes the decay visible.
The table below lists the ways a manual rent roll goes wrong, how each error gets in, and what it costs.
| The failure | How it gets in | What it costs |
|---|---|---|
| The missing row | A new lease, a mid-cycle start, a unit re-let after the sheet was copied | Rent never charged, so never chased |
| The inherited amount | Last month's figure carried forward past a renewal or an increase | Under-billing every month until the row is compared to the lease |
| The flattened schedule | Weekly, biweekly, and late-month due days all keyed as the 1st | Residents chased early or late; the roll disagrees with the lease |
| The month-end charge | A due day the month does not have | A February charge created on the wrong day, or not at all |
| The status in memory | Partial, waived, and disputed states kept in a person's head | The sheet says paid or unpaid when the truth is neither |
| The doubled row | Two editors, or one paste too many | A resident billed twice; a deposit that matches nothing |
| The single editor | One person builds the roll from the bank tab and memory | The roll waits for them; nobody else can produce it |
What a rent schedule has to handle
A rent schedule is the rule that says when each charge falls due, and a rent roll is only as accurate as its handling of the cases that rule produces. Monthly rent due on a fixed day is the common case, and even it has two edges: a due day late in the month that a shorter month does not have, and a lease that starts or ends partway through a cycle. Weekly and biweekly rent falls on a weekday rather than a date, so the number of charges in a month varies, and a sheet built around one row per unit per month has nowhere to put the fifth week. Annual rent and one-time charges sit on the same roll and follow neither pattern.
A manual roll handles these cases by flattening them: everything becomes a monthly row due on the 1st, and the exceptions are remembered. A generated roll reads the lease instead, which carries the amount, the frequency, the due day or weekday, and the currency, and creates each charge from those terms when its date arrives. The short-month rule is the one worth writing down, because it is the one most often improvised: a charge due on a day the month does not have falls due on the month's last day, and never skips the month.
How to check a rent roll against the leases, step by step
Checking a rent roll against the leases is the same seven steps in any system, and the walk finds the errors in the table above in the order they usually hide.
- Fix the as-of date. Take the first day of the cycle, before payments start landing, so the roll and the lease file describe the same moment.
- List every active lease from the lease file. The roll is the thing being checked, so it cannot also be the list you check it against.
- Match each lease to its row. A lease with no row is rent that was never charged. A row with no lease is a tenancy that ended, or a unit never re-let, still being counted.
- Compare the terms on each row to the lease. Amount, frequency, due day, currency, and the residents named. A renewal or an increase that changed the lease and not the row is the commonest miss.
- Trace every open balance to its payments. A balance is a charge minus the payments recorded against it; a balance nobody can trace to a charge is a guess.
- Look for doubled rows. One charge per lease per due date, and no more. A charge keyed twice shows as a resident who owes two months while their ledger shows one.
- Fix the source, then the row. Correct the lease where the lease is wrong, so the row follows it, and record what you changed and when.
Run the walk on every renewal, increase, and move-out as the change happens, and the quarterly pass becomes a confirmation rather than a repair. What is owed and how old it is belongs to a different report, the receivables aging, which A/R Aging Report for Property Managers: How to Read It reads week by week.
How Scaalr keeps the rent roll accurate
In Scaalr the rent roll is generated, not maintained. Every night a background service creates the next rent charge for every active lease due that day, reading the lease's own schedule: five billing frequencies (monthly, weekly, biweekly, annual, and one-time), with monthly charges firing on the chosen due day and weekly and biweekly charges on the chosen weekday. A monthly lease due on the 31st bills on the last day of a shorter month, so February is never skipped. Each new charge inherits the lease's amount, currency, and residents, and generation is duplicate-proof: a charge that already exists for that lease and date is never created again, with a database-level safeguard against double-billing even when more than one server runs the sweep. Nobody keys the month in: the rows that used to be copied forward are created from their source instead.
The roll itself is a working surface rather than a sheet: tabs filter it to Active, Overdue, Paid, In Dispute, Closed, and All, with narrower cuts beneath them, and every charge carries one of eleven color-coded statuses. Each charge links to its lease, its unit, and its residents, and opens to a detail page with a Payments tab showing running totals and the outstanding balance. A charge's status stays in sync with its lease, a recorded payment moves the charge to Partially Paid or Paid with the staff member who recorded it on the history, and a one-click action flips any fully paid charge still showing open to Paid. A nightly sweep flags charges more than three days past due as Overdue and emails the residents on them a branded notice, so the overdue tab is a list the system keeps rather than one a person compiles. A card payment on the rent invoice link posts its entry and attaches to the matching open charge, the leg that Can Tenants Pay Rent by Credit Card? Yes, No Portal Needed covers.
When the rent changes, the roll follows the lease. Editing a lease's rent records the old and the new amount on the lease's activity history, and the next charge reads the new figure. A renewal pre-fills the prior lease's terms and residents and starts the day after the old term ends, and a scheduled rent increase moves the lease's rent to the noticed amount on its effective date where the lease is set to apply increases automatically (automated rent-increase notices are Growth and up), both covered in Lease Renewals and Rent Increases: Workflow and Paper Trail. Charge generation and the rent roll are part of every plan, including Starter.
Key questions
How often should a rent roll be updated?
Every time a lease changes and every time a payment lands, which is why a roll kept by hand is always behind. Monthly is the floor most guides quote, and a monthly update is the copy-forward routine that lets a renewal or a move-out go unrecorded for weeks. A generated roll needs no update cycle: each charge appears on its due date from the lease, and each payment changes the charge it pays.
What should a rent roll include?
One row per rent charge, carrying the property and unit, the residents on the lease, the lease's start and end dates, the amount and its currency, the frequency and due day, the charge's status, and the balance still open against it. A roll that carries one row per unit instead of one per charge can show a tenancy, but it cannot show a month.
What is the difference between a rent roll and a rent ledger?
A rent roll is the portfolio's list for now: every tenancy, what it owes on which cycle, and where each charge stands. A rent ledger is one tenancy's history: every charge and every payment, in order, down to the current balance. The roll answers who has not paid this month; the ledger answers how a resident's balance got to where it is.
Can I keep my rent roll in a spreadsheet?
Yes, at a handful of units, with one row per charge, a status on every row, and a rule that no row is copied forward without being checked against its lease. The sheet breaks when the rows outgrow the memory that checks them, which depends on the unit count and on how many people edit it, not on the spreadsheet. Past that point the roll has to be generated from the leases rather than maintained.
What if rent is due on the 31st and the month is shorter?
The charge falls due on the last day of that month: the 30th in a 30-day month, the 28th or the 29th in February, and back on the 31st when the month has one. The lease still says the 31st, so nothing is edited, and the charge is never skipped. In Scaalr that rule runs on every monthly lease whose due day the month does not have.
Which Scaalr plan includes the rent roll?
All of them, including Starter. Charge generation, the rent roll, payment recording, and the accounting behind every move are part of every plan; Starter is free for the first 5 units, then $0.99 a unit a month. Growth, at $99 a month for the first 50 units and then $1.49 per additional unit, adds invoice emailing and online card payment.