Maryland Military Coalition
Maryland Military Coalition Maryland Military Coalition
Member Login    News    Support the MMC          
ARMY    MARINE CORPS    NAVY    AIR FORCE    SPACE FORCE    COAST GUARD    NOAA    USPHS
Maryland Military Coalition
Maryland Military Coalition
Maryland Military Coalition Maryland Military Coalition
Polling Places

2023-01-10
Coalition Supports Bill to Expand Polling Place Access at Colleges and Military Bases. A...
Read More

Register for News Story Emails.
Maryland Military Coalition
 
Site Navigation: Collapse

>  Home Page
>  Who We Are
  >  Officers
  >  Organizations
  >  Donations
  >  News

>  Advocacy

>  Testimony
  >  Testimony 2023
    >  Testimony HB15 Income
    >  Testimony SB115 Juveni
    >  Testimony SB289 Higher
  >  Testimony 2024

>  Action Alerts
  >  Alerts 2023
    >  HB554 SB553 Keep Our H
  >  Alerts 2024

>  Contacts
  >  Contact List
  >  Email Form


Testimony HB15 Income Tax Subtraction

Statement of Jayson L. Spiegel

Maryland Military Coalition

HB0015 – Income Tax Subtraction Modification –

Military and Public Safety Retirement Income

February 2,  2023

FAVORABLE WITH AMENDMENT

 

Dear Chair Atterbeary and Members of the Ways and Means Committee:

The Maryland Military Coalition (MMC) strongly supports HB 0015, which will increase the income tax exemption for uniformed services retirement income from $15,000 to $20,000.

The Maryland Military Coalition is a non-partisan organization of 19 Veteran organizations representing over 150,000 Maryland uniformed services men and women and their families -- almost half of the 355,000 veterans in the State.

As of today, 38 states fully exempt uniformed services retirement pay from state taxation. Maryland only exempts the first $15,000 in retirement pay and only for retirees over the age of 55. Since Maryland last updated its partial exemption in 2010, 23 states have fully exempted retirement pay.

Three of the four states adjoining Maryland FULLY exempt retirement pay (WV, PA and NJ). Virginia EXEMPTS MORE retirement pay. Governor Younkin and legislative leaders have committed to phasing in full exemption THIS YEAR.

The maps following this testimony illustrate how Maryland is lagging behind other states on this issue.

As Governor Moore stated in his 2024 budget, “exempting a portion of military retirement income received by veterans from State income tax, (makes) MARYLAND MORE COMPETITIVE IN ATTRACTING ND RETAINING RETIRED MILITARY PERSONNEL.”

The Governor’s plan would increase the exemption from $15,000 to $25,000 in 2024 and $40,000 in 2025 and remove the age restriction in 2024. During his January 26, 2023 town hall with veterans, Governor Moore stated his support for full exemption.

Exempting military retirement pay incentivizes retirees to live, work and spend in Maryland. Most retiring Servicemembers are in their early to mid-40s when they retire and will work in the civilian economy for an additional 25 years. Their income from post-military civilian employment is FULLY TAXABLE by the state.

In 2019, the Towson University Regional Economic Studies Institute completed a study requested by the General Assembly entitled “A Study of Employment in the State’s Defense Industry.” https://commerce.maryland.gov/Documents/ResearchDocument/employment-in-maryland-defense-study-HB-1542-2019.pdf  

The study concluded that while uniformed services retirees in Maryland have access to a wide variety of employment opportunities, they consider the tax burden when deciding where to live and work. They can choose to work in Maryland but live in a neighboring state such as Pennsylvania that does not tax military retirement. Moreover, the rise of remote work in the aftermath of the COVID pandemic means that they can work for a Maryland employer from a home in a state that does not tax military retirement.

