Skip to content

CSV import

Column What it means
name Property display name
purchasePrice Purchase price (number, no $ or commas)
deposit Deposit amount
interestRate Annual interest rate, e.g. 6.5 for 6.5%
loanTermYears Loan term in years
weeklyRent Weekly rent — for an owner-occupied property, enter 0 (see below)
vacancyWeeks Expected vacancy weeks per year — enter 0 for owner-occupied

A row missing any of these is flagged invalid and skipped; every other property in the file still imports.

address, status (researching / shortlisted / due_diligence / under_contract / settled / tenanted / vacant / …), isOwnerOccupier (Yes / No), stampDuty, legalFees, councilRates, waterRates, insurance, annualCapitalGrowth, annualRentalGrowth, annualExpenseGrowth, externalUrl (listing link — must start with http:// or https://), askingPrice, comment (free text, supports line breaks).

Settings → Import CSV… → Download template CSV. It comes pre-filled with example values for every column, required and optional.

That row is skipped and the specific error is shown (e.g. “weeklyRent is required” or “askingPrice: invalid number”); every valid row in the same file still imports.

On the Free plan (2 properties), import stops once the limit is hit and reports how many rows were skipped due to the plan limit, separately from rows skipped for validation errors.

Every property is one or the other, controlled by a single column: isOwnerOccupier.

Investment property Homebuyer (owner-occupied)
isOwnerOccupier No (or omitted — this is the default) Yes
weeklyRent The rent you charge a tenant 0 — you’re not renting it out
vacancyWeeks Expected weeks vacant per year 0
Rental income / yield stats Calculated from weeklyRent None — the property produces no rental income
Tax / CGT treatment Full negative-gearing/CGT treatment as an investment Main-residence CGT exemption available (set separately on the Tax tab)

If it’s owner-occupied, why do weeklyRent and vacancyWeeks still need a value?

Section titled “If it’s owner-occupied, why do weeklyRent and vacancyWeeks still need a value?”

They’re required on every row regardless of property type. For a home you live in, 0 is the correct value — not a placeholder. The cashflow engine always computes rental income as weeklyRent × 52, so 0 naturally produces $0 rental income with no special-casing needed elsewhere.

interestRate and loanTermYears are mandatory too, for every row — homebuyer or investment. Unlike weeklyRent/vacancyWeeks, these can’t just be 0, because they describe the loan itself, not the rental side. If you have a mortgage on the home, enter its real rate and term.

If you own the home outright (no mortgage — deposit equals purchasePrice), the loan amount works out to $0 regardless of what you put in interestRate/loanTermYears, since the mortgage payment is calculated from the loan amount, not the rate/term in isolation. You still need a value in both columns for the row to pass validation — any reasonable placeholder (e.g. interestRate: 6, loanTermYears: 30) is fine, since it won’t affect any calculation when there’s no loan to apply it to.

Can CSV set whether I live there and rent elsewhere, or live there with a mortgage?

Section titled “Can CSV set whether I live there and rent elsewhere, or live there with a mortgage?”

Not yet — CSV import only sets the top-level isOwnerOccupier flag. The finer distinction (paying your own rent elsewhere vs. paying a mortgage on this home, tracked via ownerOccupierType and occupierWeeklyRent) isn’t a CSV column; set it manually on the property’s Summary page after import.

Can I mix homebuyer and investment rows in the same CSV?

Section titled “Can I mix homebuyer and investment rows in the same CSV?”

Yes — isOwnerOccupier is set per row, so one file can import a mix of your own home and your investment properties in a single pass.