Skip to content

Property COA Wizard

Open Property account defaults

Overview

The Properties module needs a specific set of accounts to post to — rent income, mortgage interest, deposit liability, depreciation, and so on. Rather than making each user hand-wire these mappings, the Property COA Wizard creates the 12 accounts in one click (using sensible Canadian-residential defaults) and writes a workspace.propertyAccountDefaults map that every auto-posting flow reads from.

Run the wizard once per workspace, when you first enable Properties. You can re-run it later to add a missing account, but it won’t overwrite accounts that already exist.

The 12 accounts

KeySuggested numberTypeUsed by
rentIncome4300IncomeRent invoice generator; rent receipt JEs.
lateFees4310IncomeManual late-fee invoices.
tenantDepositsHeld2300LiabilityDeposit intake / disposition.
propertyTax5200ExpenseManual property-tax bills.
insurance5210ExpenseManual insurance bills.
repairs5220ExpenseRepair & maintenance bills.
utilities5230ExpenseUtilities bills.
managementFees5240ExpenseProperty management bills.
mortgageInterest5300ExpenseMortgage payment split.
depreciation5900ExpenseMonthly depreciation JE for building.
buildings1700Asset (fixed)Convert-to-operating JE; depreciation contra.
land1710Asset (non-depreciable)Convert-to-operating JE.

Account numbers are suggestions — if the client already uses a different numbering scheme, edit each account before clicking Seed accounts.

Screen layout

Top banner: Current completion state — “12 / 12 accounts mapped” when fully configured, or “4 missing” with a one-click “Seed missing” button.

Table: One row per slot. Columns: Slot key, Suggested number, Suggested name, Picker (active CoA accounts of the matching type), Status (Mapped / Missing).

Seed missing

Creates any unmapped account using the suggested number + name + type, then writes it to the defaults map. Idempotent — if an account with the suggested number already exists, it’s re-used rather than duplicated.

Pick existing

Per-row. Points the slot at an existing account of the matching type. Useful when the client already has, say, a 4300 — Rental income account in place.

Save defaults

Persists the full map to workspace.propertyAccountDefaults. Uses a targeted $set so legacy workspace members aren’t re-validated on save.

How the defaults are consumed

Every auto-posting flow in Properties reads from this map:

  • Rent invoice generatorrentIncome for the line item account.
  • Residential-rent HST auto-exemption — applied to rent line items regardless of the workspace tax code (HST, GST, GST_PST, GST_QST, PST, QST, SALES_TAX).
  • Deposit intaketenantDepositsHeld on the credit side.
  • Deposit dispositiontenantDepositsHeld on the debit side; deduction targets are picked per-row.
  • Mortgage paymentmortgageInterest for the interest expense portion.
  • Convert to operatingbuildings and land for the capitalisation JE.
  • Depreciation crondepreciation for the expense line, buildings as the contra accumulated-depreciation.

If a required slot is missing when one of these flows runs, the backend rejects the request with Account default "X" is not configured — run the Property COA wizard. No half-posted JEs, no silent miscoding.

Actions

First-time setup

  1. Enable Properties for the client (see Enable Properties guide).
  2. Open Settings → Books → Property account defaults.
  3. Click Seed missing. All 12 accounts are created using the suggested numbers + names and mapped into the defaults.
  4. Click Save defaults.

Align with an existing chart of accounts

If the client already tracks rental income separately (common for clients transitioning from another platform), skip the seeding step:

  1. For each slot, click the picker and select the existing account.
  2. Slots with no matching existing account — click Seed missing to create just those.
  3. Click Save defaults.

Re-run after adding a slot

When a future release adds a new required slot (e.g. separate parkingIncome), the banner will show “1 missing” until you re-run the wizard. The existing 12 mappings are untouched.