Model extra payments on a Canadian mortgage
plan_mortgage_prepaymentsRead-only
Use this when a user asks what paying extra on one Canadian mortgage would do: a higher regular payment, recurring extra payments, or up to 50 lump sums. Compares the supplied mortgage with and without the extras: interest, debt left and modeled payoff period. Checks the extras against prepayment-privilege limits only when the user supplies them; otherwise reports the limits as not checked. Do not use to find a prepayment penalty or the cost of breaking a mortgage: no tool calculates a penalty, the lender quotes it. Results beyond the term need explicit monthly continuation assumptions.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| events | Yes | Lump-sum extra payments by due period. Use datedEvents for calendar dates. | |
| mortgage | Yes | ||
| startDate | No | ||
| datedEvents | No | Lump-sum extra payments by calendar date. Needs startDate; each is modeled on the next due date and must carry mappingAcknowledged:true. | |
| contractCaps | No | ||
| horizonMonths | No | Horizon in months. Defaults to the mortgage term. | |
| recurringExtra | No | Extra amount added to every payment from the given period (1 or later). | |
| scheduleWindow | No | ||
| startingBalance | Yes | Mortgage balance now, in CAD, as digits only: no $ sign, no commas, no spaces, for example "412000" or "412000.50". Before any costs are added. | |
| semiMonthlyAnchors | No | ||
| pastPaymentsIncludedInBalance | No |
Output Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| links | Yes | ||
| scope | Yes | ||
| payoff | No | ||
| status | Yes | ||
| horizon | No | ||
| reasons | Yes | ||
| sources | Yes | ||
| currency | Yes | ||
| schedule | No | ||
| breakEven | No | ||
| scenarios | Yes | ||
| assumptions | Yes | ||
| differences | No | ||
| sensitivity | No | ||
| dateMappings | No | ||
| missingInputs | Yes | ||
| nextQuestions | Yes | ||
| schemaVersion | Yes | ||
| evaluatedThrough | No | ||
| requestedHorizon | No | ||
| illustrativeRatio | No | ||
| calculationVersion | Yes |