Inner TRIM3 Masthead
TRIM3 Logo

StateTax version 73.0

Version History

TRIM3's State Tax module simulates state income tax liability. (It does not simulate other kinds of taxes imposed by states.) The model includes state-by-state variations in allowable filing statuses, the definition of taxable income, deductions, exemptions, tax rates and brackets, and tax credits. In baseline simulations, the State Tax model follows each state's income tax procedures as closely as possible. Users can perform alternative simulations, applying different state tax rules in a state than are actually used. For example, even if a rule is actually used in only one state, a simulation can be run that applies that rule to other states.

The State Tax module uses as its starting point the potential tax units defined by a TRIM3 Federal Tax simulation. The Federal Tax module provides the State Tax module with numerous values needed to compute state income taxes, including a tax unit's federal adjusted gross income (AGI) and federal taxable income, a tax unit's total number of dependents and number of dependent children, and a tax unit's federal Earned Income Tax Credit (EITC). The State Tax module also uses information produced by other TRIM3 imputations and simulations, along with information reported in the underlying survey data.

The State Tax module calculates each unit's state income tax liability, less tax credits, for the simulation year. The model does not simulate what portion of the tax is paid through payroll tax deduction, estimated tax payments, or a final payment submitted with the tax return. The module assumes that tax units file a tax return if they are required to do so, or if they would be due a refundable credit.

Like TRIM3's Federal Tax module, the State Tax module can only compute taxes for "economic adults" on the CPS, since income is not reported on the records of children. To the extent that a child's income is captured on a parent's income record, the State Tax module implicitly taxes that income at the parent's tax rate.

For each potential tax unit, the steps in computing state tax liability include: determining whether a tax unit files a return, determining filing status, counting gross income for tax purposes, determining deductions and exemptions, establishing taxable income, applying the appropriate tax rates to the taxable income to compute an initial tax amount, and computing and subtracting tax credits to arrive at the final tax liability. This documentation describes each of these steps in detail, as follows:

Information is also provided on:

This discussion refers to the many different "program rules" that control the operation of each TRIM3 State Tax simulation. Some program rules hold numbers, others hold codes or phrases indicating what method or approach is used for a particular aspect of state income tax calculation, and others can hold lists of micro-level variable names (for instance, the list of income types that comprise total taxable income). Some program rules are national-level (with just one setting for all states), but most program rules in the State Tax module are state-specific. The discussion also refers to micro-level variables either used by or created by the State Tax module. Variables include tax-unit characteristics reported in the CPS, simulated or imputed by other TRIM3 modules, or created by the State Tax model. Both program rules and variables are italicized. Details on program rules and variables can be obtained from the tools in the TRIM3 Navigator.

Tax Filing Units

The state-specific program rule StateIncomeTaxType indicates whether to simulate income taxes in each state, when SimulationMode is set to "Standard: Do not use WhoMustFile rules". If StateIncomeTaxType is set to "Yes, this state has an income tax", then the state has an income tax system and the State Tax model simulates income taxes for households in that state.

Previous to version 23, the state-specific program rule WhoMustFile indicated if a state has an income tax system. To replicate runs up until CY2008, set SimulationMode to "Pre-2008" and use the WhoMustFile rules instead of StateTaxType. If WhoMustFile is set to any value except "no one," then the state has an income tax system and the State Tax model simulates income taxes for households in that state.

TRIM3's State Tax model uses as its starting point the tax filing units determined by TRIM3's Federal Tax model. In cases of married couples, the "head" of the filing unit is assumed to be the same spouse identified as the head by the Federal Tax model. Also, the unit is assumed to claim the same dependents on the state tax return as on the federal tax return.

One difference between the two models is that the State Tax model does not currently simulate state income tax for "dependent tax returns"--individuals who are dependents of another taxpayer but who also have their own income, who may not be allowed to take the same exemptions, deductions, or credits as non-dependent tax returns. The State Tax model currently assumes that dependents have no state income tax liability. This simplification has a negligible effect on the aggregate state income tax liability simulated by the module since these tax returns typically have very low tax amounts. (In the federal income tax system, dependent returns pay 0.35 percent of income tax after refundable credits.)

For each potential tax unit identified by the Federal Tax model (see the Federal Tax documentation for more information) StateTax assigns each one of four different filing statuses for purposes of the state income taxes: single, head of household, married filing joint, or combined separate. The module also determines if the tax unit is required to file a tax return. (Note that some units are simulated to file a return even if they are not required to do so if they are entitled to refundable tax credits that give them negative tax liability.)

Filing Status

