Individual Retirement Arrangements (IRAs) are way to save money towards retirement that also saves on taxes. For 2019, the annual contribution limit for either Traditional or Roth IRAs increased to $6,000 (it is roughly indexed to inflation). The additional catch-up contribution allowed for those age 50+ stays at $1,000 (for a total of $7,000). You can’t contribute more than your taxable compensation for the year, although a spouse can contribute with no income if the other person has enough income.
Historical limits. Since I enjoy visual aides, here’s an updated historical chart and table of contribution limits for the last 11 years. I’m happy to say that we’ve both done the max since 2004. Consistently saving for a decade can result in some fat nest eggs!
Year | IRA Contribution Limit | Additional Catch-Up Allowed (Age 50+) |
2009 | $5,000 | $1,000 |
2010 | $5,000 | $1,000 |
2011 | $5,000 | $1,000 |
2012 | $5,000 | $1,000 |
2013 | $5,500 | $1,000 |
2014 | $5,500 | $1,000 |
2015 | $5,500 | $1,000 |
2016 | $5,500 | $1,000 |
2017 | $5,500 | $1,000 |
2018 | $5,500 | $1,000 |
2019 | $6,000 | $1,000 |
Traditional IRAs. If you are covered by a retirement plan at work, deductibility of your contribution to a Traditional IRA is based on your modified adjusted gross income (MAGI) and tax-filing status. See the IRS page on IRA deduction limits. However, there are no income restrictions as to who can contribute to the full contribution limit for a Traditional IRA.
Roth IRAs. It doesn’t matter if you are covered by a retirement plan at work for the Roth IRA, and contributions to a Roth are never deductible (but they aren’t taxed on upon qualified withdrawal). However, the contribution limit and overall eligibility may be capped based on your modified adjusted gross income (MAGI) and tax-filing status. See the IRS page on Roth IRA contribution limits. But wait… high-income earners may be able to get around these income restrictions with a Backdoor Roth IRA (non-deductible Traditional IRA + Roth conversion). Yeesh, I really wish they would simplify all this stuff.
Saver’s Credit. If your income is low enough (less than $63,000 AGI for married filing joint), the Saver’s Credit can get you back 10% to 50% of your contribution (of up to $2,000 per person) when you file your taxes.
Also see: 401k, 403b, TSP Historical Contribution Limits 2009-2019
Sources: IRS.gov, IRS.gov COLA Table [PDF]
To make Roth matters “worse” 🙂 there is another back door to Roth IRAs that some companies have where you can contribute after-tax money to a 401k (after-tax capped usually around 10%), THEN allow the roll-over conversion of that to a Roth IRA (after paying taxes on any GAINS-ONLY before it gets transferred). This 10% is outside of any pre-tax 401k limit and outside of any normal IRA (of any kind) cap so its 10% more of retirement savings of any kind.
My 401k just changed, I can contribute after-tax up to the 401k limit and then I can do a in-plan rollover to a Roth 401k. I will have to pay only taxes on the gains, but they are minimal if I roll them after the contribution. This year I may sip my Roth IRA contribution.
I will often structure my income around receiving the Retirement Saver’s Credit when I can reduce my income to the $19,250 mark (2019 tax year to get the maximum value out of the credit). In this case, if I have contributed $2,000 or more, my credit will be $1,000. It is a nonrefundable credit and will only offset taxes owed. Being single, my tax due on an AGI of $19,250 will be $705. The credit reduces the tax liability to $0, buts I end up leaving $295 on the table of unused tax credit. Does anyone have any strategy that I might be missing to use the full value of the credit? I don’t see a scenario where it would ever happen.
For those not familiar, if my income increases by $1 to $19,251, the credit is only $400, and the tax liability remains the same at $705, but now I end up owing $305. I find it ironic that the IRS gives you this $1,000 credit, but with no way to use the full value of the credit in my scenario. Am I missing something?