Improvements
CAM Column Included in the Rent Display Mode Selector
The CAM column in the Rent Roll section's Commercial detail tables now responds to the Rent Units toggle, matching the behavior of the Actual, Borrower, and Market rent columns. Previously, switching display modes only affected the other rent columns while CAM remained static. CAM values now convert across all four modes (Annual $/SF, Annual Total $, Monthly $/SF, and Monthly Total $) along with the rest of the table, with Monthly $/Unit as its input unit.
Updated LTV, LTC, and Debt Yield Calculations for Portfolio Loans
LTV, LTC, and Debt Yield calculations on portfolio stage loans have been updated to account for unfunded loan amounts. LTV now equals the sum of the outstanding balance and the unfunded amount, divided by the property valuation, giving a more accurate picture of current exposure on loans where money remains available to draw. LTC now uses the originated loan amount divided by total project cost, reflecting leverage at origination rather than the current draw. Debt Yield now equals NOI divided by the sum of the outstanding balance and the unfunded amount. These updated values appear across the Deal Details modal, Deal Overview, portfolio stage deal cards, single and compare cash flow views, and template exports.
What was happening
Previously, LTV, LTC, and Debt Yield could show inaccurately low (or $0) values for portfolio-stage loans that haven't been fully drawn yet, such as construction, bridge, earnout, perm loans with TI/LC holdbacks, and revolvers. These metrics rely on the loan's outstanding balance. But for loans with undrawn funds, a low or $0 balance doesn't mean the loan is paid off. It just means the borrower hasn't drawn that money yet. This made LTV and LTC appear artificially low, and caused Debt Yield to be incalculable when the balance was exactly $0, even though the loan still had funds available.
Changes:
- LTV = (Balance + Unfunded Amount) / Valuation
- Debt Yield = NOI / (Balance + Unfunded Amount)
- LTC = Originated Loan Amount / Project Total Cost
Note: If there's no Unfunded Amount on a loan, LTV and Debt Yield calculate as before.
Not included: Stress Test LTV, which will be addressed in a separate update.
Fixes
Bulk Update Deals Grid Accepting Multi-Record Paste Submissions
Submitting multiple records at once via the paste flow in the Bulk Update Deals admin grid was failing silently without surfacing validation errors, even though the same records succeeded when submitted individually. Multi-record paste submissions now process correctly as a single batch, and any validation failures surface on the relevant cells rather than failing without explanation.
Intelligent Deal Creation Handoff Completing Successfully
The Submit Edits button on the deal review page and the Send to Pipeline button on the full deal seed page were both returning an error when attempting to advance an Intelligent Deal Creation deal into the user's pipeline. Both handoff paths now complete without error, restoring the expected end-to-end workflow for deals created through Intelligent Deal Creation.
API Gateway getDealInfo Response Conforming to Published Schema
The getDealInfo endpoint was returning its response payload without the top-level success and error envelope defined in the published API schema. Integrations relying on the success flag to distinguish successful responses from error responses could not parse the payload as documented. The endpoint now returns the full envelope on every response, matching the published contract.