Skip to main content
Tax Deductions

Don’t Miss Out on the Tax Break for Qualified Improvement Property

Do you own or lease non-residential (think commercial) real property for your business or rent non-residential real property to others? If so, interior improvements you make to the property may be fully deductible in a single year instead of over multiple years. But to be deducted instantly, the improvements must fit into the category that the tax code calls “qualified improvement property” (QIP).

What Is Qualified Improvement Property?

Ordinarily, non-residential real property is depreciated over 39 years. And so are improvements to such real property after it is placed in service.

But Congress wants to encourage business owners to improve their properties. So, starting in 2018, the Tax Cuts and Jobs Act (TCJA) established a new category of depreciable real property: QIP, which has a much shorter recovery period than regular commercial property—15 years. But even better, for tax years 2021 and 2022, QIP can qualify for that immediate 100 percent bonus depreciation deduction.

QIP consists of improvements, other than personal property, made by the taxpayer to the interior of non-residential real property after the date the building was first placed in service. For example, QIP includes interior improvements or renovations to any of the following:

  • Office building (or single offices)
  • Restaurant or bar
  • Store
  • Strip mall
  • Motel or hotel
  • Warehouse
  • Factory

Since QIP applies only to non-residential property, improvements to residential rental property such as an apartment building are not QIP.

Transient Property

Airbnb and similar short-term residential rentals also qualify as non-residential property if they are rented on a transient basis—that is, over half of the rental use is by a series of tenants who occupy the unit for less than 30 days per rental.

QIP Examples

Examples of interior improvements that can receive QIP treatment include the following:

  • Drywall
  • Ceilings
  • Interior doors
  • Modifications to tenant spaces (if the interior walls are not load-bearing)
  • Fire protection
  • Mechanical
  • Electrical
  • Plumbing
  • Heating and air interior equipment and ductwork
  • Security equipment

QIP does not include improvements related to the enlargement of a building, an elevator or escalator, or the internal structural framework of a building. Structural framework includes “all load-bearing internal walls and any other internal structural supports.”

Placed in Service

QIP consists only of improvements made after the building was placed in service. But for these purposes, “placed in service” means the first time the building is placed in service by any person. By reason of this rule, you can purchase an existing property that was placed in service by an owner anytime in the past, renovate it before you place it in service, and still get QIP treatment.

But you have to make the improvements. You can’t acquire a building and treat improvements made by a previous owner as QIP.

How to Deduct Qualified Improvement Property

You may deduct the cost of QIP in one of three ways:

  • use first-year bonus depreciation,
  • use IRC Section 179 expensing, or
  • depreciate the cost over 15 years using straight-line depreciation.

As mentioned earlier, QIP placed in service in 2021 and 2022 is eligible for 100 percent bonus depreciation. That is, you can deduct the entire cost in one year, without limit.

Starting in 2023, the tax code reduces bonus depreciation by 20 percent per year until it is completely phased out for property placed in service in 2027.

If you would like to discuss the tax benefits of qualified improvement property, please contact East Coast Tax Consulting Group today.

Contact Us 

You deserve the best in IRS tax representation, tax preparation, and tax planning services. At East Coast Tax Consulting Group, you’ll work with a licensed CPA who will handle your case from beginning to end. We invite you to contact our team to schedule a free, confidential consultation.

