-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
Summary
Add Loan-to-Value (LTV) limit enforcement based on Singapore's MAS regulations. LTV limits vary by property count and loan status, significantly affecting downpayment requirements.
Why This Matters
- LTV determines minimum downpayment (e.g., 75% LTV = 25% downpayment required)
- Second and subsequent properties have much stricter LTV limits
- Directly affects affordability and cash/CPF required upfront
Singapore LTV Limits (MAS Regulations)
For Individuals
| Property | Outstanding Loans | Max LTV (Bank) | Max LTV (HDB) |
|---|---|---|---|
| 1st property | 0 | 75% | 80% |
| 1st property | ≥1 | 45% | N/A |
| 2nd property | 0 | 45% | N/A |
| 2nd property | ≥1 | 25% | N/A |
| 3rd+ property | Any | 25% | N/A |
Additional Adjustments
- If loan tenure + age > 65 (HDB) or 65/75 (Private): LTV reduced by 5%
- EC from developer: 75% max LTV
Proposed Data Fields
interface LTVConfig {
propertyCount: number // How many properties does buyer own?
hasOutstandingLoan: boolean // Any existing housing loan?
loanType: 'hdb' | 'bank'
}
// Computed
interface LTVConstraints {
maxLTV: number // e.g., 0.75 for 75%
minDownpaymentPercent: number // 1 - maxLTV
minCashPercent: number // Minimum cash portion (usually 5%)
maxCPFPercent: number // Maximum CPF for downpayment
}Calculation Logic
function getMaxLTV(propertyCount: number, hasOutstandingLoan: boolean, loanType: string): number {
if (loanType === 'hdb') return 0.80 // HDB loan always 80%
if (propertyCount === 1) {
return hasOutstandingLoan ? 0.45 : 0.75
} else if (propertyCount === 2) {
return hasOutstandingLoan ? 0.25 : 0.45
} else {
return 0.25
}
}UI Integration
- Input for property count (or derive from user's property portfolio)
- Toggle for "Do you have outstanding housing loans?"
- Display maximum LTV and minimum downpayment
- Warning if loan amount exceeds LTV limit
- Auto-calculate minimum cash vs CPF split
Acceptance Criteria
- Property count input available
- Outstanding loan status tracked
- Correct LTV limit applied based on rules
- Minimum downpayment calculated from LTV
- Warning shown if loan amount exceeds limit
- Age-based LTV reduction applied when applicable (links to Property: Age-Based Loan Tenure Restrictions #173)
References
Labels
property, enhancement, P2
Reactions are currently unavailable