The determination of the filing status for State Tax purposes depends on the filing status assigned in the Federal Tax module and the filing statuses available in a particular state. All units that were simulated to file single federal returns are simulated to file single state returns. If the state allows a head-of-household return (according to the program rule StateAllowsHeadOfHousehold) then if a unit was simulated to file as head-of-household at the federal level, the unit is also simulated to file a head-of-household state tax return. If a unit files as head-of-household at the federal level but the state does not allow such returns, the unit files as single.

Units that filed joint federal returns generally file joint state returns. However, some states allow married couples to file a "combined separate" return instead of a joint return if that would be advantageous for them. On actual state tax forms that allow combined-separate filing, each spouse individually lists their own income, exemptions, and so on, in two different columns on the form. Tax liability is computed for each set of figures, and the couple's final tax equals the sum of the two individual amounts.

Married couples-who are all simulated as filing joint returns in the Federal Tax model--are initially treated as joint filers for State Tax purposes. However, at the point in processing when sufficient information has been calculated about the couple, if the program rule StateAllowsCombinedSeparate indicates that a state allows combined-separate filing, the module calculates tax liability under both the joint and combined-separate options to determine the best choice. For more details, see the section on Combined Separate Units below.

Two other tax filing statuses-married filing separately and surviving spouse-are not modeled in either the State Tax or Federal Tax simulations. The married-filing-separately status is used only in rare cases that cannot be identified with the CPS data (such as when spouses must keep their finances entirely separate). The surviving-spouse status is generally for recent widows, and cannot be modeled because the CPS does not indicate how long a widow has been widowed.

Filing Requirements

If SimulationMode is set to "Standard" and StateIncomeTaxType is "Yes", then all tax units (except dependent tax units) must file a state income tax return, regardless of the amount or presence of taxable income.

In runs prior to CY2008, the State Tax model determines whether each tax unit is required to file a state income tax return, according to the setting of state-specific program rule WhoMustFile, as follows:

If WhoMustFile is set to "everyone," then all tax units (except dependent tax units, as mentioned above) must file a state income tax return, regardless of the amount or presence of taxable income.

