fbpx

Schedule an Appointment

Make A Payment

Home | Roth 401k versus Roth IRA: A Battle for the Ages (kind of)

Not that long ago, a Roth retirement account did not exist.  However, for many individuals today, a Roth account is the preferred retirement investment vehicle, particularly for self-directed retirement account owners.
The reason why a ROTH tends to gain favor is because we all anticipate a considerable return on our investments (at least we hope so) and would rather pay tax on the “seed money”, i.e., use after-tax dollars to make their investment, rather than pay tax on the “harvest”.  With a ROTH when they retire and take their money out of their retirement account, the distribution is typically tax-free.
But the question is often asked, is it better to make such an investment out of a Roth 401k or a Roth IRA?  The answer is that (a) it depends and (b) it is sort of a trick question (keep reading). Here are four ways in which the rules that govern Roth IRA’s and Roth 401k’s are different:

  1. Rollover Restriction. Under current rules, you cannot rollover a Roth IRA to a Roth 401k.  There is no good reason why that is the rule, but it is.  However, you can rollover a Roth 401k to a Roth IRA.  Therefore, if you prefer the flexibility of knowing you can rollover a Roth 401k to a Roth IRA, then the advantage goes to the Roth 401k.
  1. Contributions. With a Roth IRA, if your income is over a certain amount, you cannot make a Roth IRA contribution. For example, in 2016, if your tax status is married filing jointly and your modified adjusted gross income is equal to or greater than $194,000, you cannot make a Roth IRA contribution.   It is this rule that has created an approach known as a backdoor Roth contribution, whereby you make a traditional IRA contribution and then convert it to the Roth IRA (after paying the applicable tax).  However, with a Roth 401k, there is no such income restriction, and hence, no two-step process necessary.  Therefore, the advantage goes to the Roth 401k.
  1. Re-characterization.  With a Roth IRA, you can un-do a Roth conversion so long as you timely follow the IRS requirements.  This is known as a re-characterization.  It can be a helpful safety net if you convert traditional IRA dollars to Roth but then change your mind.  This might happen if you do not have the liquidity to pay the tax bill on the converted amount, or if the investment opportunity is not as great as you anticipated.  See Mat Sorensen’s March 8, 2016 article for a more extensive discussion about Roth IRA re-characterizations here: https://sdirahandbook.com/are-you-fully-converted-roth-ira-conversion-re-characterization/ . However, with a Roth 401k, you cannot un-do a Roth conversion, i.e., re-characterization is not allowed.  Again, there is no good reason why that is the rule, but it is.  Therefore, because the ability to re-characterize converted amounts provides flexibility that a Roth 401k cannot provide, the advantage here goes to the Roth IRA.  Here’s another take on this particular benefit and strategy in a video from our Partner in KKOS Lawyers, Mark Kohler:
  1. Required Minimum Distributions (“RMD’s”). For most retirement accounts, by age 70 ½, you must begin taking distributions from your retirement account.  This allows the IRS to recoup the tax that was previously deferred.  However, with a Roth IRA, since each RMD would be tax-free, there is no tax revenue to the IRS and unsurprisingly, there is no requirement for RMD’s to be taken out of a Roth IRA.  But with a Roth 401k, there are RMD’s.  Again, there is no good reason why that is the rule, it just is.  This does not suggest that RMD’s from a Roth 401k are taxed, it simply that you have to start taking distributions from your Roth 401k by age 70 ½, unless you are still working and not a 5% owner.  Therefore, the advantage goes to the Roth IRA.

Keep in mind that many of the rules that apply to a traditional IRA also apply to a Roth IRA.  Likewise, many of the rules that apply to a traditional 401k, also apply to a Roth 401k.  For example, two significant differences between an IRA generally and 401k, Roth or otherwise, are the larger contribution limits and a loan option which a 401k provides that an IRA does not.
So which is better?  The answer does not have to be a mutually exclusive decision; in fact, if possible, the best approach might be to have both a Roth IRA and a Roth 401k.   If you would like to discuss these matters in greater detail, please contact our office at 602-761-9798.

