Back to BlogIndustry Guides

Lease Management Software: Renewals, Rent Increases and Expiry Alerts

Rupak Amin

Founder & Lead Engineer, RAITHub

12 min read

Lease management software needs nine core features: lease records, terms and clauses, rent schedules with escalations, renewals and notices, deposits, e-signature, document storage, expiry alerts and reporting. The hard part is the time-driven work, such as a rent increase or a notice deadline that falls on a date nobody is watching. Commercial leases add more clauses, service charges and lease-accounting data.

If you would rather have it built for you, see how RAITHub would build this below.

What features does lease management software need?

A lease is a contract with a calendar attached. Every feature below exists either to store what the contract says or to act on a date it sets. Most failures in lease tools come from the second group: dates kept in a spreadsheet column, not in a job that runs.

FeatureWhat it stores or doesWhat goes wrong without it
Lease recordParties, unit, start and end dates, status (draft, active, renewing, ending, ended)Two "current" leases on one unit; nobody knows which is binding
Terms and clausesStructured fields for break clauses, notice periods, permitted use, pet or subletting rulesClauses live only in a PDF, so no rule can act on them
Rent schedule and escalationsAmount, frequency, due day, and each future increase (fixed, stepped or index-linked)Rent increases are missed for a year, or applied twice
Renewals and noticesRenewal options, notice windows, generated notices with a sent dateA notice goes out a day late and the option or deadline is lost
DepositsAmount held, where it is held, deductions, return dateDisputes at move-out with no record to settle them
E-signatureSigning workflow and a signed, timestamped copyPrinted, scanned and emailed leases with no version history
Document storageThe lease, addenda, inspection reports and notices, linked to the lease recordThe addendum that changed the rent is in someone's inbox
AlertsScheduled reminders for expiry, renewal windows, escalations and insurance certificatesDates depend on someone remembering them
ReportingRent roll, expiry schedule, arrears, and data exportsOwners and accountants rebuild the numbers by hand every month

Tenant-facing features such as online rent payment and maintenance requests sit next to these. They are covered in tenant portal app features and online rent collection systems.

How should software handle lease renewals and expiry alerts?

Treat renewal as a state the lease moves through, not a note on the record. An active lease enters "renewing" when its notice window opens, and it leaves that state with a recorded outcome: renewed on new terms, ended, or rolled onto a periodic (month-to-month) tenancy where local law allows that.

Alerts then come from the lease's own dates. The rule we use: a scheduled job computes what is due, writes one row per notice, and refuses to write the same notice twice. That makes the job safe to rerun after a failed night, which matters because nobody watches a job at 2 a.m. PropDesk, the property-management platform RAITHub built, runs 5 daily automation jobs inside a codebase with 1,024 automated tests; the SQL below is a simplified illustration of the pattern, not PropDesk's code.

-- Run daily. Creates renewal-window notices due in the next 30 days.
-- The unique key makes a rerun harmless: no duplicate notices.
CREATE UNIQUE INDEX IF NOT EXISTS lease_notices_once
  ON lease_notices (lease_id, kind, due_on);

INSERT INTO lease_notices (lease_id, kind, due_on)
SELECT l.id, 'renewal_window', l.end_date - l.notice_days
FROM leases l
WHERE l.status = 'active'
  AND l.end_date - l.notice_days <= CURRENT_DATE + 30
ON CONFLICT (lease_id, kind, due_on) DO NOTHING;

Sending is a second step that reads unsent rows, sends each one, and stamps a sent time. Splitting "decide" from "send" means a failed email provider delays notices instead of losing them, and the sent time is your evidence if a tenant later says no notice arrived.

How do you model rent increases and escalation clauses?

Store the escalation rule as data, then generate the future rent schedule from it. Three kinds cover most leases: a fixed percentage each year, a fixed amount each year, and an increase linked to a price index, sometimes with a cap. Store money as integer cents, never as floating-point numbers.

type Escalation =
  | { kind: 'fixedPercent'; percent: number }
  | { kind: 'fixedAmount'; cents: number }
  | { kind: 'index'; baseIndex: number; capPercent?: number; upwardOnly: boolean }

