Most retirement projections only account for income you have right now. But for many people, the picture changes significantly over time. You might start renting out a property in five years. You plan to sell your home in 2032. A consulting arrangement wraps up in 2027. A lump sum event sits on the horizon. Each of these has a specific tax treatment, and each one affects your bracket, your MAGI, your ACA eligibility, and how much the Roth optimizer converts each year. Treating them as afterthoughts leads to projections that diverge substantially from reality when those years arrive.
A recurring income stream is any income source with a start year, an annual amount, and optionally an end year. The most common examples are:
For each stream, the key question is which tax bucket it belongs in. The three options and their differences are covered in the Tax treatment section below.
If an income stream will grow with inflation, toggle on inflation adjustment when you add it. A rental that generates $30,000 today will generate closer to $40,000 in ten years if rents track inflation. Using today's flat number understates the income and the tax impact in later years.
A one-time event is a single-year income item with a dollar amount and a specific year. The most common examples are home sales, business sales, inheritance distributions, and pension lump sums taken as cash rather than rolled to an IRA.
For a primary residence, the IRS allows an exclusion of up to $500,000 of gain (married filing jointly) or $250,000 (single) under 26 USC § 121. You must have lived in the home for at least two of the last five years. Only the gain above the exclusion is taxable.
| Item | MFJ example | Single example |
|---|---|---|
| Sale price | $900,000 | $600,000 |
| Original purchase price | ($300,000) | ($200,000) |
| Capital improvements | ($50,000) | ($25,000) |
| Total gain | $550,000 | $375,000 |
| Primary residence exclusion | ($500,000) | ($250,000) |
| Taxable capital gain (enter this number) | $50,000 | $125,000 |
Investment properties and second homes do not qualify for the primary residence exclusion. Enter the full net gain (sale price minus cost basis minus selling costs) for those.
The tax treatment of an inheritance depends entirely on what you receive. Cash and non-retirement investment accounts transferred at a stepped-up cost basis have no immediate income tax event. Inherited traditional IRAs are ordinary income as you take distributions under the SECURE Act 10-year rule. Inherited Roth IRAs are tax-free but distributions still count toward MAGI for IRMAA and ACA purposes. For inherited accounts, model the annual distributions rather than a single lump sum.
If you take a pension lump sum as a direct cash payment, the full amount is ordinary income in the year you receive it. This can push you into a significantly higher bracket in that year and trigger IRMAA surcharges two years later. If you roll the lump sum directly to a traditional IRA instead, there is no immediate tax event. Only distributions from the IRA are taxed, and only when you take them.
Every income stream or event is classified into one of three tax buckets. The classification determines how it flows into your tax calculation, MAGI, and Roth conversion headroom.
| Type | Examples | How it is taxed | Counts toward MAGI? |
|---|---|---|---|
| Ordinary income | Rental income, consulting, pension lump sum (cash), prize income | At your marginal bracket rate (10% to 37%) | Yes |
| Capital gains | Home sale (above exclusion), investment property, stock sales | 0%, 15%, or 20% depending on total income | Yes, for IRMAA, ACA, and NIIT |
| Tax-free (MAGI counted) | Municipal bond interest, certain QLAC income, some annuity payments | No income tax | Yes, for IRMAA and ACA only |
When you add an ordinary income stream, the Roth optimizer reduces the conversion amount in that year by the same dollar. The stream and the conversion compete for the same bracket space. The optimizer fills up to your target bracket ceiling, using the stream as the first layer and conversions as the second. Your total MAGI stays flat. The composition changes: more comes from the stream, less from conversions.
For example, suppose your target is to fill the 22% bracket, and the top of that bracket is $200,000 in MAGI. If your other income (Social Security, IRA withdrawal) comes to $120,000, the optimizer normally converts $80,000. If you add a $50,000 rental income stream, the optimizer converts only $30,000 instead. MAGI is still $200,000. You converted less, but the rental income covered what the IRA withdrawal would otherwise have covered.
The Tax Cliffs tab shows a dedicated column for scheduled income in the MAGI breakdown, so you can see exactly how bracket space is being allocated between your streams, IRA withdrawals, Social Security, and Roth conversions in each year.
The long-term effect is that your traditional IRA balance draws down more slowly in years with active streams. This is generally fine, because the stream provides income the IRA would otherwise need to fund. It also means you enter RMD years with a larger traditional balance, which is worth modeling if the stream ends before RMDs begin.
Capital gains and ordinary income raise MAGI directly. Tax-free income (muni bond interest, certain annuity payments) is added back to MAGI specifically for ACA and IRMAA calculations even though no income tax is owed. This surprises many people.
If you are relying on ACA subsidies in the pre-Medicare years, a home sale with even a modest taxable gain can push you over 400% of the federal poverty level and eliminate the subsidy entirely in that year. The break-even analysis is worth running before you time the sale. Similarly, a large capital gain year can push you into an IRMAA Medicare surcharge tier that affects your Part B and D premiums two years later.
Both of these are visible in the Tax Cliffs tab, which shows your projected MAGI against the ACA cliff, IRMAA tiers, and bracket boundaries year by year. Entering the event with the correct year is what makes that analysis meaningful.