[class^="wpforms-"]
[class^="wpforms-"]
[gravityform id="47" title="false" description="false" ajax="true"]
<script type="text/javascript">var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener("DOMContentLoaded",o):document.addEventListener("gform_main_scripts_loaded",o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook("action",o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook("filter",o,n,r,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,n){gform.removeHook("action",o,n)},removeFilter:function(o,n,r){gform.removeHook("filter",o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+"_"+e.length),gform.hooks[o][n].push({tag:i,callable:r,priority:t=null==t?10:t})},doHook:function(n,o,r){var t;if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[n][o]&&((o=gform.hooks[n][o]).sort(function(o,n){return o.priority-n.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==n?t.apply(null,r):r[0]=t.apply(null,r)})),"filter"==n)return r[0]},removeHook:function(o,n,t,i){var r;null!=gform.hooks[o][n]&&(r=(r=gform.hooks[o][n]).filter(function(o,n,r){return!!(null!=i&&i!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][n]=r)}});</script> <div class='gf_browser_unknown gform_wrapper gravity-theme footer-form-1_wrapper' id='gform_wrapper_47' ><div id='gf_47' class='gform_anchor' tabindex='-1'></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_47' id='gform_47' class='footer-form-1' action='/roth-401k-versus-roth-ira-a-battle-for-the-ages-kind-of/#gf_47' > <div class='gform_body gform-body'><div id='gform_fields_47' class='gform_fields top_label form_sublabel_below description_below'><fieldset id="field_47_1" class="gfield form-label-pop field_sublabel_hidden_label field_description_below gfield_visibility_visible" data-js-reload="field_47_1"><legend class='gfield_label gfield_label_before_complex' >Full Name</legend><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name no_last_name no_suffix gf_name_has_1 ginput_container_name' id='input_47_1'> <span id='input_47_1_3_container' class='name_first' > <input type='text' name='input_1.3' id='input_47_1_3' value='' aria-required='false' placeholder='Full Name' /> <label for='input_47_1_3' class='hidden_sub_label screen-reader-text'>First</label> </span> </div></fieldset><div id="field_47_2" class="gfield gfield--width-half form-label-pop field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_47_2"><label class='gfield_label' for='input_47_2' >Email</label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_47_2' type='text' value='' class='large' placeholder='Email' aria-invalid="false" /> </div></div><div id="field_47_3" class="gfield gfield--width-half form-label-pop field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_47_3"><label class='gfield_label' for='input_47_3' >Phone</label><div class='ginput_container ginput_container_phone'><input name='input_3' id='input_47_3' type='text' value='' class='large' placeholder='Phone' aria-invalid="false" /></div></div><div id="field_47_5" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_47_5"><p class="begin-form-text">A member of our team will call you to set-up an appointment with one of our attorneys and will collect payment. You can also reach us at (435) 586-9366 or at [email protected]</p></div></div></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_47' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_47"]){return false;} window["gf_submitting_47"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_47"]){return false;} window["gf_submitting_47"]=true; jQuery("#gform_47").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=47&amp;title=&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_47' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='47' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_47' value='WyJbXSIsImVmZTAzMGM0NGZjNDZjZDQwOGFjZWUxYmNjOWQ5N2IwIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_47' id='gform_target_page_number_47' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_47' id='gform_source_page_number_47' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_47' id='gform_ajax_frame_47' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type="text/javascript"> gform.initializeOnLoaded( function() {gformInitSpinner( 47, 'https://kkoslawyers.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_47').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_47');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_47').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_47').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_47').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_47').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_47').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_47').val();gformInitSpinner( 47, 'https://kkoslawyers.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [47, current_page]);window['gf_submitting_47'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_47').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_47').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [47]);window['gf_submitting_47'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_47').text());}, 50);}else{jQuery('#gform_47').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [47, current_page]);} );} ); </script>
[gravityform id="47" title="true"]
<div class='gf_browser_unknown gform_wrapper gravity-theme footer-form-1_wrapper' id='gform_wrapper_47' > <div class='gform_heading'> <h2 class="gform_title">Have us Call you</h2> <span class='gform_description'>Popup when user clicks "Call me" in footer</span> </div><form method='post' enctype='multipart/form-data' id='gform_47' class='footer-form-1' action='/roth-401k-versus-roth-ira-a-battle-for-the-ages-kind-of/' > <div class='gform_body gform-body'><div id='gform_fields_47' class='gform_fields top_label form_sublabel_below description_below'><fieldset id="field_47_1" class="gfield form-label-pop field_sublabel_hidden_label field_description_below gfield_visibility_visible" data-js-reload="field_47_1"><legend class='gfield_label gfield_label_before_complex' >Full Name</legend><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name no_last_name no_suffix gf_name_has_1 ginput_container_name' id='input_47_1'> <span id='input_47_1_3_container' class='name_first' > <input type='text' name='input_1.3' id='input_47_1_3' value='' aria-required='false' placeholder='Full Name' /> <label for='input_47_1_3' class='hidden_sub_label screen-reader-text'>First</label> </span> </div></fieldset><div id="field_47_2" class="gfield gfield--width-half form-label-pop field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_47_2"><label class='gfield_label' for='input_47_2' >Email</label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_47_2' type='text' value='' class='large' placeholder='Email' aria-invalid="false" /> </div></div><div id="field_47_3" class="gfield gfield--width-half form-label-pop field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_47_3"><label class='gfield_label' for='input_47_3' >Phone</label><div class='ginput_container ginput_container_phone'><input name='input_3' id='input_47_3' type='text' value='' class='large' placeholder='Phone' aria-invalid="false" /></div></div><div id="field_47_5" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_47_5"><p class="begin-form-text">A member of our team will call you to set-up an appointment with one of our attorneys and will collect payment. You can also reach us at (435) 586-9366 or at [email protected]</p></div></div></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_47' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_47"]){return false;} window["gf_submitting_47"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_47"]){return false;} window["gf_submitting_47"]=true; jQuery("#gform_47").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_47' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='47' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_47' value='WyJbXSIsImVmZTAzMGM0NGZjNDZjZDQwOGFjZWUxYmNjOWQ5N2IwIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_47' id='gform_target_page_number_47' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_47' id='gform_source_page_number_47' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div>