// Returns the next period's rent in integer cents.
export function nextRent(currentCents: number, e: Escalation, indexNow?: number): number {
  switch (e.kind) {
    case 'fixedPercent':
      return Math.round(currentCents * (1 + e.percent / 100))
    case 'fixedAmount':
      return currentCents + e.cents
    case 'index': {
      if (indexNow === undefined) throw new Error('index value required for this review')
      let pct = (indexNow / e.baseIndex - 1) * 100
      if (e.capPercent !== undefined && pct > e.capPercent) pct = e.capPercent
      if (e.upwardOnly && pct < 0) pct = 0
      return Math.round(currentCents * (1 + pct / 100))
    }
  }
}

Two details decide whether this survives a real portfolio. First, "upward-only" and the cap are clauses, so they live on the lease, not in a constant. Second, the index value used for each review is stored with the schedule row, so anyone can see why the rent changed. If you collect rent through Stripe, as PropDesk does, a future price change on a recurring charge can be scheduled with Stripe subscription schedules, which apply sequential phases automatically and allow up to 10 current or future phases. Your lease record should still be the source of truth; the payment schedule follows it.

Whether an increase is allowed at all, how much notice it needs, and which index applies are set by the lease and local law. That is general information; confirm the rules for your jurisdiction with your adviser.

What is the difference between residential and commercial lease management?

Residential leases are many, short and similar. Commercial leases are fewer, longer and each one is different. That changes what the software has to model.

AreaResidentialCommercial
Typical termOften 6–12 months, then renewal or a periodic tenancyMulti-year, with options to renew or break
RentFlat monthly rent, sometimes a capped annual increaseStepped or index-linked rent, rent reviews, turnover rent in retail
Extra chargesUtilities, pet or parking feesService charges, CAM (common-area maintenance) recoveries, insurance and tax pass-throughs
Clauses that need structureNotice period, pets, sublettingBreak dates, renewal options, permitted use, exclusivity, repair obligations
DepositsOften regulated: caps, protection schemes, return deadlinesRent deposits, bank guarantees, letters of credit
Who needs reportsLandlord, sometimes an owner or letting agentLandlord, asset manager, and the tenant's finance team

Commercial work is covered in more depth in custom commercial property management software.

Does lease management software need to handle ASC 842 and IFRS 16?

Only if your users are tenants that report under those standards, which mostly means companies leasing offices, shops, warehouses or equipment. Landlord-side residential software usually does not compute lessee accounting entries.

In outline: the IFRS Foundation's IFRS 16 summary says lessees recognise assets and liabilities for leases longer than 12 months, unless the asset is of low value, and the standard applies to periods beginning on or after 1 January 2019. Under US GAAP, Deloitte's guide to ASC 842 explains that a lessee recognises a right-of-use asset and a lease liability for each lease, with an election not to do so for short-term leases.

What that means for software is data, not calculation. A tenant's accountant needs clean inputs: commencement date, term including options reasonably expected to be exercised, the payment schedule, escalations and incentives. A lease tool that exports those accurately is useful; one that claims to produce the journal entries is taking on an accounting job. RAITHub builds the data model and exports, and leaves the accounting judgement, such as discount rates and which options count, to your accountant. This is general information, not accounting advice; confirm with your adviser.

Should you buy, build or hire lease management software?

If you manage your own portfolio, buy first. Build when lease management is part of a product you sell, or when your lease types are ones the tools model badly.

OptionExample and cited priceChoose this whenWatch out for
Off-the-shelf property management softwareBuildium starts at $62 a month on Essential, with e-signature at $5 per document on that plan; AppFolio is quote-only, with a 50-unit minimum on its Core planYou run a residential portfolio and want leases, rent and maintenance working this monthCommercial clauses, unusual escalations and your own branding are limited to what the vendor supports
No-code or templateAirtable Team at $20 per user a month billed annually, with a lease-tracker base and automationsA small team tracking dozens of leases, mainly for dates and documentsMoney, permissions and reliable scheduled jobs outgrow it quickly; tenants cannot safely log in
Custom buildMarket figures in property management software cost: SaaS vs customLeasing is your product, you serve a segment the tools handle poorly, or you need commercial lease logic and integrations of your ownYou own maintenance, testing and every jurisdiction rule you add

Prices are from the vendors' pricing pages when this post was written; check them before you decide.

How long does it take to build lease management yourself?