Entering the home sale price instead of the taxable gain
Subtract your cost basis and the applicable exclusion first. If you enter $900,000 instead of $50,000, the projection shows a tax bill many times larger than reality.
Not adjusting rental income for inflation
Rental income typically rises with rent inflation over time. Using a flat amount understates both the income and the tax impact in the later years of the stream.
Forgetting to update portfolio balances after a sale
The proceeds from a home or business sale are not added to your brokerage account automatically. Update your account balances in the profile to reflect the amount you plan to invest after closing.
Assuming muni bond income is invisible for planning purposes
Municipal bond interest is tax-free for income tax but counted in MAGI for IRMAA and ACA. A retiree with $80,000 in muni interest and $120,000 in other income has an effective MAGI of $200,000 for Medicare purposes.
Not modeling how a stream ending affects RMDs
If rental income runs from 2028 to 2033 but RMDs start in 2038, the IRA balance will be higher in 2038 than the projection shows if you had continued the stream. Model both scenarios to see the difference.
Future income sources are added in On Track under the Future Income section, at the bottom of the page. There are two entry types:
Once entered, the amounts flow through the full projection automatically. The Situation tab shows a summary card with all active streams and events. The Tax Cliffs tab shows them as a separate column in the MAGI breakdown. The Roth Strategy tab adjusts conversion amounts accordingly.
How do I model rental income in a retirement projection?
Enter the expected net annual amount (after expenses and depreciation) as an ordinary income stream with a start year and an optional end year. Toggle inflation adjustment if you expect rents to rise. The stream adds to your taxable income and MAGI each year, and the optimizer reduces Roth conversions proportionally so total MAGI stays at your target level.
Is a home sale taxable in retirement?
Partially, in most cases. The primary residence exclusion shelters up to $500,000 of gain (married) or $250,000 (single) from income tax. Only the taxable gain above the exclusion is reported. For a couple who bought at $300,000, improved by $50,000, and sells at $900,000, the taxable gain is $50,000, not $600,000.
Does rental income reduce my Roth conversion headroom?
Yes. Rental income classified as ordinary income fills bracket space before conversions. If rental income uses $30,000 of your 22% bracket, conversions fill what remains. MAGI stays at the same level, but the IRA draws down more slowly in years when the rental is active.
Do municipal bonds count toward IRMAA?
Yes. Muni bond interest is excluded from federal income tax but added back into MAGI for IRMAA and ACA calculations. A retiree with $50,000 in muni interest and $150,000 in other income has an IRMAA MAGI of $200,000, even though only $150,000 is taxable.
Is a pension lump sum taxable?
Yes, if taken as cash. The full amount is ordinary income in the year of distribution. If you roll the lump sum directly to a traditional IRA, there is no immediate tax event. Only subsequent IRA distributions are taxable.
How do I plan for a future inheritance in my projection?
Add a one-time event in the year you expect to receive it. For cash or brokerage assets with a stepped-up basis, there may be no immediate income tax. For inherited traditional IRAs, model annual distributions as ordinary income under the SECURE Act 10-year rule. For inherited Roth IRAs, use the tax-free but MAGI-counted bucket.
Model your future income sources with your actual numbers
ThunderHarbor models recurring streams and one-time events year by year, with correct tax treatment for each bucket and automatic updates to your MAGI, bracket headroom, and Roth conversion plan.
Build your planFree plan included · Full suite with Premium ($47/year)