Capstone: costs and financing
Harbor Point is earning and nothing has paid for it. This chapter funds the deal with three pack contracts: the equity, the construction loan, and the permanent loan that takes the construction loan out. Each is standard paper, and each says what its agreement says in the agreement's own terms. The pack turns them into the balances, the draws and the interest that chapters 8 and 11 taught you to build by hand.
The equity and the construction loan
// The equity buys the land outright at closing, then funds 35% of each
// draw, pro rata with the lender, to its commitment of 4,165,000.
contract cre.equity_commitment.lp_land on entity asset.harbor {
term 2026-01..2026-01
terms {
commitment = 5500000
share = 1
funding = "at_start"
}
}
contract cre.equity_commitment.lp on entity asset.harbor {
term 2026-02..2027-06
terms {
commitment = 4165000
share = 0.35
funding = "pro_rata"
}
}
// The construction lender funds the other 65% of each draw, to its
// commitment of 7,735,000. Interest is paid monthly on the balance drawn, and
// a month's draw accrues from the next. The facility matures as the
// permanent loan takes it out.
contract cre.construction_loan on entity asset.harbor {
term 2026-02..2028-06
terms {
commitment = 7735000
interest_rate = 0.075
draw_months = 17
}
payment proceeds end
}All three contracts are written on the property, on entity asset.harbor: the facility is not an entity of its own, and the balance it opens is an account on the asset. The split is the deal's: the equity owns the land, and each month's 700,000 draw is 65% the lender's and 35% the equity's. Two commitments state it because the equity funds two things on two schedules. lp_land pays for the land at closing, funding = "at_start". lp funds its share of every draw alongside the loan, funding = "pro_rata". The loan draws the rest, 455,000 a month, and its commitment is exactly 17 of those. The names are the interests'; chapter 24 gives them a holder.
The loan's balance is an account the draws raise. Interest is struck on the balance the month opens with, which is why payment proceeds end matters: a draw at the month's end earns no interest until the next. The balance, the draws and the prev read from chapter 8 are inside the contract, written once for every model that uses it.
The categories come with the contracts, and they are not interchangeable. The equity's calls are financing.equity.contribution. The loan's draws are financing.debt.proceeds. Its interest is financing.debt.service, which folds into debt service, because coverage during a build is measured on interest actually accruing. The take-out is financing.debt.repayment, outside debt service, for the same reason the balloon stays off below.
The take-out and the permanent loan
// The permanent loan closes as operations begin: interest-only to maturity.
contract cre.permanent_debt on entity asset.harbor {
term 2028-07..2030-12
terms {
principal = 9500000
interest_rate = 0.058
amortization_months = 360
interest_only_months = 36
pays_off = cre.construction_loan
}
}One contract, and the whole instrument emerges. The proceeds arrive at closing as cre.debt.proceeds, and pays_off repays the construction loan from them in the same month, as a take-out named for the loan it retires, cre.debt.takeout.cre.construction_loan. The take-out repays what the facility owed as the month opened, so the facility matures the month before. Interest and principal lower as their own streams, because a statement shows those lines and a netted payment cannot be un-netted downstream. The terms encode the commercial mortgage. amortization_months strikes the payment on a 30-year schedule, while the term sets maturity. interest_only_months = 36 keeps the whole 30-month hold interest-only. That is a bridge-to-sale structure, which is why chapter 23's exit must repay principal in full. The balloon stays off by default for the reason the pack states: coverage is measured on periodic debt service, and folding a payoff into the final period's service line would make that month's DSCR meaningless.
Harbor Point states its loan amount. A loan may instead be sized: state ltv_max, dscr_min or debt_yield_min and no principal, and the loan is the least of those limits on the NOI of its basis (forward_noi by default, trailing_noi, or a stated noi), with loan-to-value measured on cap_rate or a stated value. Each loan publishes its own figures per period — metric.<loan>.dscr, .debt_yield, and .ltv where a value is known — which is what a covenant test reads.
What the numbers say
The loan draws 455,000 a month for 17 months, 7,735,000 in all, and the take-out repays exactly 7,735,000 in July 2028: two matching series, the model agreeing with itself. Facility interest totals 966,875. The hand anchor is any single month: March 2026 bills 455,000 × 0.625% = 2,843.75, and the ramp of the interest series is the drawn balance, plotted. Permanent debt service is 9,500,000 × 5.8% / 12 = 45,916.67, thirty times: 1,377,500.
Two totals now answer two questions. model.total reads about +3.5 million: it is the venture's cash, and the equity's 9,665,000 arrives in it as a source beside the loan, which is what a sources-and-uses statement shows. The equity's own cash is the pack's levered slice, the deal's cash with the equity's contributions left out: about −6.2 million before the sale. Financing did not create value; it moved the equity check from 17.4 million to 9.7 million, plus carry. The pack's coverage figure, NOI against debt service across the deal, reads about 1.9, construction interest included: this deal's risk was never coverage. Its worth still rests on the next chapter's exit.
What can go wrong
A split stated as one commitment. The land is paid at closing and the draws over seventeen months. One commitment funding pro_rata at 35% would fund 35% of the land too, and the lender would lend against land it never financed. Each schedule is its own interest.
A facility that outlives its take-out. Run the construction loan's term past the permanent loan's closing and the facility accrues interest in the month the take-out repays it, which repays only what it owed as that month opened. The facility matures the month before the take-out, and the term says so.
Reading the venture's total as the equity's return. model.total includes the equity's own money going in. The equity's cash is the levered slice; its return is that slice's IRR, and chapter 23 reads it.
Exercises
Fund the build
Add the capital stack.
- Add the equity in two interests on the asset:
cre.equity_commitment.lp_land, 5,500,000 paid at closing for the land (funding = "at_start"), andcre.equity_commitment.lp, 35% of each draw (funding = "pro_rata",share = 0.35), to 4,165,000. - Add the construction loan: a
cre.construction_loanof 7,735,000 at 7.5%, drawing the other 65% of each draw, 455,000 a month, for seventeen months from February 2026, a month's draw accruing from the next (payment proceeds end). - Close the permanent loan:
cre.permanent_debt, 9,500,000, interest-only at 5.8%, payment struck on a 30-year schedule, taking out the construction loan (pays_off).
Anchors: March 2026 bills interest of 455,000 × 0.625% = 2,843.75; draws total 7,735,000, and the take-out repays exactly 7,735,000. Permanent debt service is 45,916.67 a month, thirty times.
After the run, read the levered slice, the equity's own cash, beside model.total, the venture's; and read the pack's DSCR. This deal's risk is in the build and the exit, not the coverage.
Then, on your own:
- Capitalize the facility's interest: state
interest = "rolled_up"on the loan. The cash interest line gives way to an accrual,cre.construction.interest_accrued, that raises the balance with no cash, and the take-out grows by it. Confirm the equity's total barely moves: the cost was real either way; only its path changed. - Price the takeout differently: raise the permanent loan to 10,500,000 and watch DSCR and the equity check trade against each other. One term, two consequences, both visible in one run — sizing debt is exactly this loop, done until the committee stops arguing.