Free tool
Lease expiry check
Your next deal is already in your lease book, with a date on it. Paste the list you keep and get the calls to make over the next twelve months: who is 12 months out, who is 6, who you should have called already.
Runs entirely in your browser. The list is never uploaded, and nothing is stored.
| Call on | Milestone | Tenant | SF | Expiry |
|---|
Want the reminders to arrive on their own, every Monday, and the follow-ups logged when you make the call? Frontage runs this sweep on the list you import, and the import reads your headers the same way. Start free, 50 leases on the free plan.
Why five milestones, not one
The common mistake is a single reminder at ninety days. By then a tenant with any sophistication has already engaged someone. The conversation you want happens far earlier, and it is a different conversation each time:
| Months out | The call |
|---|---|
| 18 | Nothing to sell. Ask how the space is working, whether headcount is moving. You are establishing that you exist before anyone is selling anything. |
| 12 | The real one. Renewal economics, what the market has done, whether staying is obviously right. This is where deals are won. |
| 9 | If they are moving, requirements firm up now. Bring two or three options unasked. |
| 6 | The landlord side heats up. If you represent the tenant, leverage is at its peak here. |
| 3 | Either you are in the deal or you are not. Use this one to find out who is. |
Each milestone fires once. A lease marked expired, renewed or terminated drops out of the sweep, otherwise you spend your Mondays dismissing reminders for deals that are dead, and within a month you stop reading them.
How to use it
- One list, every lease you know about. Not just your own deals: deals you lost, buildings you toured, expiries a landlord mentioned in passing. Six columns are enough: tenant, building, suite, square feet, expiry date, and whether the date is confirmed or estimated.
- Paste it here. Copy the cells from Excel or Google Sheets, headers included, or open a CSV. The check matches columns by their names and lets you correct it.
- Keep the estimates. “Signed around 2021, probably five years” is a workable lead. Enter the year, or a month and year; the check reads it as the end of that period and marks it as an estimate so you never quote it as fact.
- Work the calendar. Anything under Call now is a milestone that has already passed on a live lease. The rest is grouped by the month the call falls in. Copy it, download it, or print it for the Monday list.
- Write down what came back. “Renewing, not interested” is as valuable as a live lead: it removes a name from next quarter’s list and tells you something about that landlord’s terms.
What this is worth
Take a broker tracking 200 leases on five-year average terms. Roughly 40 come up each year. If the 12-month conversation converts even one in ten into a mandate that would otherwise have gone elsewhere, that is four extra deals a year, from a list you already had. The spreadsheet version works; it fails on the reminder, because nobody reliably checks a date column every Monday for three years.
Questions
Is my lease list uploaded anywhere?
No. The page reads the text you paste or the file you open inside your browser and never sends it. There is no account, no request and nothing stored; close the tab and it is gone.
Which milestones does it use?
Calls 18, 12, 9, 6 and 3 months before each expiry, each once, and you choose which ones. The 12-month call is where renewal economics are decided; by 3 months a tenant with any sophistication has already engaged someone.
What if I only know the year a lease ends?
Enter the year, or the month and year. The check reads it as the end of that period and marks the lease as an estimate, so you keep it in the sweep without quoting the date to anyone as fact.
What file formats work?
Paste cells straight from Excel or Google Sheets, or open a CSV or tab-separated file. Column headers are matched by name (tenant, address, suite, SF, expiry, status), and you can correct the match.
The same sweep runs inside Frontage, where the reminders arrive by email and in a follow-ups queue, and the import reads your headers the same way. This page is the check on its own: no account, no upload. Last updated 19 September 2026.