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.baseRentand 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;
unitIdis 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
- Enable Properties for a client — flip the flag and run the COA wizard.
- Construction to operating — the full WIP → depreciation flow for a new build.
- Rent automation — how rent schedules, invoices, and escalations all connect.
- Rent changes — mid-lease increases, the 12-month cooldown, and scheduled vs applied.
- Deposits — intake, interest, disposition.