A portfolio that knows which unit every request belongs to

Landlords and small managing agents running tens to low hundreds of units, who need to know which unit a request came from and when a lease runs out.

Typed into RowFold
“I run a property management company with 40 buildings across three cities”
Build this with AI Free for one person · no credit card
WHAT ROWFOLD ACTUALLY BUILT

Not a mockup. The real output.

Every table, link and rollup below was captured from a live build that finished in 1 min 58 sec, arriving with 32 sample records already in it. Nothing here is illustrative.

Buildings

6 records
  • Address
  • City Select
  • Building Manager Text
  • Year Built Number
  • Unit Count Rollup

Units

8 records
  • Building Relation
  • Unit Number Text
  • Bedrooms Number
  • Bathrooms Number
  • Monthly Rent Currency
  • Status Select

Tenants

6 records
  • Email
  • Phone
  • Move-In Date Date
  • Notes LongText

Leases

6 records
  • Unit Relation
  • Tenant Relation
  • Start Date Date
  • End Date Date
  • Monthly Rent Currency
  • Status Select

Maintenance Requests

6 records
  • Unit Relation
  • Reported By Relation
  • Issue LongText
  • Priority Select
  • Status Select
  • Date Reported Date
  • Ticket Number AutoNumber

How they connect

  • Leases Units via Unit links to one
  • Leases Tenants via Tenant links to one
  • Maintenance Requests Units via Unit links to one
  • Maintenance Requests Tenants via Reported By links to one
  • Units Buildings via Building links to one

Numbers that keep themselves right

Each of these is computed by travelling a relationship, so it updates when the records behind it change — nobody retypes a total.

  • Buildings · Unit Count count of Units (linked by building)

11 views, built automatically

Buildings: Grid / Map / Board, Leases: Grid / Board, Maintenance Requests: Grid / Calendar, Tenants: Grid / Calendar, Units: Grid / Board

Report · Open Maintenance by Priority

Maintenance Requests, grouped by Priority — Ticket Count

Dashboard · Property Portfolio Overview

Total Buildings · Total Units · Active Lease Revenue · Leases Ending Soon · Units by Status · Maintenance by Status & Priority · Recent Maintenance Requests · AI Summary · Recent Activity

WHAT IT FIXES

The four things that actually go wrong

A maintenance request arrives as a text message about "the flat above the chemist" and there is nowhere to put it that connects to anything.

Maintenance Requests point at a Unit and at the Tenant who reported it, and get an auto-numbered ticket. The request is attached to the unit permanently, so next year's question about that flat's boiler has an answer.

Buildings, units and tenants live in one flat sheet, so a building's unit count is whatever somebody last counted.

Units link up to Buildings, and each building carries a Unit Count rollup that counts them. Adding a unit changes the count; nobody maintains it.

Lease end dates sit in a column nobody looks at until a tenant mentions they are moving out in three weeks.

Leases are records with start and end dates linking a Unit to a Tenant, and the build put a Leases Ending Soon tile on the dashboard — the renewal question surfaces without being asked.

A tenant who moves between units, or renews, either overwrites their own history or becomes a second row.

The tenancy is the Lease, not the tenant. One person can hold several leases over time and each keeps its own unit, dates and rent, so the history survives the move.

Worth adding next — a suggestion, not part of the build

When a lease's end date is 60 days away…

  1. Flag the lease as up for renewal
  2. Email the tenant asking whether they intend to stay
  3. Create a task for whoever handles renewals, linked to the unit
  4. Post to the team channel so the unit is not double-let
QUESTIONS

Before you start

Why is the lease a separate table from the tenant?

Because a person and a tenancy are different things that change at different times. If the tenancy lives on the tenant row, then renewing overwrites the old term, moving flats loses the previous address, and a joint tenancy has nowhere to go. Making the Lease its own record linking a Unit to a Tenant means somebody can hold three tenancies over six years and every one of them keeps its own dates and rent.

Can tenants report problems themselves?

Yes, and this is the change most worth making after the build. Any table can publish a public form at an unguessable URL, so a maintenance form can write straight into Maintenance Requests without the tenant needing an account. Submissions arrive as ordinary records with a ticket number, ready to be prioritised, and the server validates every field so what can be submitted is exactly what you allowed.

Does it handle rent collection?

It tracks what is owed, not the money movement. Leases carry a Monthly Rent and the dashboard totals active lease revenue, which answers what the portfolio should be producing. Taking payment is your bank's job or your agent's; if you want payments recorded here, a Payments table linked to the lease is about ten minutes of work and gives you arrears as a rollup.

Will it cope with buildings in different cities?

That was in the sentence that produced it — forty buildings across three cities — and City came out as a Select on Buildings rather than free text, so filtering and grouping by city work properly rather than tripping over spelling. The building addresses also drive a map view, so a portfolio spread across several places is something you can look at rather than sort.

Can I keep some of this private from the rest of my team?

Yes. Permissions run at folder, table and field level, so a contractor can be given the maintenance queue without seeing rents or tenant contact details, and read-only viewers cost nothing at all. That matters more here than in most trades, because tenant data is personal data and the fewer people who can see it, the better.

Describe yours and watch it build

There is no template to wait for. Type a sentence about what you run and RowFold assembles the tables, links, views and dashboard around it — then you change whatever does not fit.

Start free Free forever for one person. Then $19/month per extra person.