TTi18n::gettext('Single'), 20 => TTi18n::gettext('Married (Filing Jointly)'), 30 => TTi18n::gettext('Married (Filing Separately)'), 40 => TTi18n::gettext('Head of Household'), */ var $state_income_tax_rate_options = [ 20160101 => [ 10 => [ [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 400 ], [ 'income' => 60000, 'rate' => 6.5, 'constant' => 2200 ], [ 'income' => 350000, 'rate' => 8.5, 'constant' => 3500 ], [ 'income' => 1000000, 'rate' => 8.75, 'constant' => 28150 ], [ 'income' => 1000000, 'rate' => 8.95, 'constant' => 85025 ], ], 20 => [ [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 400 ], [ 'income' => 60000, 'rate' => 6.5, 'constant' => 2200 ], [ 'income' => 350000, 'rate' => 8.5, 'constant' => 3500 ], [ 'income' => 1000000, 'rate' => 8.75, 'constant' => 28150 ], [ 'income' => 1000000, 'rate' => 8.95, 'constant' => 85025 ], ], 30 => [ [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 400 ], [ 'income' => 60000, 'rate' => 6.5, 'constant' => 2200 ], [ 'income' => 350000, 'rate' => 8.5, 'constant' => 3500 ], [ 'income' => 1000000, 'rate' => 8.75, 'constant' => 28150 ], [ 'income' => 1000000, 'rate' => 8.95, 'constant' => 85025 ], ], 40 => [ [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 400 ], [ 'income' => 60000, 'rate' => 6.5, 'constant' => 2200 ], [ 'income' => 350000, 'rate' => 8.5, 'constant' => 3500 ], [ 'income' => 1000000, 'rate' => 8.75, 'constant' => 28150 ], [ 'income' => 1000000, 'rate' => 8.95, 'constant' => 85025 ], ], ], 20150101 => [ 10 => [ [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 400 ], [ 'income' => 60000, 'rate' => 7.0, 'constant' => 2200 ], [ 'income' => 350000, 'rate' => 8.5, 'constant' => 3600 ], [ 'income' => 350000, 'rate' => 8.95, 'constant' => 28250 ], ], 20 => [ [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 400 ], [ 'income' => 60000, 'rate' => 7.0, 'constant' => 2200 ], [ 'income' => 350000, 'rate' => 8.5, 'constant' => 3600 ], [ 'income' => 350000, 'rate' => 8.95, 'constant' => 28250 ], ], 30 => [ [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 400 ], [ 'income' => 60000, 'rate' => 7.0, 'constant' => 2200 ], [ 'income' => 350000, 'rate' => 8.5, 'constant' => 3600 ], [ 'income' => 350000, 'rate' => 8.95, 'constant' => 28250 ], ], 40 => [ [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 400 ], [ 'income' => 60000, 'rate' => 7.0, 'constant' => 2200 ], [ 'income' => 350000, 'rate' => 8.5, 'constant' => 3600 ], [ 'income' => 350000, 'rate' => 8.95, 'constant' => 28250 ], ], ], 20120101 => [ 10 => [ [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 400 ], [ 'income' => 350000, 'rate' => 8.5, 'constant' => 2200 ], [ 'income' => 350000, 'rate' => 8.95, 'constant' => 28550 ], ], 20 => [ [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 400 ], [ 'income' => 350000, 'rate' => 8.5, 'constant' => 2200 ], [ 'income' => 350000, 'rate' => 8.95, 'constant' => 28550 ], ], 30 => [ [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 400 ], [ 'income' => 350000, 'rate' => 8.5, 'constant' => 2200 ], [ 'income' => 350000, 'rate' => 8.95, 'constant' => 28550 ], ], 40 => [ [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 400 ], [ 'income' => 350000, 'rate' => 8.5, 'constant' => 2200 ], [ 'income' => 350000, 'rate' => 8.95, 'constant' => 28550 ], ], ], 20100101 => [ 10 => [ [ 'income' => 4000, 'rate' => 0, 'constant' => 0 ], [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 240 ], [ 'income' => 40000, 'rate' => 8.5, 'constant' => 2040 ], ], 20 => [ [ 'income' => 4000, 'rate' => 0, 'constant' => 0 ], [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 240 ], [ 'income' => 40000, 'rate' => 8.5, 'constant' => 2040 ], ], 30 => [ [ 'income' => 2000, 'rate' => 0, 'constant' => 0 ], [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 320 ], [ 'income' => 40000, 'rate' => 8.5, 'constant' => 2120 ], ], 40 => [ [ 'income' => 4000, 'rate' => 0, 'constant' => 0 ], [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 240 ], [ 'income' => 40000, 'rate' => 8.5, 'constant' => 2040 ], ], ], 20090101 => [ 10 => [ [ 'income' => 4200, 'rate' => 0, 'constant' => 0 ], [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 232 ], [ 'income' => 40000, 'rate' => 8.5, 'constant' => 2032 ], ], 20 => [ [ 'income' => 4200, 'rate' => 0, 'constant' => 0 ], [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 232 ], [ 'income' => 40000, 'rate' => 8.5, 'constant' => 2032 ], ], 30 => [ [ 'income' => 2100, 'rate' => 0, 'constant' => 0 ], [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 316 ], [ 'income' => 40000, 'rate' => 8.5, 'constant' => 2116 ], ], 40 => [ [ 'income' => 4200, 'rate' => 0, 'constant' => 0 ], [ 'income' => 10000, 'rate' => 4.0, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 6.0, 'constant' => 232 ], [ 'income' => 40000, 'rate' => 8.5, 'constant' => 2032 ], ], ], 20060101 => [ 10 => [ [ 'income' => 2500, 'rate' => 0, 'constant' => 0 ], [ 'income' => 10000, 'rate' => 4.5, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 7.0, 'constant' => 337.50 ], [ 'income' => 40000, 'rate' => 8.7, 'constant' => 2437.50 ], ], 20 => [ [ 'income' => 2500, 'rate' => 0, 'constant' => 0 ], [ 'income' => 10000, 'rate' => 4.5, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 7.0, 'constant' => 337.50 ], [ 'income' => 40000, 'rate' => 8.7, 'constant' => 2437.50 ], ], 30 => [ [ 'income' => 1250, 'rate' => 0, 'constant' => 0 ], [ 'income' => 10000, 'rate' => 4.5, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 7.0, 'constant' => 393.75 ], [ 'income' => 40000, 'rate' => 8.7, 'constant' => 2493.75 ], ], 40 => [ [ 'income' => 2500, 'rate' => 0, 'constant' => 0 ], [ 'income' => 10000, 'rate' => 4.5, 'constant' => 0 ], [ 'income' => 40000, 'rate' => 7.0, 'constant' => 337.50 ], [ 'income' => 40000, 'rate' => 8.7, 'constant' => 2437.50 ], ], ], ]; var $state_options = [ 20180101 => [ 'allowance' => 4150, ], 20150101 => [ 'allowance' => 1775, ], //01-Jan-2014 - No Changes. //01-Jan-2013 - No Changes. //01-Jan-2012 - No Changes. //01-Jan-2011 - No Changes. 20100101 => [ 'allowance' => 1675, ], 20090101 => [ 'allowance' => 1750, ], 20060101 => [ 'allowance' => 1500, ], ]; var $state_ui_options = [ 20060101 => [ 'wage_base' => 9000, 'new_employer_rate' => 2.7 ], ]; function getStateAnnualTaxableIncome() { $annual_income = $this->getAnnualTaxableIncome(); $state_allowance = $this->getStateAllowanceAmount(); $income = bcsub( $annual_income, $state_allowance ); Debug::text( 'State Annual Taxable Income: ' . $income, __FILE__, __LINE__, __METHOD__, 10 ); return $income; } function getStateAllowanceAmount() { $retarr = $this->getDataFromRateArray( $this->getDate(), $this->state_options ); if ( $retarr == false ) { return false; } $allowance_arr = $retarr['allowance']; $retval = bcmul( $this->getStateAllowance(), $allowance_arr ); Debug::text( 'State Allowance Amount: ' . $retval, __FILE__, __LINE__, __METHOD__, 10 ); return $retval; } function _getStateTaxPayable() { $annual_income = $this->getStateAnnualTaxableIncome(); $retval = 0; if ( $annual_income > 0 ) { $rate = $this->getData()->getStateRate( $annual_income ); $state_constant = $this->getData()->getStateConstant( $annual_income ); $state_rate_income = $this->getData()->getStateRatePreviousIncome( $annual_income ); $retval = bcadd( bcmul( bcsub( $annual_income, $state_rate_income ), $rate ), $state_constant ); //$retval = bcadd( bcmul( $annual_income, $rate ), $state_constant ); } if ( $retval < 0 ) { $retval = 0; } Debug::text( 'State Annual Tax Payable: ' . $retval, __FILE__, __LINE__, __METHOD__, 10 ); return $retval; } } ?>