Loan terms that match the term sheet
The Financing panel now separates the Loan Term (when the loan matures) from the Amortization (the payment schedule), and adds an Interest-Only period and an Origination Fee.
- A 5-year term on a 30-year amortization keeps the 30-year payment for five years, then shows a Balloon / Loan Payoff row in the year the loan matures. Debt service is $0 after that — no refinance is assumed.
- The origination fee counts toward your equity and total acquisition cost, so cash-on-cash reflects it.
- Inputs are checked as you type (for example, amortization can't be shorter than the term) and nothing invalid is saved.
Change the financing from the chat
Ask for loan changes in plain language — "5-year loan, 30-year amortization, 1% origination fee". The proposal card lists each term before and after, plus the Year-1 impact on debt service, DSCR, cash flow, and cash-on-cash. Apply & Recalculate saves it and updates the table, metrics, and Financing panel together, with Undo if you change your mind.
Rows that are calculated — like Annual Debt Service or DSCR — can no longer be overwritten by a proposal that wouldn't stick; the chat changes the inputs that drive them instead.
A chat that keeps its work
- Conversations, proposal cards, and whether a change was applied (and by whom) are saved — a refresh no longer loses them.
- Each change appears once, instead of repeating.
- When something goes wrong, the chat says why and offers Retry, which replaces the failed answer instead of duplicating your question. If the connection drops during a long answer, the saved reply appears on its own.
- Answers are tighter: the key number first, tables for multi-year figures, and assumptions called out.
- Chat dates now show correctly for everyone, and private research chats are marked Private.
Delete moved into the "…" menu
Delete and remove actions for portfolios, properties, chats, documents, units, comparables, API keys, and members now live in a … menu with one consistent confirmation. Deleting a portfolio asks you to type its name first.