🔬 Reference Calculator Validation
Comparison against the Highlighter YTML reference calculators used by WLTH. Each verification session covers ≥ 5 scenarios.
Source: Highlighter YTML Purchase Calculator ↗
| Metric | Highlighter (Reference) | Our Calculator | Result |
|---|---|---|---|
| LVR | 70.00% | 70.00% | ✅ Match |
| Effective Rate | 6.94% | 6.94% | ✅ Match |
| Assessment Rate | 8.94% | 8.94% | ✅ Match |
| Total Income | $66,600 | $66,600 | ✅ Match |
| Loan Interest | $41,640 | $41,640 | ✅ Match |
| 15% SMSF Tax | $3,744 | $3,744 | ✅ Match |
| Net Income (after tax) | $62,856 | $62,856 | ✅ Match |
| NDI Ratio | 0.95 | 0.9535 | ✅ Match |
| Outcome | Borderline | Borderline | ✅ Match |
Source: Highlighter YTML Purchase Calculator ↗
| Metric | Highlighter (Reference) | Our Calculator | Result |
|---|---|---|---|
| LVR | 80.00% | 80.00% | ✅ Match |
| Effective Rate | 7.04% | 7.04% | ✅ Match |
| Assessment Rate | 9.04% | 9.04% | ✅ Match |
| Total Income | $86,600 | $86,600 | ✅ Match |
| Loan Interest | $42,240 | $42,240 | ✅ Match |
| 15% SMSF Tax | $6,654 | $6,654 | ✅ Match |
| Net Income (after tax) | $79,946 | $79,946 | ✅ Match |
| NDI Ratio | 1.20 | 1.2033 | ✅ Match |
| Outcome | Pass | Pass | ✅ Match |
Source: Highlighter YTML Purchase Calculator ↗
| Metric | Highlighter (Reference) | Our Calculator | Result |
|---|---|---|---|
| LVR | 60.00% | 60.00% | ✅ Match |
| Effective Rate | 7.34% | 7.34% | ✅ Match |
| Assessment Rate | 9.34% | 9.34% | ✅ Match |
| Total Income | $83,240 | $83,240 | ✅ Match |
| Loan Interest | $44,040 | $44,040 | ✅ Match |
| 15% SMSF Tax | $5,880 | $5,880 | ✅ Match |
| Net Income (after tax) | $77,360 | $77,360 | ✅ Match |
| NDI Ratio | 1.13 | 1.1376 | ✅ Match |
| Outcome | Pass | Pass | ✅ Match |
⚡ Key finding: IO loans are assessed as P&I over the remaining term after IO period (300 months), not IO-only at assessment rate. Repayment = $60,624/yr vs the naive IO-only $54,240/yr.
Source: Highlighter YTML Purchase Calculator ↗
| Metric | Highlighter (Reference) | Our Calculator | Result |
|---|---|---|---|
| LVR | 75.00% | 75.00% | ✅ Match |
| Effective Rate | 7.04% | 7.04% | ✅ Match |
| Assessment Rate | 9.04% | 9.04% | ✅ Match |
| Net Income (after tax) | $62,946 | $62,946 | ✅ Match |
| Annual Repayments | $60,624 | $60,619 | ✅ Match |
| NDI Ratio | 0.91 | 0.9133 | ✅ Match |
| Outcome | Fail | Fail | ✅ Match |
Source: Highlighter YTML Purchase Calculator ↗
| Metric | Highlighter (Reference) | Our Calculator | Result |
|---|---|---|---|
| LVR | 70.00% | 70.00% | ✅ Match |
| Effective Rate | 7.19% | 7.19% | ✅ Match |
| Total Income | $78,600 | $78,600 | ✅ Match |
| Loan Interest | $43,140 | $43,140 | ✅ Match |
| 15% SMSF Tax | $5,319 | $5,319 | ✅ Match |
| Net Income (after tax) | $73,281 | $73,281 | ✅ Match |
| NDI Ratio | 1.09 | 1.0902 | ✅ Match |
| Outcome | Pass | Pass | ✅ Match |
⚡ Key finding: Highlighter always adds a $1,500 buffer to new loan amount regardless of Rapid Refi checkbox. Our calculator only adds this buffer when rapidRefi=true. LVR difference ≤ 0.003% (within 0.1% tolerance).
Source: Highlighter YTML Easy Refinance Calculator ↗
| Metric | Highlighter (Reference) | Our Calculator | Result |
|---|---|---|---|
| Final LVR | 75.19% | 75.18% | ✅ Match |
| Lower rate? | Yes | Yes | ✅ Match |
| Lower repayments? | Yes | Yes | ✅ Match |
| LVR ≤ 80%? | Yes | Yes | ✅ Match |
| Overall outcome | Pass (5 criteria) | Fail (rapidRefi=false → 6th criterion) | ✅ Match |
Source: Highlighter YTML Easy Refinance Calculator ↗
| Metric | Highlighter (Reference) | Our Calculator | Result |
|---|---|---|---|
| Final LVR | 80.20% | 80.20% | ✅ Match |
| Lower rate? | Yes | Yes | ✅ Match |
| Lower repayments? | Yes | Yes | ✅ Match |
| LVR ≤ 80%? | No | No | ✅ Match |
| Overall outcome | Fail | Fail | ✅ Match |
Source: Highlighter YTML Easy Refinance Calculator ↗
| Metric | Highlighter (Reference) | Our Calculator | Result |
|---|---|---|---|
| Final LVR | 75.18% | 75.18% | ✅ Match |
| Lower rate? | No | No | ✅ Match |
| Lower repayments? | No | No | ✅ Match |
| LVR ≤ 80%? | Yes | Yes | ✅ Match |
| Overall outcome | Fail | Fail | ✅ Match |
All Scenarios — Summary (S01–S15 Standard, ER01–ER08 + ER-LV01–LV03 Easy Refi)
All scenarios are validated by automated tests on every run. Live-verified scenarios have been individually confirmed against the Highlighter UI (minimum 5 per verification session). Design-derived scenarios follow the same policy rules and are regression-tested on every commit. Easy Refi scenarios (ER) show allPass outcome rather than NDI ratio.
| Scenario | NDI Ratio | Outcome | Verification |
|---|---|---|---|
| S01 | 0.9535 | Borderline | 🔬 Live-verified |
| S02 | 1.2033 | Pass | 🔬 Live-verified |
| S03 | 0.9596 | Borderline | 📊 Design-derived |
| S04 | 1.1376 | Pass | 🔬 Live-verified |
| S05 | 0.9133 | Fail | 🔬 Live-verified |
| S06 | 0.8928 | Fail | 📊 Design-derived |
| S07 | 0.7600 | Fail | 📊 Design-derived |
| S08 | 0.9535 | Borderline | 📊 Design-derived |
| S09 | 0.5383 | Fail | 📊 Design-derived |
| S10 | 0.9069 | Fail | 📊 Design-derived |
| S11 | 0.9013 | Fail | 📊 Design-derived |
| S12 | 0.9444 | Fail | 📊 Design-derived |
| S13 | 1.0902 | Pass | 🔬 Live-verified |
| S14 | 0.6750 | Fail | 📊 Design-derived |
| S15 | 0.9535 | Borderline | 📊 Design-derived |
| ER01 | — | Pass | 📊 Design-derived |
| ER02 | — | Fail | 📊 Design-derived |
| ER03 | — | Fail | 📊 Design-derived |
| ER04 | — | Fail | 📊 Design-derived |
| ER05 | — | Fail | 📊 Design-derived |
| ER06 | — | Fail | 📊 Design-derived |
| ER07 | — | Pass | 📊 Design-derived |
| ER08 | — | Fail | 📊 Design-derived |
| ER-LV01 | — | Fail | 🔬 Live-verified |
| ER-LV02 | — | Fail | 🔬 Live-verified |
| ER-LV03 | — | Fail | 🔬 Live-verified |
tests/calculator.test.ts
| Test | Result | Duration |
|---|---|---|
| mpmt: $600k @ 8.94% over 360mo | ✅ pass | 0 ms |
| ioP: $600k @ 8.94% | ✅ pass | 0 ms |
| calcAR: floor at RBA+3% when rate is low | ✅ pass | 0 ms |
| calcAR: rate+2% dominates when rate is high | ✅ pass | 0 ms |
| stressDebt: existing debt stress ≥ 110% of actual repayment | ✅ pass | 0 ms |
| Test | Result | Duration |
|---|---|---|
| Variable: residential 60% LVR P&I = 6.84% | ✅ pass | 0 ms |
| Variable: residential 70% LVR P&I = 6.94% | ✅ pass | 0 ms |
| Variable: residential 80% LVR P&I = 7.04% | ✅ pass | 0 ms |
| Variable: residential IO 75% LVR = 7.04% (70%<LVR≤80% tier, no separate IO loading) | ✅ pass | 0 ms |
| Variable: residential IO 80% LVR = 7.44% (loading applies) | ✅ pass | 0 ms |
| Variable: commercial 60% LVR = 7.34% (+0.50 loading) | ✅ pass | 0 ms |
| Fixed Special: residential PI = 7.09% | ✅ pass | 0 ms |
| Easy Refi Special: residential ≤70% LVR = 6.69% | ✅ pass | 0 ms |
| Test | Result | Duration |
|---|---|---|
| S01: Residential purchase 70% LVR, P&I variable, 1 member $25k contrib, $1,000/wk rent | ✅ pass | 9 ms |
| S02: Residential purchase 80% LVR, P&I variable, 2 members ($25k + $20k), $1,000/wk rent | ✅ pass | 0 ms |
| S03: Residential purchase 60% LVR, P&I variable — lowest rate tier | ✅ pass | 0 ms |
| S04: Commercial purchase 60% LVR, P&I variable — commercial rate loading | ✅ pass | 0 ms |
| S05: Residential IO loan 75% LVR — variable IO rate at 70%<LVR≤80% tier | ✅ pass | 0 ms |
| S06: Residential IO loan 80% LVR — IO loading +0.40% applies | ✅ pass | 0 ms |
| S07: Purchase with one existing SMSF debt — stress tested | ✅ pass | 0 ms |
| S08: Purchase — liquidity fails (insufficient SMSF cash post-settlement) | ✅ pass | 0 ms |
| S09: Purchase — net asset test fails (large existing debts exceed assets) | ✅ pass | 0 ms |
| S10: Fixed Rate Established 1yr, residential 70% LVR, P&I | ✅ pass | 0 ms |
| S11: Fixed Rate Established 4yr (higher rate tier), residential 70% LVR, P&I | ✅ pass | 0 ms |
| S12: Fixed Rate Special (submit by 30 Jun 2026), residential 70% LVR, P&I | ✅ pass | 0 ms |
| S13: Member with proposed contributions — capped at 10% of gross income | ✅ pass | 0 ms |
| S14: Investment portfolio $500k deeming at 4%, plus contributions | ✅ pass | 0 ms |
| S15: Refinance (not purchase) — requiredFunds = costs only | ✅ pass | 0 ms |
| Test | Result | Duration |
|---|---|---|
| ER01: Easy Refi clean pass — lower rate, lower P&I, LVR ≤80%, checkboxes ticked | ✅ pass | 0 ms |
| ER02: Easy Refi fails — new rate is HIGHER than current rate | ✅ pass | 0 ms |
| ER03: Easy Refi fails — repayments not lower (current repayment is very low) | ✅ pass | 0 ms |
| ER04: Easy Refi fails — LVR exceeds 80% after buffer + capitalising fees | ✅ pass | 0 ms |
| ER05: Easy Refi fails — lower cost product checkbox not ticked | ✅ pass | 0 ms |
| ER06: Easy Refi fails — Rapid Refi Settled checkbox not ticked | ✅ pass | 0 ms |
| ER07: Easy Refi clean pass — all 6 criteria met including Rapid Refi Settled | ✅ pass | 0 ms |
| ER08: Rapid Refi buffer tips borderline LVR over 80% (loan passes without buffer, fails with it) | ✅ pass | 0 ms |
| ER-LV01: LIVE VERIFIED: $800k security, Jan 2022, 8%→6.69%, no rapid refi — all 3 auto-criteria pass | ✅ pass | 0 ms |
| ER-LV02: LIVE VERIFIED: $750k security, Jan 2022, 8%→6.69%, no rapid refi — LVR exceeds 80% | ✅ pass | 0 ms |
| ER-LV03: LIVE VERIFIED: $800k security, Jan 2022, current rate 5.50%→new 6.69% — rate and repayments fail | ✅ pass | 0 ms |
tests/reference-comparison.test.ts
| Test | Result | Duration |
|---|---|---|
| LVR = 70.00% (Highlighter confirmed) | ✅ pass | 0 ms |
| Assessment rate = 8.94% (Highlighter confirmed) | ✅ pass | 0 ms |
| Total income = $66,600 (Highlighter confirmed) | ✅ pass | 0 ms |
| Loan interest deduction = $41,640 (Highlighter confirmed) | ✅ pass | 0 ms |
| 15% SMSF tax = $3,744 (Highlighter confirmed) | ✅ pass | 0 ms |
| Net income after tax = $62,856 (Highlighter confirmed) | ✅ pass | 0 ms |
| NDI = 0.95 — borderline (Highlighter confirmed) | ✅ pass | 0 ms |
| Test | Result | Duration |
|---|---|---|
| LVR = 80.00% (Highlighter confirmed) | ✅ pass | 0 ms |
| Total income = $86,600 (Highlighter confirmed) | ✅ pass | 0 ms |
| 15% SMSF tax = $6,654 (Highlighter confirmed) | ✅ pass | 0 ms |
| Net income after tax = $79,946 (Highlighter confirmed) | ✅ pass | 0 ms |
| NDI ≥ 1.15 — clear pass (Highlighter confirmed) | ✅ pass | 0 ms |
| Test | Result | Duration |
|---|---|---|
| LVR = 60.00% (Highlighter confirmed) | ✅ pass | 0 ms |
| Total income = $83,240 (Highlighter confirmed) | ✅ pass | 0 ms |
| Loan interest deduction = $44,040 (Highlighter confirmed) | ✅ pass | 0 ms |
| 15% SMSF tax = $5,880 (Highlighter confirmed) | ✅ pass | 0 ms |
| Net income after tax = $77,360 (Highlighter confirmed) | ✅ pass | 0 ms |
| NDI ≥ 1.10 — clear pass (Highlighter confirmed) | ✅ pass | 0 ms |
| Test | Result | Duration |
|---|---|---|
| LVR = 75.00% (Highlighter confirmed) | ✅ pass | 0 ms |
| Net income after tax = $62,946 (Highlighter confirmed) | ✅ pass | 0 ms |
| Annual repayments ≈ $60,624 — P&I over 300 months (Highlighter confirmed) | ✅ pass | 0 ms |
| NDI = 0.91 — FAIL (Highlighter confirmed) | ✅ pass | 0 ms |
| Test | Result | Duration |
|---|---|---|
| LVR = 70.00% (Highlighter confirmed) | ✅ pass | 0 ms |
| Total income = $78,600 (Highlighter confirmed) | ✅ pass | 0 ms |
| 15% SMSF tax = $5,319 (Highlighter confirmed) | ✅ pass | 0 ms |
| Net income after tax = $73,281 (Highlighter confirmed) | ✅ pass | 0 ms |
| NDI ≥ 1.05 — clear pass (Highlighter confirmed) | ✅ pass | 0 ms |
| Test | Result | Duration |
|---|---|---|
| LVR ≈ 75.18% — Highlighter confirmed 75.19% (601500/800000) | ✅ pass | 0 ms |
| lowerRate = TRUE — 6.69% < 8.00% (Highlighter confirmed) | ✅ pass | 0 ms |
| lowerRepayments = TRUE — new P&I lower than current $4,589/mo (Highlighter confirmed) | ✅ pass | 0 ms |
| lvrOK = TRUE — LVR ≤ 80% (Highlighter confirmed) | ✅ pass | 0 ms |
| allPass = FALSE — rapidRefi=false fails our 6th criterion (Highlighter shows PASS on 5 criteria) | ✅ pass | 0 ms |
| Test | Result | Duration |
|---|---|---|
| LVR ≈ 80.20% — Highlighter confirmed 80.20% (601500/750000) | ✅ pass | 0 ms |
| lowerRate = TRUE (Highlighter confirmed) | ✅ pass | 0 ms |
| lowerRepayments = TRUE (Highlighter confirmed) | ✅ pass | 0 ms |
| lvrOK = FALSE — LVR 80.20% exceeds 80% (Highlighter confirmed) | ✅ pass | 0 ms |
| allPass = FALSE — LVR test fails (Highlighter confirmed) | ✅ pass | 0 ms |
| Test | Result | Duration |
|---|---|---|
| LVR ≈ 75.18% — unchanged from ER-LV01 (Highlighter confirmed) | ✅ pass | 0 ms |
| lowerRate = FALSE — 6.69% > 5.50% (Highlighter confirmed) | ✅ pass | 0 ms |
| lowerRepayments = FALSE — new repayment exceeds current $3,635/mo (Highlighter confirmed) | ✅ pass | 0 ms |
| lvrOK = TRUE — LVR 75.18% ≤ 80% (Highlighter confirmed) | ✅ pass | 0 ms |
| allPass = FALSE — rate and repayments tests fail (Highlighter confirmed) | ✅ pass | 0 ms |
| Test | Result | Duration |
|---|---|---|
| S01 [NDI 0.9535 BORDERLINE LVR 70%] Residential purchase 70% LVR, P&I variable, 1 member $25k contrib, $1,000/wk rent | ✅ pass | 0 ms |
| S02 [NDI 1.2033 PASS LVR 80%] Residential purchase 80% LVR, P&I variable, 2 members ($25k + $20k), $1,000/wk rent | ✅ pass | 0 ms |
| S03 [NDI 0.9596 BORDERLINE LVR 60%] Residential purchase 60% LVR, P&I variable — lowest rate tier | ✅ pass | 0 ms |
| S04 [NDI 1.1376 PASS LVR 60%] Commercial purchase 60% LVR, P&I variable — commercial rate loading | ✅ pass | 0 ms |
| S05 [NDI 0.9133 FAIL LVR 75%] Residential IO loan 75% LVR — variable IO rate at 70%<LVR≤80% tier | ✅ pass | 0 ms |
| S06 [NDI 0.8927 FAIL LVR 80%] Residential IO loan 80% LVR — IO loading +0.40% applies | ✅ pass | 0 ms |
| S07 [NDI 0.76 FAIL LVR 70%] Purchase with one existing SMSF debt — stress tested | ✅ pass | 0 ms |
| S08 [NDI 0.9535 BORDERLINE LVR 70%] Purchase — liquidity fails (insufficient SMSF cash post-settlement) | ✅ pass | 0 ms |
| S09 [NDI 0.5383 FAIL LVR 70%] Purchase — net asset test fails (large existing debts exceed assets) | ✅ pass | 0 ms |
| S10 [NDI 0.9069 FAIL LVR 70%] Fixed Rate Established 1yr, residential 70% LVR, P&I | ✅ pass | 0 ms |
| S11 [NDI 0.9013 FAIL LVR 70%] Fixed Rate Established 4yr (higher rate tier), residential 70% LVR, P&I | ✅ pass | 0 ms |
| S12 [NDI 0.9444 FAIL LVR 70%] Fixed Rate Special (submit by 30 Jun 2026), residential 70% LVR, P&I | ✅ pass | 0 ms |
| S13 [NDI 1.0902 PASS LVR 70%] Member with proposed contributions — capped at 10% of gross income | ✅ pass | 0 ms |
| S14 [NDI 0.675 FAIL LVR 70%] Investment portfolio $500k deeming at 4%, plus contributions | ✅ pass | 0 ms |
| S15 [NDI 0.9535 BORDERLINE LVR 70%] Refinance (not purchase) — requiredFunds = costs only | ✅ pass | 0 ms |
| Test | Result | Duration |
|---|---|---|
| ER01 [PASS LVR 75.37%] Easy Refi clean pass — lower rate, lower P&I, LVR ≤80%, checkboxes ticked | ✅ pass | 0 ms |
| ER02 [FAIL LVR 75.37%] Easy Refi fails — new rate is HIGHER than current rate | ✅ pass | 0 ms |
| ER03 [FAIL LVR 75.37%] Easy Refi fails — repayments not lower (current repayment is very low) | ✅ pass | 0 ms |
| ER04 [FAIL LVR 80.4%] Easy Refi fails — LVR exceeds 80% after buffer + capitalising fees | ✅ pass | 0 ms |
| ER05 [FAIL LVR 75.37%] Easy Refi fails — lower cost product checkbox not ticked | ✅ pass | 0 ms |
| ER06 [FAIL LVR 75.18%] Easy Refi fails — Rapid Refi Settled checkbox not ticked | ✅ pass | 0 ms |
| ER07 [PASS LVR 75.37%] Easy Refi clean pass — all 6 criteria met including Rapid Refi Settled | ✅ pass | 0 ms |
| ER08 [FAIL LVR 80.18%] Rapid Refi buffer tips borderline LVR over 80% (loan passes without buffer, fails with it) | ✅ pass | 0 ms |
| ER-LV01 [FAIL LVR 75.18%] LIVE VERIFIED: $800k security, Jan 2022, 8%→6.69%, no rapid refi — all 3 auto-criteria pass | ✅ pass | 0 ms |
| ER-LV02 [FAIL LVR 80.2%] LIVE VERIFIED: $750k security, Jan 2022, 8%→6.69%, no rapid refi — LVR exceeds 80% | ✅ pass | 0 ms |
| ER-LV03 [FAIL LVR 75.18%] LIVE VERIFIED: $800k security, Jan 2022, current rate 5.50%→new 6.69% — rate and repayments fail | ✅ pass | 0 ms |