For a developer comfortable with Postgres and a job scheduler: about 2–4 weeks for lease records, rent schedules with escalations, renewal states and alerts, for one jurisdiction and one lease type. E-signature, deposits, tenant logins and payments each add time on top.

The main risk of doing it yourself is the scheduled work. A job that silently skips a night, or sends a renewal notice twice, looks fine in a demo and fails in month seven. Write a test that runs each job twice for the same day and asserts nothing changed the second time, and a test that runs it after a missed day and asserts nothing was lost.

What should the specification decide before anyone writes code?

  • Lease states and transitions. Draft, active, renewing, ending, ended, and who can move a lease between them.
  • Clause fields. Which clauses must be structured data because a rule acts on them, and which can stay in the document.
  • Escalation types. Which ones you support at launch, and where index values come from.
  • Roles. PropDesk serves 4 roles (landlord, tenant, contractor and admin) from one codebase; every role is a column in the permission matrix and a set of server-side tests.
  • Money flows. Whether rent is collected through a provider such as Stripe or held in your own accounts, which is a licensing question first.

The wider picture, including listings and portals, is in the PropTech software development guide.

Why RAITHub for this

  • We have built the lease lifecycle. PropDesk manages leases, maintenance and Stripe rent collection across 4 user roles, with 5 daily automation jobs and 1,024 automated tests.
  • QA-first on the parts that run unattended. Escalations, renewals and notices are tested for reruns and missed days before they ship, and CI blocks a merge that breaks them.
  • Honest scope. We will tell you which features PropDesk proves and which would be new work for you, such as commercial service-charge reconciliation or lease-accounting exports.

When you don't need us

  • You manage your own residential units and an existing product fits. Buy it; it will be cheaper and faster.
  • You need lessee accounting computed under ASC 842 or IFRS 16. Use dedicated lease-accounting software chosen with your accountant.
  • You need lease templates or advice on landlord and tenant law. That is a property lawyer's job; we build the workflow the rules run in.

How RAITHub would build this

  • Scope: the lease record and state machine; structured clauses and rent schedules with fixed, stepped and index-linked escalations; renewal windows, notices and expiry alerts as rerun-safe daily jobs; deposits and document storage linked to each lease; role-scoped access and the reports your owners or finance team need.
  • Timeline: a focused first release in 4–6 weeks at fixed scope through SaaS development; adding lease logic behind an existing product is backend and API work of about 6–12 weeks.
  • What you receive: automated tests and CI on every merge, handover docs and runbooks for each scheduled job, and full IP assigned to you under an NDA.
  • Next step: a free 15-minute technical audit, then a written fixed quote. Book the audit with your lease types, jurisdictions and how rent is collected. More on our real estate work is on the PropTech page.

Frequently asked questions

What is lease management software?

Software that stores each lease's parties, terms, clauses and documents, and acts on its dates: rent schedules and increases, renewal windows, notices and expiry alerts, plus deposits and reporting.

What are the must-have features of lease management software?

Lease records, structured terms and clauses, rent schedules with escalations, renewals and notices, deposits, e-signature, document storage, alerts and reporting. Tenant portals and online rent payment are usually added alongside.

How does software track lease expiry and renewal dates?

A daily scheduled job compares each active lease's end date and notice period with today, creates one notice per deadline, and records when it was sent. A unique key stops a rerun from sending duplicates.

Can lease management software calculate rent escalations automatically?

Yes, if the escalation rule is stored as data: a fixed percentage, a fixed amount or an index-linked increase with an optional cap. Store the index value used for each review so every change can be explained.

Is commercial lease management different from residential?

Yes. Commercial leases are longer and less uniform, with break and renewal options, rent reviews, service charges and pass-throughs, and tenants who may need data for lease accounting.

Does lease management software need to support ASC 842 or IFRS 16?

Only for tenants that report under them. Both standards generally put leases on the lessee's balance sheet, so the software should export accurate dates and payment schedules; the accounting itself is for your accountant.

How long does it take RAITHub to build lease management software?

A focused first release typically takes 4–6 weeks at fixed scope; lease logic added to an existing product takes about 6–12 weeks. You get a written fixed quote after a free 15-minute audit.

Lease management softwarePropTechProperty management softwareRent escalationLease renewalsCommercial leasesRAITHub

Ready to discuss your project?

Book a free 15-minute technical audit with our engineering team.