Skip to content

Property Management Overview

The Properties sub-module turns Kuberan Books into a full back-office for Canadian rental portfolios. It sits on top of the standard double-entry ledger — no separate database, no separate set of accounts — and automates the repetitive parts of running rentals: issuing rent invoices, applying rent increases, recording mortgage splits, tracking deposits, and producing per-property reports.

Properties is opt-in per client. Flip the flag on the client record (see Enable Properties for a client), run the one-click chart-of-accounts wizard, and the Properties section appears in the Books sidebar for that client.

What it does for you

  • Issues rent invoices on the 1st of each month — every active lease gets a draft invoice generated from its current RentSchedule row, tagged to the property, unit, and lease. Residential rent is HST-exempt automatically.
  • Applies rent increases on their effective date — both pre-planned escalations written into the lease (“+3% on each anniversary”) and mid-lease Rent Change notices. The cron bumps Lease.baseRent and reprices any RentSchedule rows that haven’t been invoiced yet.
  • Splits mortgage payments into principal / interest / escrow using Canadian semi-annual compounding by default, and posts the JE atomically.
  • Tracks security deposits — intake, optional interest calculation, and itemised disposition at move-out. The dashboard flags deposits past the 10-day refund deadline.
  • Converts Construction WIP into a depreciating asset — the “Convert to operating” action rolls accumulated WIP into a FixedAsset with the correct CCA class and starts monthly depreciation.
  • Reports at the property level — a per-property P&L and a portfolio-wide Rent Roll pick up every ledger line that carries a propertyId, including invoices, bills, JEs, and bank-transaction splits.

The data model in one diagram

Client
└── Property (Construction / Operating / Disposed)
├── Unit (Vacant / Occupied / Off-market / Owner-occupied)
│ └── Lease (Pending / Active / Ended / Terminated)
│ ├── RentSchedule rows (one per period)
│ └── RentChange records (scheduled / applied / rescinded)
└── Mortgage (Active / Paid off / Closed)

A Tenant lives beside this tree, linked to a Lease — and every Tenant is paired with a shadow Customer record (source: 'tenant') so rent AR flows through the same system as everything else.

What is not in v1

  • Unit-level P&L (property-level only; unitId is tagged on every line, so the drill-down is straight work in a later phase).
  • Automatic deposit-interest posting (the interest amount is computed, but you post the JE manually).
  • Refinance flow (manual workaround documented in Mortgages).
  • Full AGI and above-guideline-increase (AGI) workflow — v1 is warn-only on the 12-month cooldown.
  • CPI-linked escalations resolve CPI automatically (v1 treats them as percentage; you enter the realised CPI).

Where to go next

Open Properties for a client