Skip to content

Property detail

Open property

Overview

The Property detail page is the command centre for a single property. The header shows the property name, type, status badge, and address. Below that are three tabs:

  • Overview — Units and Mortgages embedded subsections.
  • Activity — Every transaction tagged to this property (invoices, bills, journal entries, bank transactions).
  • Documents — Attachments (photos, lease PDFs, insurance policies, tax notices).

Above the tabs, action buttons change based on lifecycle state:

  • P&L — always visible, opens the Property P&L scoped to this property.
  • Convert to operating — shown only when status is Construction.
  • Dispose — shown only when status is Operating.
  • Edit / Delete — always visible.

Tabs

Overview

Two embedded sections:

Units

Add unit

Opens the Unit create form. Use this for multi-unit properties; single-unit properties can skip Units and tag transactions directly to the property.

ColumnNotes
Labele.g. “Unit 2A”, “Suite 101”
SqftOptional; used by the future shared-cost allocation engine
Bed / BathOptional
Market rentDisplayed for vacancy / opportunity reporting
StatusVacant / Occupied / Off-market / Owner-occupied

Row actions: Edit, Delete.

Mortgages

Add mortgage

Opens the Mortgage create form. One property can have multiple mortgages (primary + second mortgage / refinance).

ColumnNotes
LenderFree text
BalanceCurrent principal balance (decrements as payments post)
RateAnnual interest rate %
PaymentAmount per frequency (monthly / semi-monthly / bi-weekly / weekly)
StatusActive / Paid off / Closed

Row actions: Record payment (shown for Active), Edit, Delete. See Mortgages for the payment flow.

Activity

Unified list of every transaction tagged to this property. Sources: Invoice line items, Bill line items, Journal Entry lines, Bank Transactions (header tag and split rows). Sorted by date descending.

Each row shows date, source type (Invoice / Bill / Journal / Bank txn / Bank split), reference number, counterparty, description, and amount.

Known limit (v1): each source caps at 500 rows before union + pagination. Heavy properties may see truncation — flagged in the launch checklist for a post-v1 refactor to $unionWith.

Documents

Generic Attachments panel — drag-drop, thumbnail grid for images, PDF preview modal, download, delete. Categories: lease, notice, inspection, photo, insurance, tax-notice, mortgage, permit, license, receipt, warranty, title, other.

Lifecycle actions

Convert to Operating

Visible only when status is Construction. Creates a FixedAsset with category real-estate, posts the conversion JE (Dr Buildings + Dr Land, Cr WIP), and flips status to Operating.

  1. Click Convert to operating.
  2. Enter the Placed-in-service date — when the property was ready for rent.
  3. Split the cost between Land value (non-depreciable) and Building value (depreciable basis).
  4. Override the CCA class / rate only if different from Class 1 @ 4% (the default for residential buildings post-1987).
  5. Click Convert & post JE. A FixedAsset is created, the conversion JE is posted with propertyId tagged on every line, and Unit / Lease creation remains available on the now-Operating property.

Accounts default from workspace.propertyAccountDefaults — the COA wizard populates these. If defaults are missing, the backend rejects the request; run the wizard first.

Dispose Property

Visible only when status is Operating. Uses the existing Fixed Asset disposal service to compute gain/loss and post the disposal JE, then cascades active leases to ended.

  1. Click Dispose.
  2. Enter the Disposal date, Disposal price, and Method (sold / scrapped / traded in / donated).
  3. If proceeds > 0, supply the Cash account ID that receives them.
  4. Click Dispose & post JE. Gain/loss is computed from book value, a disposal JE is posted, and every active lease on the property is flipped to ended with the disposal date as the end date.

This is transactional: if any write fails, the whole disposal rolls back — no half-disposed state.