End-of-month rent reconciliation is one of the most frustrating parts of being a landlord. You have 20 tenants. Some paid in full on the 1st. Some paid half. Some sent money to the wrong number. One is two months behind. Figuring out who owes what requires going through WhatsApp, M-Pesa statements, and a spreadsheet that may or may not be up to date.
This happens because most landlords track rent as a monthly reset — they start fresh each month rather than running a continuous ledger. A running ledger solves this.
What Is a Running Tenant Ledger?
A running tenant ledger is a record of every transaction per tenant — payments received, rent charged, and the running balance. Instead of asking "did this tenant pay this month?", you can ask "what does this tenant owe right now?" and get an immediate answer at any point in the month.
The balance is always current because it accumulates over time rather than resetting.
Why Landlords Use Monthly Resets Instead
The monthly reset approach is intuitive — rent is a monthly charge, so you track it monthly. You create a new sheet for May, add all tenant names, enter expected rent amounts, then fill in payments as they arrive.
The problem: once a tenant falls behind, the debt from previous months gets lost. If Kamau paid KES 5,000 of KES 8,000 in April, and you start a fresh May sheet, you have to manually carry forward that KES 3,000 balance. If you forget, Kamau's arrears disappear from your records.
How to Set Up a Running Ledger in a Spreadsheet
If you are using a spreadsheet, structure it like a bank statement — one row per transaction, not one row per tenant per month.
Columns: - Date - Tenant name - Unit number - Description (e.g., "May 2026 rent", "Partial payment", "Arrears from April") - Debit (amount charged) - Credit (amount received) - Balance (running total per tenant)
Each month, add a new "rent charged" row for each tenant. When a payment comes in, add a credit row. The balance column shows exactly what each tenant owes at any moment.
This approach handles partial payments, arrears, overpayments, and deposits correctly — because every transaction is its own row.
The Shortcut: Filter by Tenant
The most useful feature of a running ledger is filtering. Filter by tenant name and you see their complete payment history — every payment, every month, with the running balance. This is the record you need for a dispute or a deposit deduction calculation.
Common Problems a Running Ledger Solves
**"I don't know who is behind on rent"** — filter the balance column for values above zero.
**"A tenant claims they paid but I can't find it"** — search the spreadsheet by date and amount.
**"I don't know how much the deposit covers"** — the ledger shows the total outstanding balance, which you compare against the deposit amount.
**"My month-end reconciliation takes hours"** — with a running ledger, reconciliation is just checking that every M-Pesa payment in your statement has a matching credit row.
What to Do With Arrears
Every landlord has at least one tenant who is persistently behind. In a monthly reset system, arrears get mentally "forgiven" every time you start a new sheet. In a running ledger, they accumulate visibly — which is important for two reasons.
First, you can see when a tenant's arrears are growing into a serious problem rather than noticing it too late. Second, if you need to recover a deposit or pursue a tenant after they leave, you have a documented record of every amount owed and every payment received.
Using Software Instead of Spreadsheets
KodiBase maintains a running ledger automatically. Every payment a tenant submits through their portal creates a credit entry. Monthly rent charges are generated automatically based on each tenant's rent amount and due date. The balance column is always current.
The practical difference: you do not need to manually enter payments, carry forward balances, or do month-end reconciliations. You open the ledger view and see every tenant's current balance in one place.