Maryland has 20 military facilities supporting medical, chemical and biological defense R&D, military intelligence, cybersecurity, and more.[1]  The state ranks in the top 10 nationally for total defense spending ($26.3 billion, #6), defense spending as a percent of state GDP (5.8%, #7), defense contract spending ($17.9 billion, #8), number of defense personnel (96,310, #8), and defense personnel payroll ($8.3 billion, #5).

The defense industry represents 15.4% of Maryland’s GDP and generates tens of thousands of jobs.

Military retirees have expertise in healthcare, cyber, IT, and research, and often have security clearances. Maryland already faces critical shortages in those areas, which typically pay near or above $100,000 per year..

It is not economically feasible for employers to fill these positions with applicants who do not have the required clearance or experience. Obtaining a clearance can take over a year and cost the employer tens of thousands of non-reimbursable costs.

If qualified cleared military retirees are unwilling to live and work in Maryland because their retirement pay is taxed, those jobs will not be filled, and Maryland will not derive tax revenues from those positions. Furthermore, military retiree household spending — items such as groceries, rent, mortgage payments and recreation — benefits the economy. The study said this spending associated with one military retiree’s household sustains nearly $115,000 in economic activity and supports $7,550 in state and local tax revenues. However, these “ripple effects” are only felt if the military-retiree household resides in the state.

According to the Tax Foundation, Maryland ranks 45th out of 50 states for its individual income tax.  Only Hawaii (#46), Connecticut (#47), New Jersey (#48), California (#49), and New York (#50) rank lower. Four of those states fully exempt military retirement from state taxation. California is considering legislation this year to fully exempt retirement pay.

In response to the Governor’s budget and recent meeting with veterans, Speaker Jones and Senate President Ferguson were quoted as saying they are “committed to making Maryland a more competitive state to live and work. We are happy to work with Governor Moore on this and any other proposal that makes Maryland a better place for military retirees and their families.” https://www.washingtonpost.com/dc-md-va/2023/01/26/wes-moore-veterans-tax-break/

 The MMC supports HB0015 as a first step to eventual full exemption and elimination of the age restriction.

We want to thank Delegate Rogers for his leadership on this issue. I urge the Committee to favorably report the bill with an amendment to remove the age restriction and increase the exemption to the levels specified in the Governor’s “Keep Our Heroes Home Act.”

 

 

Respectfully,

 

 

 

Jayson Spiegel

LTC USAR (Ret)

President

Maryland Military Coalition
Maryland Military Coalition

Error Occurred While Processing Request The web site you are accessing has experienced an unexpected error.
Please contact the website administrator.


The following information is meant for the website developer for debugging purposes.
Error Occurred While Processing Request

Error Executing Database Query.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4
 
The error occurred in C:/home/mdmilcoalition.org/wwwroot/template_subpage3.cfm: line 31
Called from C:/home/mdmilcoalition.org/wwwroot/pagesub2.cfm: line 804
Called from C:/home/mdmilcoalition.org/wwwroot/pagesub2.cfm: line 1
Called from C:/home/mdmilcoalition.org/wwwroot/template_subpage3.cfm: line 31
Called from C:/home/mdmilcoalition.org/wwwroot/pagesub2.cfm: line 804
Called from C:/home/mdmilcoalition.org/wwwroot/pagesub2.cfm: line 1
29 : 	*
30 : 	FROM pagesub3
31 : 	where pagesub2id = #getpagesub2.pagesub2id#
32 : 	</CFQUERY>
33 : 

SQLSTATE   42000
DATASOURCE   mdmc1
VENDORERRORCODE   1064
SQL    SELECT * FROM pagesub3 where pagesub2id =
Resources:

Browser   CCBot/2.0 (https://commoncrawl.org/faq/)
Remote Address   44.197.111.121
Referrer  
Date/Time   23-Sep-23 12:38 AM
Stack Trace
at cftemplate_subpage32ecfm1502091440.runPage(C:/home/mdmilcoalition.org/wwwroot/template_subpage3.cfm:31) at cfpagesub22ecfm821435311._factor13(C:/home/mdmilcoalition.org/wwwroot/pagesub2.cfm:804) at cfpagesub22ecfm821435311.runPage(C:/home/mdmilcoalition.org/wwwroot/pagesub2.cfm:1) at cftemplate_subpage32ecfm1502091440.runPage(C:/home/mdmilcoalition.org/wwwroot/template_subpage3.cfm:31) at cfpagesub22ecfm821435311._factor13(C:/home/mdmilcoalition.org/wwwroot/pagesub2.cfm:804) at cfpagesub22ecfm821435311.runPage(C:/home/mdmilcoalition.org/wwwroot/pagesub2.cfm:1)

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4
	at jdk.internal.reflect.GeneratedConstructorAccessor164.newInstance(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
	at com.mysql.jdbc.Util.getInstance(Util.java:387)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:939)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2547)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2505)
	at com.mysql.jdbc.StatementImpl.executeInternal(StatementImpl.java:840)
	at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:928)
	at coldfusion.server.j2ee.sql.JRunStatement.execute(JRunStatement.java:359)
	at coldfusion.sql.Executive.executeQuery(Executive.java:1567)
	at coldfusion.sql.Executive.executeQuery(Executive.java:1317)
	at coldfusion.sql.Executive.executeQuery(Executive.java:1247)
	at coldfusion.sql.SqlImpl.execute(SqlImpl.java:427)
	at coldfusion.tagext.sql.QueryTag.executeQuery(QueryTag.java:1211)
	at coldfusion.tagext.sql.QueryTag.startQueryExecution(QueryTag.java:841)
	at coldfusion.tagext.sql.QueryTag.doEndTag(QueryTag.java:794)
	at cftemplate_subpage32ecfm1502091440.runPage(C:\home\mdmilcoalition.org\wwwroot\template_subpage3.cfm:31)
	at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:262)
	at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:735)
	at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:565)
	at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:4329)
	at cfpagesub22ecfm821435311._factor13(C:\home\mdmilcoalition.org\wwwroot\pagesub2.cfm:804)
	at cfpagesub22ecfm821435311.runPage(C:\home\mdmilcoalition.org\wwwroot\pagesub2.cfm:1)
	at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:262)
	at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:735)
	at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:565)
	at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
	at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:595)
	at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:43)
	at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
	at coldfusion.filter.PathFilter.invoke(PathFilter.java:162)
	at coldfusion.filter.IpFilter.invoke(IpFilter.java:45)
	at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:96)
	at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:78)
	at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
	at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
	at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:60)
	at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
	at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
	at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
	at coldfusion.CfmServlet.service(CfmServlet.java:226)
	at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:311)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:46)
	at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:47)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:377)
	at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:463)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.base/java.lang.Thread.run(Thread.java:834)