Welcome to RetirIQ
RetirIQ is a Canadian retirement planning tool that helps you model your financial future — from today's income and expenses all the way through retirement. Everything runs locally in your browser; your data never leaves your computer.
What RetirIQ does
RetirIQ works by building a complete picture of your finances across two phases:
📈 Pre-retirement
Track your current income, debt payments, and day-to-day expenses. See exactly how much you're saving each year and what your after-tax take-home looks like.
🏡 Post-retirement
Project your investment portfolio, government benefits (CPP, OAS), pensions, and retirement spending through your projection age — with full Canadian tax modelling.
How to navigate
Use the left sidebar in RetirIQ to move between sections. Sections are grouped logically:
- Pre-Retirement — Income, Debt, and Current Expenses
- Budget — Import bank transactions and track actual vs planned spending (enable on the Personal tab)
- Post-Retirement — Investments, Benefits, and Retirement Expenses
- Analyzer — Charts and projections: Income, Spending, Portfolio, and Compare
Explore by section
Personal
Set your province, birthdate, and retirement age
Income
Employment, rental, pension income with tax breakdown
Investments
RRSP, TFSA, non-registered accounts with return rates
Portfolio
Full projection from today through retirement
Budget
Import bank CSV files and track actual spending
Export
Download Excel reports and PDF snapshots
Quick start guide
Get a basic retirement projection running in about 10 minutes by following these steps in order.
Enter your province, birthdate, and retirement age. If you have a partner, enable that toggle and enter their details too. The inflation rate here flows through to all charts.
Add your salary, self-employment income, rental income, or any other regular income. The tax breakdown is calculated automatically using current Canadian brackets.
Add your recurring monthly costs (mortgage, groceries, utilities, etc.). These establish your pre-retirement spending baseline.
Add each investment account (RRSP, TFSA, non-registered). Enter the current value, annual contributions, and expected return rates.
Use the preset buttons for CPP and OAS, or add custom pensions. Enter the expected annual amount and the age it starts.
Add what you expect to spend in retirement. Use the slider on each item to set what percentage of that expense continues in retirement.
Go to Analyzer → Portfolio to see the full projection. The chart shows your portfolio value year by year, withdrawal amounts, and whether the money lasts.
Personal
The foundation of your plan. Everything here flows through to every calculation in the app.
Global settings
| Field | What it does |
|---|---|
| Province | Sets the provincial income tax brackets used in all tax calculations. Select the province where you file your taxes. |
| Global inflation rate | The assumed annual inflation rate applied to all charts and projections. 2% is the Bank of Canada's target. This flows automatically to the Portfolio, Spending, and Income charts — you can override it per-chart if needed. |
| Global projection age | The age to project to across all charts (default 90). Also flows to each chart individually. |
Your information
Your birthdate is used to calculate your current age, years to retirement, and all age-based filtering on income cards.
Enable I have a partner to unlock two-person modelling throughout the app — separate income, separate retirement ages, joint expenses, and combined tax analysis.
Retirement ages
Use the −/+ buttons to set when you (and your partner) plan to retire. This controls:
- When pre-retirement income stops and portfolio withdrawals begin
- When retirement expenses take effect
- The years-to-retirement calculation used in the Retirement Expenses inflated totals
Budget tracking
Check Enable budget tracking to reveal the Budget section in the sidebar. This unlocks bank CSV import, tagging rules, and actual vs planned spending comparisons. See the Budget overview for full details.
Export
Two export options are available here — see Export & Reports for details.
Income
Enter all sources of income for you and your partner. RetirIQ calculates Canadian federal and provincial tax, CPP, EI, and RRSP deductions automatically.
Summary bar
The dark bar at the top shows your gross income, partner's gross income (if applicable), and combined gross income — updated live as you type.
Adding income sources
Click Add income source to add a card. Each card has:
| Field | Description |
|---|---|
| Description | A label for this income source (e.g. "Salary – ABC Corp") |
| Type | Employment, self-employment, pension, rental, investment, or other. Type affects CPP/EI calculations. |
| Annual amount | Gross annual income in today's dollars |
| Active from age | Leave blank to start from now. Set a future age for income that hasn't started yet (e.g. part-time work at 62). |
| Until age | Leave blank to default to your retirement age. Set an age past retirement for post-retirement income (e.g. consulting at 67–70). |
| Grows with inflation | If checked, this income is inflation-adjusted in the charts. |
Tax deductions breakdown
The per-person tax breakdown below the income bars shows:
- Income tax — federal + provincial combined
- CPP — Canada Pension Plan contributions (employment income only)
- EI — Employment Insurance premiums (employment income only)
- RRSP/Reg. deduction — sum of tax-deductible investment contributions
- Spendable after-tax — what's left to spend
Income splitting
The Optimize income splitting toggle (two-person plans only) finds the spousal income split that minimizes combined household tax. Most effective when there's a large income gap between partners.
Household totals bar
The bottom bar shows combined household after-tax income, total annual expenses (including debt), and the resulting surplus or shortfall.
Debt
Track loans, mortgages, and lines of credit. Debt payments are automatically added to your Current Expenses and removed when the debt is repaid.
Summary bar
Shows total monthly payments, total annual cost, and total outstanding balance across all debts — updated live.
Adding a debt
Click Add debt. Each debt card includes:
| Field | Description |
|---|---|
| Description | Name of the debt (e.g. "Mortgage – Main St") |
| Outstanding balance | Current remaining balance |
| Monthly payment | Your regular monthly payment amount |
| Paid off by age | Your age when this debt is fully repaid. Once reached, the payment is removed from expenses in the Spending chart. |
Current Expenses
Your day-to-day spending. These form the baseline for your pre-retirement lifestyle and flow into retirement expense modelling.
Recurring expense items
Add each regular monthly expense (groceries, utilities, insurance, subscriptions, etc.). The summary bar shows total monthly and annual spending including any debt payments.
One-off expenses before retirement
Large one-time costs you expect before you retire — a new car at 45, a home renovation at 52. These are:
- Shown as separate bars in the Spending chart
- Deducted from your accumulated pre-retirement cash surplus in the year they occur
- Not drawn from the investment portfolio (that's pre-retirement)
| Field | Description |
|---|---|
| Amount (today's $) | The cost in today's dollars |
| At your age | Your age when this expense occurs |
| Inflate to that year | If checked, the amount is inflated to the year of the expense using the global inflation rate |
Investments
Your investment accounts are the engine of your retirement. Enter each account separately to track growth, contributions, and tax treatment accurately.
Summary bar
Shows total current investment value, total annual contributions, and total tax-deductible contributions.
Global return rates
Use Set default return rates to quickly apply a pre and post-retirement return rate to all investments at once. You can override rates on individual cards afterward.
Investment cards
| Field | Description |
|---|---|
| Description | Account name (e.g. "RRSP – TD Bank") |
| Registered account type | RRSP, TFSA, RRIF, non-registered, etc. Affects tax treatment on withdrawals. |
| Asset type | Stocks, Bonds, GIC, etc. — informational only |
| Current value | Today's balance in this account |
| Annual contribution | How much you contribute each year until retirement |
| Pre-retirement return | Expected annual growth rate before retirement |
| Post-retirement return | Expected annual growth rate after retirement (typically lower — more conservative) |
| Tax deductible contributions | Check for RRSP contributions — deducted from taxable income on the Income tab |
Account type and tax treatment
RRSP / RRIF
Contributions are tax-deductible. Withdrawals are 100% taxable income. The Portfolio chart models this automatically — RRSP withdrawals increase your tax bill.
TFSA
Contributions are not deductible. Withdrawals are tax-free. The portfolio model weights withdrawals based on your TFSA percentage to reduce estimated tax.
Non-registered
No special tax treatment modelled. Withdrawals are treated as taxable in the simplified model.
Real estate events
Use the real estate section to model a future home sale or property event — add proceeds at a specific age to the portfolio.
Benefits & Pensions
Government benefits and pensions are income offsets in retirement — they reduce how much you need to withdraw from your portfolio each year.
Preset benefits
Click the preset buttons to quickly add standard Canadian programs:
| Benefit | Notes |
|---|---|
| CPP | Canada Pension Plan. Enter your expected monthly amount. Start age defaults to 65 — taking it at 60 reduces it by 36%, delaying to 70 increases it by 42%. |
| OAS | Old Age Security. Available at 65 (or deferred to 70). Subject to clawback if your total income exceeds ~$90,997 (2026, indexed). The Portfolio chart models OAS clawback automatically. |
| GIS | Guaranteed Income Supplement — for lower-income seniors. Add if applicable. |
Custom benefits
Click Add custom benefit for defined benefit pensions, employer pensions, or any other regular post-retirement income. Enter the annual amount and the age it begins.
How benefits affect the projection
Each year in retirement, your benefits are subtracted from your spending needs before the portfolio is drawn on. Benefits that haven't started yet (e.g. OAS at 65 when you retire at 60) are phased in at the right age.
Retirement Expenses
Define what you expect to spend in retirement. The slider on each item lets you adjust what percentage of your current spending continues after you retire.
Summary bar
The top bar shows three views of your retirement expenses:
- Today's spending (monthly) — total of all expense amounts as entered
- In retirement (slider %) (monthly) — after applying each slider percentage
- At retirement date — annual (inflated) — the retirement-adjusted amount grown by inflation to your retirement date using the global inflation rate
Syncing from Current Expenses
Click ↻ Re-sync from Expenses to pull items from your Current Expenses tab. Each item gets a slider to set what percentage continues into retirement (default 100%). This is a quick way to start — then adjust individual items as needed.
Spending phases (Go-Go / Slow-Go / No-Go)
Most retirees spend differently across retirement stages. Set optional phase multipliers:
| Phase | Typical spending | Description |
|---|---|---|
| 🏃 Go-Go years | 100–120% | Early retirement — active travel, hobbies, high spending |
| 🚶 Slow-Go years | 80–100% | Mid retirement — less travel, more home-based activities |
| 🛋️ No-Go years | 60–80% | Late retirement — lower mobility, reduced discretionary spending |
The From age of each phase is automatically set to the previous phase's end age + 1. Set To age on each phase; the next phase's start updates automatically.
One-off expenses in retirement
Large one-time costs during retirement (new car at 70, home modifications at 80). These are withdrawn from your portfolio in the year they occur and shown as separate bars in the Portfolio and Spending charts.
Budget overview
The budget module lets you import real bank transactions, categorise them automatically, and compare your actual spending to your plan — all stored locally in your browser.
Enabling the budget module
Go to Personal → Budget tracking and check Enable budget tracking. The Budget section will appear in the sidebar between Pre-Retirement and Post-Retirement.
The budget workflow
Tell RetirIQ the column layout of your bank's CSV export. Do this once per bank.
Toggle which income, investment, and expense categories appear in Budget vs Actual. Defaults are set based on your age — override any item individually.
Create rules that automatically categorise transactions by matching description text. Rules with no match text are ignored. Optionally assign a subcategory too.
Break any category into subcategories for more detailed tracking — e.g. Groceries → Costco, Safeway. Each subcategory has its own monthly budget. Amounts roll up to the parent — no double-counting.
Upload a CSV from your bank, select the format, review the auto-tagged transactions, and click Import valid rows. Invalid or duplicate rows are shown highlighted with a reason badge and skipped automatically.
Compare actual vs planned across Income, Investment Contributions, and Expenses for any time period. Click any chart bar to drill into subcategories.
File Formats
Define the column layout for each bank's CSV export. You only need to do this once per bank — then reuse the format every time you import.
Creating a format
A blank format editor opens. Give it a descriptive name (e.g. "TD Bank Chequing").
Most banks use comma-separated values. Check your bank's CSV to confirm. Common date formats: YYYY-MM-DD (TD, RBC), MM/DD/YYYY (some US-linked banks).
How many header rows to skip at the top of the file. Set to 0 if there's no header row, 1 if there's one header row (most common).
Each row represents one column in your CSV. Use ▲ ▼ to reorder them to match your file. Assign each to: Date, Description, Amount withdrawn, Amount deposited, or Ignore.
Paste a sample row from your CSV into the preview box to verify the mapping looks correct. Click Save format.
Column field types
| Field type | Use when… |
|---|---|
| Date | The column contains the transaction date |
| Description | The column contains the merchant name or transaction description |
| Amount withdrawn | The column contains debit amounts (positive numbers for money going out) |
| Amount deposited | The column contains credit amounts (positive numbers for money coming in) |
| Amount (single col) | The bank uses one column for all amounts — negative = withdrawal, positive = deposit |
| Running balance | Informational — not used in calculations |
| Ignore | Skip this column entirely |
TD Bank: Date, Description, Debit, Credit, Balance → skip 1 row, comma delimiter
RBC: Account, Account Type, Date, Description, Amount, CAD Amount → rearrange accordingly
Scotiabank: Date, Description, Withdrawals, Deposits, Total Balance → skip 1 row
Managing formats
- Delete removes the currently selected format
- Delete all removes every saved format (with confirmation)
- Formats are saved automatically when you click Save format
Import Transactions
Upload a CSV file from your bank, match it to a saved format, review the auto-tagged transactions, and confirm the import.
Import steps
Choose the format you created for this bank from the dropdown.
Click the file input and choose the CSV exported from your bank's website.
RetirIQ parses the file, validates each row, and shows valid and skipped transactions separately. Tagging rules and subcategory rules are applied automatically. You can adjust categories using the dropdown on each row before confirming.
Only valid transactions are added. Skipped rows are never imported.
Import validation
RetirIQ automatically skips rows that can't be reliably imported. Skipped rows appear highlighted below the valid rows with a coloured badge showing the reason:
| Skip reason | Meaning |
|---|---|
| Invalid date | The date column couldn't be parsed using your format's date pattern |
| No amount | Both withdrawn and deposited amounts are zero or missing |
| Duplicate | An identical transaction (same date, description, and amount) already exists in your transaction history |
The summary line above the table shows exactly how many rows were accepted and how many were skipped by each reason.
Re-tagging after import
If you update your tagging rules after importing, go to Tagging Rules and click Tag untagged transactions. This applies your current rules to any transaction with no category — already-tagged transactions are never changed.
Tagging Rules
Rules automatically assign a category to transactions based on their description. Set them up once and every import categorises itself.
How rules work
Rules are applied in order — the first rule that matches a transaction wins. Each rule has:
| Field | Description |
|---|---|
| If description… | The match type: contains, starts with, exactly matches, or matches regex |
| Match text | The text to look for in the transaction description (case-insensitive) |
| Assign category | The expense or income category to assign — pulled from your Income and Expense card names |
| Assign subcategory | Optional. Only appears if the selected category has subcategories defined. Assigns the transaction to a specific subcategory within the parent. |
Match types
| Type | Example | Matches |
|---|---|---|
| Contains | "NETFLIX" | Any description containing "NETFLIX" anywhere |
| Starts with | "TIM HORTONS" | Descriptions beginning with "TIM HORTONS" |
| Exactly matches | "RENT" | Only descriptions that are exactly "RENT" |
| Regex | "GROCERY|SOBEYS|LOBLAWS" | Matches any of the listed patterns |
Inactive rules
A rule with no match text is inactive — it's shown with an amber inactive — no text badge and a yellow border. It won't match anything until you type a value. This lets you save a partial rule and come back to it.
Test a rule
Use the Test a description box at the bottom to paste a real transaction description and see which rule would match it. The result shows the matched category, or category → subcategory if a subcategory is also assigned. Shows "No match" in grey if nothing matches.
- Bank descriptions are often truncated or have reference numbers appended — use "contains" with the core merchant name
- Put more specific rules above more general ones
- Use regex to catch multiple similar merchants in one rule:
LOBLAWS|SUPERSTORE|NO FRILLS
Budget vs Actual
Compare what you planned to spend vs what you actually spent for any time period.
Choosing a period
| Option | Description |
|---|---|
| Month to date | From the 1st of the current month to today |
| Quarter to date | From the start of the current quarter to today |
| Year to date | From January 1 to today |
| Full month | Complete current calendar month |
| Full quarter | Complete current quarter |
| Full year | Complete current year |
| Custom range | Set your own From and To dates |
Summary tiles
Three tiles show one per section — Income & Benefits, Investment Contributions, and Expenses. Each tile shows the budget target and actual side by side, a progress bar, and the variance. Colour logic: income green = above target, expenses/investments green = under budget. When actual expenses exceed budget, the tile turns orange with a ⚠ over by $X badge.
A Net position tile below the three shows: Income − Investments − Expenses = net, for both budget and actual side by side. Surplus in blue, shortfall in orange.
Category table
The table is split into five sections with coloured headers:
- Employment Income — employment income cards
- Benefits & Pensions — benefit cards (CPP, OAS, pensions)
- Investment Contributions — investment cards with annual contributions
- Expenses — current and retirement expense cards
- Debt Payments — debt cards (mortgage, loans, lines of credit)
Which categories appear is controlled entirely by the Budget Categories panel — use toggles there to include or exclude any item.
Each parent row shows the budgeted amount (prorated to the period), actual amount, variance, and a progress bar. Click any row with a ▶ arrow to expand subcategories.
Subcategory budget override: If a category has subcategories whose monthly budgets add up to more than the parent's monthly budget, BvA uses the subcategory total as the budget. If they add up to less, the parent budget is kept.
Use Expand all and Collapse all buttons to show or hide all subcategories.
Budget proration rules
| Period | How budget is calculated |
|---|---|
| Month to date | Monthly amount × (days elapsed ÷ days in this month) |
| Quarter to date | Monthly × 3 × (days elapsed ÷ days in this quarter) |
| Year to date | Monthly × 12 × (days elapsed ÷ 365 or 366) |
| Full month | Monthly × 1 exactly |
| Full quarter | Monthly × 3 exactly |
| Full year | Monthly × 12 exactly |
| Custom range | Monthly × (days ÷ 30.44) |
Subcategory drill-down
If a category has subcategories defined, clicking the row expands them. The parent total always includes subcategory amounts rolled up — subcategory transactions are never counted twice.
Clicking any bar in the charts below also opens a subcategory drill-down modal for that category.
Charts
Three bar charts — Income & Benefits, Investment Contributions, Expenses. Each shows Budget vs Actual bars per category. Scroll/pinch to zoom, drag to pan, Reset zoom to restore. Click any bar to see the subcategory breakdown.
Print / Save PDF
The Print / Save PDF button in the BvA header opens a styled print page in a new tab showing: the period header, all four summary tiles including net position, and the complete category table. Use your browser's Print → Save as PDF to download it.
Budget Categories
Control exactly which income, investment, and expense categories appear in Budget vs Actual using simple on/off toggles.
How it works
Every card you've added in the Income, Investments, Expenses, and Debt tabs appears here as a toggle row. Turn any category off to remove it completely from the Budget vs Actual table and charts. Turn it back on to bring it back.
Categories are grouped into four sections matching Budget vs Actual colours: Income (employment + benefits), Investments (contribution accounts), Expenses (current and retirement), and Debt Payments (loans, mortgages, lines of credit).
The Subcategories parent dropdown only shows categories that are toggled ON here — so turning off a category also removes it as a subcategory parent option.
Age-based defaults
On first load, toggles default based on your current age:
| Category type | Default before retirement | Default after retirement |
|---|---|---|
| Employment income | On | Off |
| Benefits & pensions | Off | On |
| Investment contributions | On | Off |
| Current expenses | On | Off |
| Retirement expenses | Off | On |
| Debt payments | On | On |
You can override any default manually. A yellow "check age" badge appears on rows that are toggled on but may not be age-appropriate — it's a reminder, not a restriction.
Adding and removing categories
To add a new category: go to the Income, Expenses, or Investments tabs and add a new card there. It will appear here automatically. To remove a category from Budget vs Actual: either toggle it off here, or delete the card from its tab entirely.
Each row shows
| Column | Description |
|---|---|
| Toggle | Orange = included in BvA, grey = excluded |
| Name | The category name from the card |
| Owner | Primary, Partner, or — for expenses |
| Type | Employment, Benefit, Investment, Current, Retirement, Debt, Other |
| Monthly | The monthly budget amount from that card |
Subcategories
Break any category into subcategories for more detailed tracking — without changing your planning tabs at all.
What subcategories are
Subcategories are a budget-only feature. They let you split a broad category like "Groceries" into specific stores or types (Costco, Safeway, Farmers Market) and track each one separately — with its own monthly budget and its own actual spend from imported transactions.
Subcategory amounts always roll up to the parent category in Budget vs Actual. The parent row shows the combined total of direct transactions + all subcategory transactions.
Your planning tabs (Income, Expenses, Investments) are completely unaffected.
Adding a subcategory
Choose from any of your existing income or expense categories.
E.g. "Costco", "Gas", "Netflix".
How much you plan to spend in this subcategory per month. This is separate from the parent category's budget.
The subcategory appears grouped under its parent. You can edit the budget amount inline at any time.
Tagging transactions to subcategories
Once a category has subcategories, a Assign subcategory dropdown appears in your tagging rules when you select that category. This lets you automatically assign imported transactions to the right subcategory.
Transactions that match the parent category but no subcategory rule simply count toward the parent total — there is no "unsubcategorised" row.
Viewing subcategories in Budget vs Actual
Parent category rows with subcategories show a ▶ arrow. Click the row to expand and see the subcategory breakdown. All rows are collapsed by default. Use Expand all to open everything at once.
Transactions
Your full transaction ledger. Search, filter, re-tag, split, and manage all imported transactions.
Filtering
- Search — filters by description, tag, or amount
- From / To — date range filter
- Category — filter to a specific tag
Editing tags
Use the category and subcategory dropdowns on each row to reassign a transaction. Changes are saved immediately.
Splitting a transaction
Click ✂️ on any row to split a single transaction across multiple categories — useful when one bank charge covers several expense types (e.g. a Costco trip split between Groceries and Household).
Split children show a yellow ✂️ split badge. The original transaction is hidden but preserved for unsplitting. Click unsplit on the parent row to restore the original. Split children can themselves be re-split.
Works for both withdrawals and deposits (income splits).
Deleting transactions
Click × on any row to delete that transaction. Use Clear all to delete every transaction (with confirmation).
Trends
Track how your income, investments, expenses, and net position move month over month, quarter over quarter, or year over year.
How it works
RetirIQ looks at your imported transactions and groups them by period, then compares actual spending vs your budget target for each period. Four lines are shown on one chart — Income, Investments, Expenses, and Net.
Controls
| Control | Description |
|---|---|
| Period | Monthly, Quarterly, or Yearly grouping |
| Periods to show | Last 6, 12, or 24 periods |
Reading the chart
- Solid lines — actual transaction amounts per period
- Dashed lines — budget target (constant — same monthly budget each period)
- Green — Income, Blue — Investments, Red/Orange — Expenses, Grey — Net
A summary table below the chart shows exact amounts per period for all four metrics. Scroll/pinch to zoom, drag to pan.
Income Chart
A stacked bar chart showing every income source across your lifetime — employment, part-time, government benefits, and portfolio withdrawals.
What's shown
- Blue bars — your employment/regular income (stops at your retirement age by default)
- Light blue bars — partner's income (stops at their retirement age)
- Orange bars — post-retirement earned income (part-time work, consulting)
- Green bars — government benefits and pensions (CPP, OAS, DB pensions) — each gets its own bar starting at its configured age
- Dark navy line — total income across all sources each year
- Red dashed line — portfolio withdrawal estimate (requires Portfolio tab to be run first)
Controls
- Project to age — how far to extend the chart (independent of global setting)
- Inflation (local) — inflation rate used for this chart only
- Reset zoom — returns to the full view after zooming
Interacting with the chart
- Scroll / pinch to zoom in on a time range
- Drag to pan left/right when zoomed
- Click legend items to show or hide individual income sources
- Hover over any bar to see exact values in the tooltip
Spending Chart
Shows your spending year by year from now through your projection age, alongside your after-tax income, and tracks the pre-retirement cash surplus you accumulate.
What's shown
- Blue bars — pre-retirement annual spending (expenses + debt)
- Orange bars — post-retirement recurring spending (adjusted for phases)
- Light orange bars — one-off expenses in retirement
- Light blue bars — one-off expenses before retirement
- Green/red area — cumulative pre-retirement cash surplus (green = surplus, red = deficit)
- Green line — household after-tax income + benefits each year
- Dark dashed line — spending trend
Reading the chart
In pre-retirement years, when the green income line is above the blue spending bars, you're accumulating savings. The green/red shaded area shows how this surplus grows or shrinks, including the impact of one-off expenses.
In post-retirement, the income line includes your benefits and any post-retirement earned income. The gap between the income line and the spending bars represents what needs to come from your portfolio.
Portfolio
The core retirement projection. Shows your total investment portfolio value from today through your projection age, along with annual withdrawals and the full tax picture.
Controls
| Control | Description |
|---|---|
| Project to age | How far to run the projection |
| Inflation (local) | Inflation rate for this chart |
| Pre-ret. fallback return | Used for investments where you haven't set a per-investment rate |
| Post-ret. return | Portfolio return rate after retirement (fallback if not set per investment) |
Age snapshot
Use the −/+ stepper to move through ages and see a detailed breakdown at any point in retirement — your portfolio value, withdrawal needed, benefit income, tax, and net available cash for both you and your partner.
Banner at the top
- Green banner — your portfolio survives to the projection age with money remaining
- Red banner — your portfolio depletes before the projection age — shows at what age it runs out
Market crashes
Add crash events to simulate a portfolio shock at a specific age (e.g. 40% drop at age 67). The portfolio immediately loses that percentage and then continues growing normally. Crashes work at any age — before or after retirement. Use this to stress-test your plan against early downturns as well as post-retirement shocks.
Chart elements
- Black line — total portfolio value
- Orange bars — net annual cash withdrawal from portfolio
- Purple bars — income tax + OAS clawback on withdrawals
- Green bars — benefit income (CPP, OAS, pensions) offsetting withdrawals
Tax on withdrawals
- Withdrawals are split between partners (or fully to you if no partner)
- Each person's share is added to their benefit income to calculate marginal tax
- Tax brackets and the Basic Personal Amount are inflation-adjusted each year
- OAS clawback applies when total income exceeds $90,997 (2026, indexed)
- This is a simplified estimate — actual tax depends on account types, income-splitting strategies, and other deductions
Compare
Run two retirement scenarios side by side — different retirement ages, return rates, or crash events — to see how each choice affects your long-term outcome.
What you can vary per scenario
- Retirement age (yours and your partner's) — use the −/+ steppers
- Post-retirement return — a more conservative or optimistic rate for each scenario
- Market crashes — up to 2 crash events per scenario, each with an age and magnitude
Reading the chart
- Navy solid line — Scenario A portfolio value
- Orange solid line — Scenario B portfolio value
- Navy bars — Scenario A annual gross withdrawal
- Orange bars — Scenario B annual gross withdrawal
The portfolio at retirement for each scenario is shown in the scenario card. A larger portfolio at retirement means more buffer and smaller required withdrawals.
Export & Reports
Download your plan as an Excel spreadsheet or a PDF report — useful for yearly records, sharing with an advisor, or offline review.
Export to Excel
Downloads a .xlsx file with four sheets:
- Summary — personal info, income totals, investment summary, benefits
- Portfolio Projection — year-by-year table of portfolio value, withdrawals, and benefits
- Income Sources — all income cards with age ranges and amounts
- Expenses — current and retirement expenses
Export PDF Report
Generates a multi-page .pdf with:
- Page 1 — cover, key stats, income sources, investments, benefits
- Page 2 — expenses, retirement outlook tiles, portfolio projection table (every 5 years)
- Page 3 — charts captured from your current session
Saving history
RetirIQ doesn't have built-in version history. To keep a yearly record of your plan, export a PDF each year and save it with a date in the filename (e.g. RetirIQ_2026.pdf). This lets you compare your situation year over year.
Backup & Restore
Your data lives in your browser's local storage — it can be lost if you clear your browser, switch devices, or reinstall. Two backup options are available in General → Backup:
| Option | How it works |
|---|---|
| Local backup (.json) | Downloads a JSON file to your computer containing your full plan and budget data. Use Restore from backup to reload it in any browser or device. |
| OneDrive backup | Saves the same JSON file directly to your Microsoft OneDrive as RetirIQ_backup.json. Sign in once with your Microsoft account — no password is stored by RetirIQ. Requires the app to be configured with an Azure client ID (developer setup). |
The last backup time (manual and auto) is shown next to the backup buttons. Auto-backup interval can be set to 15, 30, or 60 minutes.
First-time welcome
On your first visit (or after clearing data), a welcome modal explains how data storage works, the risk of browser data loss, and the two backup options. It appears once and is dismissed with "Got it — let's get started". It reappears after you use Clear data in General settings.
RetirIQ Assistant
A floating chat widget in the bottom-right corner of every page. Get help, report a bug, or request a feature — all in one place.
Opening the assistant
Click the navy circle button in the bottom-right corner of the screen. The assistant opens with three options:
| Option | What it does |
|---|---|
| ❓ Get Help | Asks the AI assistant your question about how RetirIQ works. Quick-pick buttons for common questions are shown first. |
| 🐛 Report Bug | Guides you through describing a bug — which section it's in and what happened. Saved locally for the development team. |
| ✨ Request Feature | Same guided flow for feature suggestions. Your idea is saved with the section context. |
Bug and feature reports
Pick the relevant area from the grouped dropdown — Pre-Retirement, Post-Retirement, Analyzer, Budget, or General.
Type your description and press Enter. It's saved immediately.
The assistant confirms it was saved, shows what was recorded, and returns to the main menu for another request.
riqGetFeedback() in the browser console. Feedback includes the section, description, date, and app version.AI responses require the server
Get Help responses are powered by Claude AI. The assistant requires node server.js to be running with your API key set. If the server is not running, the assistant falls back to a local documentation search and still gives useful answers for common questions.
Frequently Asked Questions
Common questions about how RetirIQ works.
Is my data saved?
Yes — RetirIQ saves your data automatically to your browser's local storage as you type. Your data persists between sessions as long as you use the same browser on the same computer. It is never sent to any server.
What happens if I clear my browser data?
Clearing browser data or local storage will erase your RetirIQ data. Use Export to Excel regularly as a backup.
How accurate is the tax calculation?
RetirIQ uses 2026 Canadian federal and provincial tax brackets, the Basic Personal Amount, CPP contribution rates, and EI premiums. Brackets are inflation-adjusted in the portfolio projection. This is a simplified estimate — it does not model all deductions, credits, or personal circumstances. Consult a tax professional for advice specific to your situation.
Why does the portfolio chart show different numbers than I expect?
A few things to check:
- Make sure your retirement expenses are entered on the Retirement Expenses tab (not just Current Expenses)
- Check that benefits start ages are correct — OAS at 65 vs 67 makes a significant difference
- Verify post-retirement return rates on your investment cards or the Portfolio controls
- Inflation compounds significantly over long periods — the inflated future amounts will be larger than today's dollars
What does "nominal" mean in the charts?
Nominal means the amounts are shown in future dollars — not adjusted back to today's purchasing power. A portfolio value of $2M in 30 years represents $2M in that year's dollars, not today's. This is the standard way financial projections are presented.
Can I model multiple income streams that start at different ages?
Yes — use the Active from age and Until age fields on each income card. For example, you could set up: salary (now to 62), part-time consulting (62 to 67), CPP starting at 65. Each stream activates and deactivates at the right age in the charts.
My partner and I retire at different ages. How does that work?
Set separate retirement ages on the Personal tab. The system models each person independently — your income stops at your retirement age, your partner's income stops at theirs. Portfolio withdrawals begin when you retire, but if your partner is still working, their income offsets some of the withdrawal need.
The charts are not updating when I change a value
Charts update automatically when you change most input fields. If a chart seems stale, try navigating away and back to that chart tab — navigating to a chart tab re-renders it. The Portfolio chart can also be triggered by changing any of the control fields at the top of that tab.