[gravityforms id="5" title="false" description="false" ajax="true" tabindex="199"]
<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 gform_wrapper_original_id_5 gravity-theme whitepaper-cta-popup_wrapper' id='gform_wrapper_382745011' ><div id='gf_382745011' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <p class='gform_required_legend'>&quot;<span class="gfield_required gfield_required_asterisk">*</span>&quot; indicates required fields</p> </div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_382745011' id='gform_382745011' class='whitepaper-cta-popup' action='/dont-miss-out-on-the-tax-break-for-qualified-improvement-property/#gf_382745011' novalidate> <div class='gform_body gform-body'><div id='gform_fields_382745011' class='gform_fields top_label form_sublabel_below description_below'><div id="field_5_2" class="gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_5_2"><label class='gfield_label' for='input_382745011_2' >First Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_2' id='input_382745011_2' type='text' value='' class='large' tabindex='199' placeholder='First Name' aria-required="true" aria-invalid="false" /> </div></div><div id="field_5_3" class="gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_5_3"><label class='gfield_label' for='input_382745011_3' >Last Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_3' id='input_382745011_3' type='text' value='' class='large' tabindex='200' placeholder='Last Name' aria-required="true" aria-invalid="false" /> </div></div><div id="field_5_1" class="gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_5_1"><label class='gfield_label' for='input_382745011_1' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_382745011_1' type='email' value='' class='large' tabindex='201' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></div><div id="field_5_4" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_5_4"><label class='gfield_label' for='input_382745011_4' >Phone</label><div class='ginput_container'><input name='input_4' id='input_382745011_4' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_5_4'>This field is for validation purposes and should be left unchanged.</div></div></div></div> <div class='gform_footer top_label'> <button type='submit' onclick='if(window["gf_submitting_382745011"]){return false;} if( !jQuery("#gform_382745011")[0].checkValidity || jQuery("#gform_382745011")[0].checkValidity()){window["gf_submitting_382745011"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_382745011"]){return false;} if( !jQuery("#gform_382745011")[0].checkValidity || jQuery("#gform_382745011")[0].checkValidity()){window["gf_submitting_382745011"]=true;} jQuery("#gform_382745011").trigger("submit",[true]); }' id='gform_submit_button_382745011' class='gform_button button om-trigger-conversion'>Submit</button> <input type='hidden' name='gform_ajax' value='form_id=5&amp;title=&amp;description=&amp;tabindex=199' /> <input type='hidden' class='gform_hidden' name='is_submit_5' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='5' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_5' value='WyJbXSIsIjE3OGJjZmUyNjg3ZTQyOGFjZTRkZjMzZjBiOTAzYTRlIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_5' id='gform_target_page_number_5' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_5' id='gform_source_page_number_5' value='1' /> <input type='hidden' name='gform_random_id' value='382745011' /><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_382745011' id='gform_ajax_frame_382745011' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type="text/javascript"> gform.initializeOnLoaded( function() {gformInitSpinner( 382745011, 'https://www.eastcoasttaxconsulting.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_382745011').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_382745011');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_382745011').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_382745011').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_382745011').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_382745011').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_382745011').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_5').val();gformInitSpinner( 382745011, 'https://www.eastcoasttaxconsulting.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [382745011, current_page]);window['gf_submitting_382745011'] = 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_382745011').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_382745011').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [382745011]);window['gf_submitting_382745011'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_382745011').text());}, 50);}else{jQuery('#gform_382745011').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [382745011, current_page]);} );} ); </script>
[gravityforms id="5" title="false" description="false" ajax="true" tabindex="199"]
<div class='gf_browser_unknown gform_wrapper gform_wrapper_original_id_5 gravity-theme whitepaper-cta-popup_wrapper' id='gform_wrapper_1399232765' ><div id='gf_1399232765' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <p class='gform_required_legend'>&quot;<span class="gfield_required gfield_required_asterisk">*</span>&quot; indicates required fields</p> </div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_1399232765' id='gform_1399232765' class='whitepaper-cta-popup' action='/dont-miss-out-on-the-tax-break-for-qualified-improvement-property/#gf_1399232765' novalidate> <div class='gform_body gform-body'><div id='gform_fields_1399232765' class='gform_fields top_label form_sublabel_below description_below'><div id="field_5_2" class="gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_5_2"><label class='gfield_label' for='input_1399232765_2' >First Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_2' id='input_1399232765_2' type='text' value='' class='large' tabindex='199' placeholder='First Name' aria-required="true" aria-invalid="false" /> </div></div><div id="field_5_3" class="gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_5_3"><label class='gfield_label' for='input_1399232765_3' >Last Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_3' id='input_1399232765_3' type='text' value='' class='large' tabindex='200' placeholder='Last Name' aria-required="true" aria-invalid="false" /> </div></div><div id="field_5_1" class="gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_5_1"><label class='gfield_label' for='input_1399232765_1' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_1399232765_1' type='email' value='' class='large' tabindex='201' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></div><div id="field_5_4" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_5_4"><label class='gfield_label' for='input_1399232765_4' >Phone</label><div class='ginput_container'><input name='input_4' id='input_1399232765_4' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_5_4'>This field is for validation purposes and should be left unchanged.</div></div></div></div> <div class='gform_footer top_label'> <button type='submit' onclick='if(window["gf_submitting_1399232765"]){return false;} if( !jQuery("#gform_1399232765")[0].checkValidity || jQuery("#gform_1399232765")[0].checkValidity()){window["gf_submitting_1399232765"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_1399232765"]){return false;} if( !jQuery("#gform_1399232765")[0].checkValidity || jQuery("#gform_1399232765")[0].checkValidity()){window["gf_submitting_1399232765"]=true;} jQuery("#gform_1399232765").trigger("submit",[true]); }' id='gform_submit_button_1399232765' class='gform_button button om-trigger-conversion'>Submit</button> <input type='hidden' name='gform_ajax' value='form_id=5&amp;title=&amp;description=&amp;tabindex=199' /> <input type='hidden' class='gform_hidden' name='is_submit_5' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='5' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_5' value='WyJbXSIsIjE3OGJjZmUyNjg3ZTQyOGFjZTRkZjMzZjBiOTAzYTRlIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_5' id='gform_target_page_number_5' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_5' id='gform_source_page_number_5' value='1' /> <input type='hidden' name='gform_random_id' value='1399232765' /><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_1399232765' id='gform_ajax_frame_1399232765' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type="text/javascript"> gform.initializeOnLoaded( function() {gformInitSpinner( 1399232765, 'https://www.eastcoasttaxconsulting.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_1399232765').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_1399232765');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_1399232765').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_1399232765').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_1399232765').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_1399232765').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_1399232765').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_5').val();gformInitSpinner( 1399232765, 'https://www.eastcoasttaxconsulting.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [1399232765, current_page]);window['gf_submitting_1399232765'] = 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_1399232765').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_1399232765').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [1399232765]);window['gf_submitting_1399232765'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_1399232765').text());}, 50);}else{jQuery('#gform_1399232765').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [1399232765, current_page]);} );} ); </script>