If WhoMustFile is set to "everyone who filed a federal income tax form," the State Tax module must first determine who was required to file at the federal level. (TRIM3's Federal Tax simulation does not explicitly model which units are required to file; instead, federal tax liability is computed for all potential tax units.) The program rule FedFilingRequirement holds the federal tax filing thresholds, which vary by filing status and by elderly status. For comparison with the filing requirements, the State Tax model computes a tax unit's gross income-defined as the income variable(s) listed in program rule FedTotalIncome. (Under baseline program rules, when FedTotalIncome lists just one variable, the Federal Tax model's TotalIncome variable, this captures all types of income not completely exempt from taxation, except that Social Security income is not included.) In the case of a married couple, both the income of the head and spouse are added to determine gross income. If the tax unit's gross income exceeds the appropriate federal filing threshold, the tax unit must file a state income tax return.

If WhoMustFile is set to "everyone with gross income over a certain limit," "everyone with state AGI over a certain limit," or "everyone with taxable income over a certain limit," then the filing threshold is specified by the program rule FilingIncomeThreshold, which can hold different values for each state and each filing status. Additionally, if the state-specific program rule AdditionalElderlyExemption indicates that the filing threshold is increased for elderly taxpayers, the initial filing threshold is incremented by the amount in program rule ElderlyHeadSpouseExemptionAmt for each taxpayer (head and/or spouse) who is at least 65 years old.

The threshold is then compared to gross income, state AGI, or taxable income, depending on the setting of the WhoMustFile program rule. Gross income is defined as stated above (using the income amounts in program rule FedTotalIncome). The definitions of state AGI and taxable income are explained later in this documentation. If the income amount for the tax unit is greater than or equal to the appropriate filing threshold, the tax unit must file a state income tax return.

State AGI

The State Tax module defines StateAGI as the sum of income amounts that are taxed by the state, before the subtraction of any deductions or exemptions. (Note that a particular state might use the term "state AGI" in a different way.)

For each potential tax unit, the micro-level variable StateAGI is equal to the sum of the income variables listed in the program rule TaxableIncomeComponents for that unit's state less the sum of the values given in the AdjustmentsToIncome program rule for that state. If the potential filing unit is a married couple, income from both spouses is included in the calculation of StateAGI. The fact that the taxable income components and adjustments to income can vary from state to state allows the State Tax model to capture the substantial variation in the starting point of states' income tax calculations. For example, TaxableIncomeComponents may be a list of specific types of income, it may equal the federal AGI variable produced by TRIM3's Federal Tax module, or it may equal the federal taxable income variable produced by the Federal Tax module, among other possibilities.

If the rule DependentCareDeductionType indicates that there is a child care deduction that should be taken from state AGI, then the deduction is applied to AGI. The calculation is as follows:

Note that if OtherStateOptionType is not "No special option" then the DependentCareDeductionType options are not triggered.

In some states, the definition of income for tax purposes cannot be accurately captured with the program rules described above. In those cases, special processing can be invoked by "turning on" specific values of the state-specific program rule OtherStateOptionType. Currently, the possible OtherStateOptionType options that invoke special processing affecting the computation of StateAGI include the following: "Arkansas pension deduction", "Michigan exclusion of dividends/interest for elderly", "South Carolina married addition", "Wisconsin deduction of a portion of unemployment compensation", "Ohio personal exemption credit limitation", and "Nebraska Social Security add back". For more information on these options, click here.

The rule TwoEarnerDeductionType indicates whether there is a two earner deduction that should be taken from state AGI. Two earner deduction is only available for couples filing jointly and both having earnings. The deduction is taken from FederalAGI when calculating StateAGI and is the minimum of the limit specified in MaxDeductionLimit2Earner_MD and the portion of federal AGI of the person (head or spouse) that earns less.

Standard and Itemized Deductions

TRIM3's State Tax module can simulates both standard deductions and itemized deductions. For purposes of the computations described here, all married couples are treated as joint filers.

If a state allows units to subtract a standard deduction, the amount is controlled by state-specific program rules StdDeducPct, StdDeducMin, and StdDeducMax. A tax unit's standard deduction is computed as the percentage in StdDeducPct multiplied by the tax unit's TaxableIncomeComponents, subject to the minimum amount in StdDeducMin, and the maximum given by StdDeducMax. The minimum and maximum figures may vary by filing status-single, joint, or head of household. (At this point in the processing, all married couples are treated as joint filers.) The program rules can capture most of the variation in standard deductions across states. For instance, to model the case when no standard deductions are allowed, all the rules for a particular state are set to 0. To model a fixed standard deduction for a particular filing status, StdDeducPct can be set to 1 (100 percent) and the minimum and maximum for that filing status can be set to the same dollar amount. ElderlyHeadSpouseDeductionAmount specifies the additional standard deduction for elderly units.

A different calculation of the standard deduction is performed if the program rule OtherStateOptionType is set to "Wisconsin Standard Deduction." In that case, the standard calculation described above is bypassed and a special calculation of StateStdDeduction occurs. Click here for more details about this option.

If the state allows itemized deductions, this value is also calculated. If the state-specific program rule MustItemize indicates that a state allows itemized deductions, then a tax unit's itemized deduction (micro-level variable StateItemizedDeductions) is equal to the sum of the variables given by the program rule ItemizedDeductionComponents for that unit's state less the sum of the variables given by the rule AdjustmentsToItemizedDeduc for that state. These program rules allow TRIM3 to capture a wide range of state income tax rules. For example, if StateItemizedDeductions holds the variable that gives total itemized deductions for federal tax purposes, and AdjustmentsToItemizedDeduc holds no variables, units in that state will be allowed the same itemized deductions as on the federal tax return. Alternatively, some types of federal itemized deductions might be subtracted via a state's AdjustmentsToItemizedDeduc; or, only specific types of deductions might be listed via StateItemizedDeductions. The total amount of the state and local deduction may be limited by MaxStateAndLocalDeduc_VT.

The State Tax module creates a micro-level variable StateDeduction that is equal to the tax unit's standard or itemized deductions, as follows:

  • If a state does not allow itemized deductions (according to state-specific program rule MustItemize) then StateDeduction equals the standard deduction (variable StateStdDeduction) or equals 0 if the state allows no type of deductions.
  • If a state allows itemized deductions, and program rule MustItemize indicates that "Unit must itemize on state return if itemized on federal return" then the unit takes the same type of deduction that was used on the federal tax return. If the tax unit was simulated to use itemized deductions on the federal tax return (micro-level output variable FedDeductionType from the Federal Tax module is equal to 1) the unit's StateDeduction variable equals their StateItemizedDeductions amount. Otherwise, StateDeduction is set equal to StateStdDeduction.
  • If a state allows itemized deductions, and program rule MustItemize indicates that "Unit can choose whether or not to itemize on state return", the StateDeduction equals whichever amount is larger -- StateStdDeduction or StateItemizedDeductions.
  • If a state allows itemized deductions, and the rule DependentCareDeductionType is set to "Montana rules: portion of expenses taken as itemized deduction" then a portion of child care expenses are added to StateItemizedDeductions. For more information regarding this option, click here.

The micro-level variable StateDeductionType tells whether a unit's StateDeduction is a standard deduction or an itemized deduction.

Note that some states have no explicit deductions, but implicitly allow the same deductions as used on the federal return by starting their calculations with a unit's taxable income amount from the federal tax return. (Federal taxable income equals federal AGI less federal deductions and federal exemptions.) Other states allow no deductions, either explicitly or implicitly.

Exemptions

State policies concerning exemptions can be modeled using the state-specific program rules ExemptionType, PersonalExemptionAmt, and ElderlyHeadSpouseExemptionAmt, along with selected values of the program rule OtherStateOptionType. TRIM3 uses these program rules together with a tax unit's characteristics to compute the micro-level variables StateExemptions, StateNumExemptions, StateElderlyExemptions and StateNumElderlyExemptions. At this point in the processing, married couples are all treated as joint filers.

ExemptionType tells whether a state allows any kind of exemption and if so, how the exemption amount is calculated. PersonalExemptionAmt holds the specific dollar amounts used in conjunction with ExemptionType. PersonalExemptionAmt can capture exemptions that vary by filing status, by the number of persons (taxpayers and dependents) in the unit, and/or by the number of child dependents. The possible values of ExemptionType and how each is handled are as follows:

  • If ExemptionType is set to "no exemptions allowed" or "N/A" then the variable StateExemptions is set equal to zero.
  • If ExemptionType is set to "exemption allowed for each person in the unit" then a tax unit's StateExemptions equals the per-person amount in the PersonalExemptionAmt program rule for that tax unit's state, multiplied by the number of persons in the tax unit. The number of persons is defined as the number of taxpayers (one for a single or head-of-household return or two for a married couple) plus the number of dependents claimed by the unit according to the variable specified by program rule NumDependents. For example, a married couple with two dependents would be allowed four exemptions, a single parent with one child would have two exemptions, and so on. A unit's StateNumExemptions variable is also equal to the number of taxpayers plus dependents. The Oregon personal exemption is not available to tax units whose adjusted gross income exceeds the amount in program rule ExemptionIncomeLimit_OR.
  • If ExemptionType is set to "exemption allowed by filing status" then a tax unit's StateExemptions is equal to the amount in the PersonalExemptionAmt program rule for the tax unit's state and filing status. The StateNumExemptions variable is equal to the number of taxpayers.
  • If ExemptionType is set to "exemption allowed by filing status with additional exemption for dependents" then StateExemptions equals the amount in the PersonalExemptionAmt program rule for the tax unit's state and filing status, plus the per-dependent amount in PersonalExemptionAmt times the number of dependents claimed by the unit according to the variable specified by program rule NumDependentKids. (To allow flexibility, this program rule could specify either the same variable as specified by NumDependents or a different variable.) The StateNumExemptions variable is equal to the number of dependents plus the number of taxpayers.
  • If ExemptionType is set to "exemption allowed for each person in the unit with additional exemption for dependents" then a unit's StateExemptions equals the per-person amount in PersonalExemptionAmt times the number of persons in the unit (taxpayers plus total dependents) plus the per-dependent amount multiplied by the number of dependent children. A unit's StateNumExemptions variable is equal to the total number of persons plus the number of child dependents. In other words, child dependents are double-counted. (Note: This option cannot currently be used in conjunction with the "Arizona extra exemption for married families" option, or in a state that allows the combined separate filing status.)
  • If ExemptionType is set to "DC Personal Exemption Phase-out option" then the personal exemption is calculated as in the above description for "exemption allowed by filing status with additional exemption for dependents", but is subject to the following phase out: if the StateAGI is greater than the amount in PersonalExemptionPhaseOutBegin_DC[FilingStatus], then the exemption is reduced by the amount by which StateAGI exceeds PersonalExemptionPhaseOutBegin_DC multiplied by PersonalExemptionPhaseOutRate_DC. If the resulting exemption is less than 0, then the exemption is set to 0.

The program rule ElderlyHeadSpouseExemptionAmt indicates whether a state has additional exemptions for the elderly. If so, the amount in ElderlyHeadSpouseExemptionAmt is multiplied by the number of taxpayers in the unit who are age 65 or older. If the program rule ElderlyExemptionCannotExceedIndivIncome is set to "Yes" then the amount of the exemption is the lesser of ElderlyHeadSpouseExemptionAmt or the individual's state AGI. In Ohio, elderly units are eligible for the exemption only if the unit's adjusted gross income minus exemptions is less than the limit in EldHeadSpouseExemIncLimit_OH. The tax unit's elderly exemption amount is reported in the simulated output variable StateElderlyExemptions, and StateNumElderlyExemptions indicates the number of elderly taxpayers receiving the exemption. Note that in versions previous to 15.4 the elderly exemption was included into the variables StateExemptions and StateNumExemptions.

In some states, the computation of exemptions cannot be accurately captured with the program rules described above. In those cases, special processing can be invoked by "turning on" specific values of the state-specific program rule OtherStateOptionType. Currently, two possible values of OtherStateOptionType -- "Arizona extra exemption for married families", "Connecticut special exemption", and "Alabama dependent exemption" -- bypass the standard processing and instead perform a separate calculation of the exemption amount. For more information about these options, click here.

Taxable Income

TRIM3's State Tax module defines "taxable income" as the amount of income that is compared to a state's tax brackets and tax rates to determine the unit's tax liability (before credits).

A micro-level variable TaxableIncome is created for each potential tax unit that is generally equal to the tax unit's StateAGI minus the unit's StateDeduction minus the unit's StateExemptions and StateElderlyExemptions. However, if the state-specific program rules UseExemptionAmtAsCredit and UseElderlyExemptionAmtAsCredit for the state are set to "use the exemption amount as a credit," the StateExemptions and StateElderlyExemptions amounts are not subtracted in determining taxable income; instead, it is subtracted as a credit, as described in the Credits section of this documentation.

Combined Separate Processing

In the case of married-couple units, if a state allows combined separate filing according to the program rule StateAllowsCombinedSeparate, then the computation of State AGI, deductions, exemptions, and taxable income is performed twice-once treating the couple as if they are filing jointly, and again under the combined-separate option. Under the combined-separate option, separate amounts are computed for each spouse.

State AGI

The married couple's total StateAGI amount is split between the two spouses in proportion to their earnings, creating two separate variables: IfSep_Hd_AGI and IfSep_Sp_AGI. A person's earnings is defined as the sum of his/her wages (TotalWages), non-farm self-employment income (BusinessSelfEmployment), and farm self-employment income (FarmSelfEmployment). These income components must be provided to the module through the variablelist rule EarnedIncome. (Note that this makes the simplifying assumption that any unearned income that is part of a couple's StateAGI -- interest, pension income, and so on -- is received by each spouse in proportion to their earnings.) If neither spouse in a married couple has earnings, the couple's StateAGI is divided evenly between the two spouses.

Deductions

The married couple's standard deduction or itemized deductions (described above) are divided between the head and the spouse, creating two variables: IfSep_Hd_Deduction and IfSep_Sp_Deduction. If the couple was simulated to itemize deductions in the earlier processing, then IfSep_Hd_Deduction and IfSep_Sp_Deduction are created by allocating StateItemizedDeductions in proportion to the earnings of the two spouses. If the couple was simulated to use a standard deduction in the earlier processing, then IfSep_Hd_Deduction and IfSep_Sp_Deduction are created by dividing StateStdDeduction equally between the two spouses.

Exemptions

If the state has exemptions, then an exemption amount and number of exemptions is computed for each of the two spouses, resulting in variables IfSep_Hd_Exemptions, IfSep_Sp_Exemptions, IfSep_Hd_NumExemptions, and IfSep_Sp_NumExemptions. The methods depend on the state's method for computing exemptions, as follows:

  • If ExemptionType is set to "exemption allowed for each person in the unit" then IfSep_Hd_Exemptions and IfSep_Sp_Exemptions are both equal to one-half of StateExemptions. Similarly, IfSep_Hd_NumExemptions and IfSep_Sp_NumExemptions are equal to one half of StateNumExemptions. (Note that if the total number of exemptions is an odd number, each spouse's portion will not be a whole number.)
  • If ExemptionType is set to "exemption allowed by filing status" then we treat both the head and the spouse as if they were single. This means that each spouse's exemption amount is equal to the state's PersonalExemptionAmt for those filing as single and each spouse's number of exemptions is equal to one.
  • If ExemptionType is set to "exemption allowed by filing status with additional exemption for dependents" then each spouse's exemption amount is equal to the state's PersonalExemptionAmt for those filing single returns plus one half of the number of dependent children times the PersonalExemptionAmt for dependent children. Each spouse's number of exemptions is equal to one plus one-half of the number of dependent children.

(Note that the current code does not support the exemption option "exemption allowed for each person in the unit with additional exemption for dependents" for states with combined-separate filing.)

In some states, the computation of exemptions in the combined-separate case cannot be accurately captured with the program rules described above. In those cases, special processing can be invoked by "turning on" specific values of the state-specific program rule OtherStateOptionType. Currently, three values of OtherStateOptionType -- "Arizona extra exemption for married families", "Arizona treatment of dependents for combined separate filing", and "Alabama dependent exemption" invoke special processing. For more information about these options, click here.

Taxable Income

After determining each spouse's individual AGI, deductions, and exemptions, taxable income is calculated for each spouse. IfSep_Hd_TaxableIncome is equal to IfSep_Hd_AGI minus IfSep_Hd_Deduction and minus IfSep_Hd_Exemptions. IfSep_Sp_TaxableIncome is equal to IfSep_Sp_AGI minus IfSep_Sp_Deduction and minus IfSep_Sp_Exemptions. As with the standard computation of taxable income, the exemption amount is not subtracted from the taxable income amount if the program rule UseExemptionAmtAsCredit for the state is set to "use the exemption amount as a credit". Otherwise the value of the exemption is subtracted later. (See the Credits section for more details.) The separate taxable income amounts for each spouse are used in the calculation of StateTaxWithoutCredits to decide whether a married couple in a state with combined-separate filing is better-off filing a joint return or a combined-separate return.

Tax Before Credits

After determining taxable income, the State Tax model can calculate each unit's initial income tax liability. This initial income tax liability may be reduced if a tax unit is entitled to any tax credits, as discussed below. A tax unit's StateTaxWithoutCredits is computed using the tax brackets and tax rates specified by the state-specific program rules StateTaxBrackets and StateTaxRates. The StateTaxBrackets values -- which are dollar amounts that define income ranges -- may vary by filing status. However, there is only one set of tax rates per state.

StateTaxWithoutCredits is calculated by comparing StateTaxableIncome with the values in StateTaxBrackets and then multiplying the dollars that fall within each tax bracket by the tax rate for that bracket. For example, assume that for a particular state and filing status, income from $1 to $20,000 is taxed at 1 percent, income from $20,001 to $50,000 is taxed at 3 percent, and income above $50,000 is taxed at 5 percent. If a tax unit's taxable income is $60,000 then that unit's StateTaxWithoutCredits is equal to 1% of the first $20,000 ($200), 3% of the next $30,000 ($900) and 5% of the remaining $10,000 above $50,000 ($500), for a total tax before credits of $1,600.

For married-couple units in states that allow combined separate filing, StateTaxWithoutCredits is calculated twice: first using the joint brackets and rates and StateTaxableIncome, and then separately for each spouse, using the single brackets and rates and IfSep_Hd_TaxableIncome and IfSep_Sp_TaxableIncome. These values for each spouse are then added together to arrive at the total tax without credits under the combined-separate option. The State Tax model assumes that the married couple will choose the filing status that results in the lower StateTaxWithoutCredits. (Note that in some cases, a married couple might be eligible for a different amount of tax credit depending on whether they file a joint or combined-separate return; that information is not currently factored into TRIM3's filing-status decision.)

In some states, the computation of tax liability cannot be accurately captured with the methods described above. In those cases, special processing can be invoked by "turning on" specific values of the state-specific program rule OtherStateOptionType. Currently, seven values of OtherStateOptionType can modify the tax calculation. The "Louisiana tax calculation" option modifies the amount taxed in the first bracket, the "Iowa alternate tax calculation" option sets StateTaxWithoutCredits to an alternate tax amount if this amount is lower than the regular tax amount, and the "Maine no tax floor", "Massachusetts no tax status", "West Virgina no tax floor", "New Jersey no tax floor", and "Utah no tax floor" options can set StateTaxWithoutCredits to zero if certain conditions are met. For more information about these options, click here.

Credits

The State Tax module simulates many different types of tax credits used in state income tax systems: exemptions used as credits, earned income tax credits, child care credits, low income credits, property tax credits and other miscellaneous credits. The State Tax model does not currently simulate all property tax credits or renters' credits, and it does not currently model most credits that are focused solely on elderly taxpayers.

TRIM3 captures the fact that some credits are refundable, while other tax credits are non-refundable. A non-refundable credit reduces tax liability by its amount, but the result is not allowed to go below zero. A refundable credit also reduces tax liability, but the result is allowed to go below zero. Each type of tax credit modeled by State Tax is described below.

Exemption As Credit

If the state-specific program rules UseExemptionAmtAsCredit and UseElderlyExemptionAsCredit indicate that a state will "use exemption amount as credit" then the unit's exemption amounts (the micro-level variables StateExemption and StateElderlyExemptions) are treated as a tax credit (a new micro-level variables StateExemptionsUsedAsCredit). This type of tax credit is always a non-refundable tax credit.

Earned Income Tax Credit

An earned income tax credit provides a tax benefit to lower-income tax units with earned income. Earned income tax credits are simulated according to the information in the state-specific program rule EITCType. This program rule has ten options:

If a state's EITCType is set to any value except "no EITC," an EITC amount is computed and saved as the micro-level variable StateEITC. If EITCType is equal to "EITC is percentage of federal EITC," StateEITC is equal to the unit's federal EITC amount (the variable specified by the program rule FedEITC) times the percent given in program rule EITCPct for this state and the unit's number of dependent children (from the variable specified in program rule NumDependentKids). For information on how the state EITC is computed under the "Maryland option" or "Minnesota option", click here.

In most cases, the program rule EITCIsRefundable tells whether or not the state EITC is refundable. Under the "Maryland option" of EITCType, units choose either a refundable or nonrefundable state EITC.

Child Care Credits

Child care credits reduce tax liability for tax units with child care expenses. State-specific program rule ChildCareCreditType indicates whether a state has a child care tax credit and how it is computed. Child care credits are saved in the micro-level variable StateChildCareCredits. When the child care credit is a percent of the federal child care credit, the federal credit is obtained from state tax program rule FedAllowedChildCareCredit.

The possible values of ChildCareCreditType are:

Some states compute a child care credit as a percentage of the federal child and dependent care tax credit (CDCTC). In these states, a unit is entitled to a state child care credit only if it qualified for a federal child care credit. Among the states that compute a state child care credit as a percentage of the federal credit, some determine that percentage based on a unit's state AGI (defined as described above), others determine the percentage based on federal AGI (defined in the Federal Tax module), and one (New Jersey) determines the percentage based on the state taxable income. The tax unit's AGI (either state or federal) or state taxable income is compared to the brackets in program rule ChildCareCreditBrackets for the tax unit's state to determine the credit percentage. If the unit's AGI or taxable income falls in the first income bracket, the first percentage in state-specific program rule ChildCareCreditRates is used, if the unit's AGI or taxable income falls in the second income bracket, the second percentage is used, and so on. The appropriate percentage is multiplied by the federal CDCTC amount (the variable listed in program rule FedChildCareCredit) to determine the state child care credit (variable StateChildCareCredits).

The computation of the child care credit as a percentage of the allowed federal credit operates in the same way as described above when the credit is computed as a percentage of CDCTC except that the applicable percentage is multiplied by the amount in FedAllowedChildCareCredit.

Other states use different methods to compute child care credits. These methods are captured by the other values of ChildCareCreditType listed above. For information on how child care credits are computed under each of these options, click here.

The state-specific program rule ChildCareCreditIsRefundable tells whether a state's child care credit is refundable. This program rule applies to all the values of ChildCareCreditType, except in cases when one of the state-specific settings of ChildCareCreditType invokes a system that involves both refundable and nonrefundable child care credits. In those cases, ChildCareCreditIsRefundable is coded to indicate that both types of credits exist.

Low Income Credits

State-specific program rule LowIncomeCreditType indicates whether a state has a low income credit and if so, what set of rules to use to compute that credit. The credits modeled using LowIncomeCreditType are generally those that are identified as "low income credits" on a state's income tax form (as opposed to other credits focused on low-income families). Low income credits are saved in the micro-level variable StateLowIncomeCredit.

LowIncomeCreditType has the following possible values:

For detailed information about the computation of each of the state-specific low income credits, click here. For a listing of the refundability of each of these credits, click here.

.

Property Tax Credits

State-specific program rule PropertyTaxCredit indicates whether a state has property tax credits that are modeled by TRIM3's State Tax model. Up to three credits can be specified for each state. The total amount of property tax credits is saved as micro-level variable StatePropertyTaxCredit.

The property tax credits modeled by State Tax are:

For detailed information about the computation of each of the state-specific property tax credits, click here. For a listing of the refundability of each of these credits, click here.

Other Tax Credits

State-specific program rule OtherTaxCreditType indicates whether a state has other tax credits that are modeled by TRIM3's State Tax model. Up to three credits can be specified for each state. The total amount of other tax credits is saved as micro-level variable StateOtherTaxCredit.

The types of other tax credits modeled by State Tax are:

For detailed information about each of these credits, click here. For a listing of the refundability of each of these other tax credits, click here. Refundable credits modeled via OtherTaxCreditType are saved in micro-level variable PotentialOtherStateRefCredit, and non-refundable credits are saved in micro-level variable PotentialOtherStateNRCredit.

Tax Calculation

A tax unit's potential state tax liability (micro-level variable PotentialStateTax) depends on the unit's initial StateTaxWithoutCredits and the unit's refundable and non-refundable tax credits. In some cases, a decision must be made between a refundable and non-refundable option for a particular credit. The tax unit's final state income tax liability (micro-level variable StateTax) is equal to PotentialStateTax whenever the tax unit is either required to file or would be due a tax refund by filing.

Subtracting Refundable and Nonrefundable Tax Credits

As discussed above, some tax credits are refundable while others are non-refundable. The State Tax model combines a tax unit's non-refundable credits into the micro-level variable StateNRCredits and combines a tax unit's refundable credits into the micro-level variable StateRefundableCredits. For example, if a state has a nonrefundable child care credit, the amount of StateChildCareCredits is included in the unit's StateNRCredits variable, while in a state with a refundable child care credit, the amount of each unit's StateChildCareCredits is added to the unit's StateRefundableCredits.

To compute tax liability, a unit's nonrefundable credits (micro-level variable StateNRCredits) are subtracted from StateTaxWithoutCredits, but the result is not allowed to fall below 0. Then, a unit's refundable credits are subtracted, and the result may fall below 0. This results in the micro-level variable PotentialStateTax.

Choosing Between Two Credits

Some state-specific options require a choice between a refundable and a non-refundable credit. These credits are: "Maryland EITC", the "Nebraska child care credit" and the "Vermont child care credit". In each of these cases, PotentialStateTax is calculated twice, once with the non-refundable credit (PotentialNREITC or PotentialNRChildCareCredit) and once with the refundable credit (PotentialRefEITC or PotentialRefChildCareCredit). The credit that results in the lowest tax liability is kept and its value is added into either StateNRCredits or StateRefundableCredits. The final tax calculation is stored in PotentialStateTax. Because this decision requires that all other credits be calculated and added into either StateNRCredits or StateRefundableCredits, any two credits that require such a choice cannot be combined for any given state.

Final State Income Tax Liability

Units are simulated as filing a tax return if they are required by the rules of their state to file a state income tax return (as discussed above) or if they would be better off by filing a tax return (because their PotentialStateTax is less than 0). These units are marked as tax filers, and their StateTax is set equal to PotentialStateTax. Otherwise, units are marked as non-filers, and their StateTax is set equal to 0.

Note that some units with PotentialStateTax equal to 0 are nonetheless required to file state income tax returns according to their states' rules, and thus are modeled as tax filers with StateTax equal to 0. Other units with PotentialStateTax equal to 0 are not required to file.

Also note that some tax units with PotentialStateTax greater than 0 have StateTax equal to 0. These are units that are not required to file a tax return according to their state's filing rules. Generally, these units have a very low amount of PotentialStateTax.

Setting up and Running State Tax Simulations

As discussed earlier, the State Tax module requires information produced by several TRIM3 modules. Many of the variables required by the State Tax module are produced by the Federal Tax model. Other required variables are produced by the Child Care Expense, SSI, and TANF modules, or obtained from the statistical match that precedes the Federal Tax simulation.

For a baseline State Tax simulation, the baseline simulations of the other TRIM modules are used to provide information to State Tax. Alternatively, if alternative simulations have been performed of other modules-particularly Federal Tax-State Tax can be run to determine the secondary impact of those changes on State Tax liabilities.

The module allows great flexibility for specifying simulations with non-baseline settings of State Tax rules. For example, the same state tax rules could be used across all states, or a particular policy currently used in a subset of states could be applied to additional states. When the code does not support the combination of certain policies, it is noted in the documentation.

Several conventions concerning the State Tax program rules are important to note, particularly for individuals who may be setting up alternative State Tax simulations or looking in detail at micro-level results.

  • TRIM3 computes state income tax liabilities and tax credits using mathematical formulas, rather than using the "tax tables" used by most taxpayers. Although the tax tables are based on the formulas, in some cases the results produced by the formulas may differ from the value shown in a table by a very small amount.
  • TRIM3 program rules that hold income brackets are set up such that the first bracket is from $1 to the first amount specified, the second amount is from one dollar more than the first amount to the second and so on. The final bracket amount should be at least 9,999,999,999 to ensure that all incomes are included (even when topcoded survey income amounts have been augmented to capture higher-income taxpayers).
  • For some policies, more than one program rule must be specified in order to implement the option. For example, if a child care credit is specified for a particular state that equals a percentage of the federal child care credit, brackets and rates must also be specified.

State Tax Module Output

The State Tax module produces two types of output: micro-level variables and standard summary tables.

Micro-level output variables can be tabulated or extracted by users with access to the TRIM3 Navigator. A complete list of micro-level output variables is available from the TRIM3 Dictionary. Most micro-level variables are saved only to the record of the filing-unit head (to avoid double-counting when summing over persons). See the Dictionary descriptions for details.

The module creates several different summary tables with state-specific data. In all the tables, the universe includes all the tax units simulated to file a tax return-in other words, those who were required to file a tax return plus the units with negative StateTax who are simulated to file a tax return even when not required to do so.

The tables show state-by-state results, as follows:

  • Table S1: unweighted and weighted tax returns, and aggregate tax liability
  • Table S2: mean amounts of AGI, taxable income, tax before credits, tax after nonrefundable credits, tax after refundable credits
  • Table S3: number of tax returns by filing status
  • Table S4: number of tax units by impact of tax credits (whether tax credits reduce tax liability to a lower positive amount, to 0, etc.)
  • Table S5: units with each of four major types of tax credits (EITC, child care, low income credits, other tax credits or exemption credits) and mean non-0 amounts
  • Table A1: tax before credits and total tax liability by state AGI

Note that the mean amounts that are shown (mean AGI, mean tax liability) may include 0s and negative amounts.