From 09f774defbf6c4e709d0bbff53c84ae2c83f3368 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 14 Sep 2023 13:43:27 -0600 Subject: [PATCH 001/194] Updated parameters/.../ar/README.md --- fiscalsim_us/parameters/gov/states/ar/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 fiscalsim_us/parameters/gov/states/ar/README.md diff --git a/fiscalsim_us/parameters/gov/states/ar/README.md b/fiscalsim_us/parameters/gov/states/ar/README.md new file mode 100644 index 000000000..ab1d59e88 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/README.md @@ -0,0 +1 @@ +# Arkansas \ No newline at end of file From f779fbeab23fb859828b09d48ad089658cb4a738 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 21 Sep 2023 12:39:25 -0600 Subject: [PATCH 002/194] First Parameters Tax rates, deductions, and tax credit parameters --- .../ar/tax/credits/childcare_qual_max.yaml | 11 ++ .../ar/tax/credits/childcare_rates.yaml | 76 ++++++++ .../ar/tax/credits/dependent_care_max.yaml | 10 ++ .../other_credits/adoption_credit.yaml | 13 ++ .../other_credits/political_contrib.yaml | 12 ++ .../tax/credits/personal/characteristics.yaml | 12 ++ .../ar/tax/credits/personal/dependents.yaml | 12 ++ .../tax/credits/personal/qual_dependents.yaml | 13 ++ .../states/ar/tax/deductions/standard.yaml | 35 ++++ .../gov/states/ar/tax/income/adjustment.yaml | 164 ++++++++++++++++++ .../gov/states/ar/tax/income/rates.yaml | 47 +++++ 11 files changed, 405 insertions(+) create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_qual_max.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_rates.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/credits/dependent_care_max.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/adoption_credit.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/political_contrib.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/characteristics.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/dependents.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/qual_dependents.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/deductions/standard.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/adjustment.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/rates.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_qual_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_qual_max.yaml new file mode 100644 index 000000000..79fa5e0a1 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_qual_max.yaml @@ -0,0 +1,11 @@ +description: Arkansas Qualifying Childcare Expense Max. +values: + 2021-01-01: 3_000 + 2022-01-01: 3_000 +metadata: + reference: + - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES (Line 3) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf + unit: currency-USD + period: year + label: Arkansas Qualifying Childcare Expense Max. \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_rates.yaml new file mode 100644 index 000000000..1b5bed769 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_rates.yaml @@ -0,0 +1,76 @@ +description: AGI thresholds and rates for the Arkansas Child Care Tax Credit +metadata: + type: single_amount + threshold_unit: currency-USD + rate_unit: /1 + label: Arkansas Child and Dependent Care Tax Credit + reference: + - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf + + +brackets: + - threshold: + 2022-01-01: 0 + amount: + 2022-01-01: 0.35 + - threshold: + 2022-01-01: 15_000 + amount: + 2022-01-01: 0.34 + - threshold: + 2022-01-01: 17_000 + amount: + 2022-01-01: 0.33 + - threshold: + 2022-01-01: 19_000 + amount: + 2022-01-01: 0.32 + - threshold: + 2022-01-01: 21_000 + amount: + 2022-01-01: 0.31 + - threshold: + 2022-01-01: 23_000 + amount: + 2022-01-01: 0.30 + - threshold: + 2022-01-01: 25_000 + amount: + 2022-01-01: 0.29 + - threshold: + 2022-01-01: 27_000 + amount: + 2022-01-01: 0.28 + - threshold: + 2022-01-01: 29_000 + amount: + 2022-01-01: 0.27 + - threshold: + 2022-01-01: 31_000 + amount: + 2022-01-01: 0.26 + - threshold: + 2022-01-01: 33_000 + amount: + 2022-01-01: 0.25 + - threshold: + 2022-01-01: 35_000 + amount: + 2022-01-01: 0.24 + - threshold: + 2022-01-01: 37_000 + amount: + 2022-01-01: 0.23 + - threshold: + 2022-01-01: 39_000 + amount: + 2022-01-01: 0.22 + - threshold: + 2022-01-01: 41_000 + amount: + 2022-01-01: 0.21 + - threshold: + 2022-01-01: 43_000 + amount: + 2022-01-01: 0.20 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/dependent_care_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/dependent_care_max.yaml new file mode 100644 index 000000000..ee049a19e --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/credits/dependent_care_max.yaml @@ -0,0 +1,10 @@ +description: Arkansas Dependent Care Deductible Benefits Max. +values: + 2022-01-01: 5_000 +metadata: + reference: + - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES (Line 20) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf + unit: currency-USD + period: year + label: Arkansas Dependent Care Deductible Benefits Max. \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/adoption_credit.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/adoption_credit.yaml new file mode 100644 index 000000000..9beb7dbf7 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/adoption_credit.yaml @@ -0,0 +1,13 @@ +description: Arkansas matches up to this share of the federal Adoption Expense Credit. +values: + 2022-01-01: 0.20 +metadata: + reference: + - title: AR1000TC Arkansas Individual Income Tax Credits (Line 3) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf + - title: AR1000TC Arkansas Individual Income Tax Credits Instructions (Line 3) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits_Instructions.pdf + unit: /1 + period: year + name: ar_adoption_credit + label: AR percent of federal Adoption Expense Credit \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/political_contrib.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/political_contrib.yaml new file mode 100644 index 000000000..ec60bbcff --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/political_contrib.yaml @@ -0,0 +1,12 @@ +description: Arkansas Other Tax Credits - Political Contribution Credit (per Taxpayer) +values: + 2022-01-01: 50 +metadata: + reference: + - title: AR1000TC Arkansas Individual Income Tax Credits (Line 1) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf + - title: AR1000TC Arkansas Individual Income Tax Credits Instructions (Line 1) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits_Instructions.pdf + unit: currency-USD + period: year + label: Arkansas Other Tax Credits - Political Contribution Credit \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/characteristics.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/characteristics.yaml new file mode 100644 index 000000000..48737d659 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/characteristics.yaml @@ -0,0 +1,12 @@ +description: AR personal tax credit amount. +values: + 2021-01-01: 29 +metadata: + reference: + - title: 2021 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 7A) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2021_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf + - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 7A) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf + unit: currency-USD + period: year + label: AR personal tax credit amount \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/dependents.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/dependents.yaml new file mode 100644 index 000000000..8fdee6425 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/dependents.yaml @@ -0,0 +1,12 @@ +description: AR dependents tax credit amount. +values: + 2021-01-01: 29 +metadata: + reference: + - title: 2021 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 7B) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2021_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf + - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 7B) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf + unit: currency-USD + period: year + label: AR dependents tax credit amount \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/qual_dependents.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/qual_dependents.yaml new file mode 100644 index 000000000..11aea27db --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/qual_dependents.yaml @@ -0,0 +1,13 @@ +description: AR qualifying dependents tax credit amount. +values: + 2021-01-01: 500 + 2022-01-01: 500 +metadata: + reference: + - title: 2021 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 7C) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2021_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf + - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 7C) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf + unit: currency-USD + period: year + label: AR qualifying dependents tax credit amount \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/deductions/standard.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/deductions/standard.yaml new file mode 100644 index 000000000..1869c3f96 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/deductions/standard.yaml @@ -0,0 +1,35 @@ +description: Arkansas provides a standard deduction of this amount, based on filing status. +metadata: + label: Arkansas standard deduction + period: year + unit: currency-USD + breakdown: + - filing_status + reference: + - title: Code of Arkansas Public Access A.C.A. Subchapter 4. § 26-51-430.(b).(1).(A) + href: https://advance.lexis.com/documentpage/?pdmfid=1000516&crid=8a0a4a46-62e0-41b6-8539-42452c3a9e46&nodeid=ABAAAFAACAAFABG&nodepath=%2FROOT%2FABA%2FABAAAF%2FABAAAFAAC%2FABAAAFAACAAF%2FABAAAFAACAAFABG&level=5&haschildren=&populated=false&title=26-51-430.+Deductions+%E2%80%94+Standard+deduction+%E2%80%94+Definition.&config=00JAA2ZjZiM2VhNS0wNTVlLTQ3NzUtYjQzYy0yYWZmODJiODRmMDYKAFBvZENhdGFsb2fXiYCnsel0plIgqpYkw9PK&pddocfullpath=%2Fshared%2Fdocument%2Fstatutes-legislation%2Furn%3AcontentItem%3A649P-FBD0-R03K-54BT-00008-00&ecomp=7gf5kkk&prid=4b6d04eb-5f42-47a5-b744-f8596299a894 + - title: Arkansas 2022 Individual Income Tax Forms and Instructions + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=14 + - title: Arkansas 2021 Individual Income Tax Forms and Instructions + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2021_AR1000F_and_AR1000NR_Instructions.pdf#page=13 + +JOINT: + # $4,400 in 2015 + COLA, rounded by $10. + 2021-01-01: 4_400 + 2022-01-01: 4_540 +SINGLE: + # $2_200 in 2015 + COLA, rounded by $10. + 2021-01-01: 2_200 + 2022-01-01: 2_270 +SEPARATE: + # $2,200 in 2015 + COLA, rounded by $10. + 2021-01-01: 2_200 + 2022-01-01: 2_270 +HEAD_OF_HOUSEHOLD: + # $2,200 in 2015 + COLA, rounded by $10. + 2021-01-01: 2_200 + 2022-01-01: 2_270 +WIDOW: + # $2,200 in 2015 + COLA, rounded by $10. + 2021-01-01: 2_200 + 2022-01-01: 2_270 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/adjustment.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/adjustment.yaml new file mode 100644 index 000000000..458e8a941 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/adjustment.yaml @@ -0,0 +1,164 @@ +description: Adjustment Used When Calculating Tax in Line 29. Income * Tax Rate - Adjustment +metadata: + type: single_amount + threshold_unit: currency-USD + rate_unit: /1 + label: Adjustment Used When Calculating Tax + reference: + - title: 2022 Indexed Tax Brackets + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf + + +brackets: + - threshold: + 2022-01-01: 0 + amount: + 2022-01-01: 0 + - threshold: + 2022-01-01: 5_100 + amount: + 2022-01-01: 101.98 + - threshold: + 2022-01-01: 10_300 + amount: + 2022-01-01: 204.97 + - threshold: + 2022-01-01: 14_700 + amount: + 2022-01-01: 263.77 + - threshold: + 2022-01-01: 24_300 + amount: + 2022-01-01: 628.25 + - threshold: + 2022-01-01: 87_001 + amount: + 2022-01-01: 627.20 + - threshold: + 2022-01-01: 87_101 + amount: + 2022-01-01: 617.20 + - threshold: + 2022-01-01: 87_201 + amount: + 2022-01-01: 607.20 + - threshold: + 2022-01-01: 87_301 + amount: + 2022-01-01: 597.20 + - threshold: + 2022-01-01: 87_401 + amount: + 2022-01-01: 587.20 + - threshold: + 2022-01-01: 87_601 + amount: + 2022-01-01: 577.20 + - threshold: + 2022-01-01: 87_701 + amount: + 2022-01-01: 567.20 + - threshold: + 2022-01-01: 87_801 + amount: + 2022-01-01: 557.20 + - threshold: + 2022-01-01: 87_901 + amount: + 2022-01-01: 547.20 + - threshold: + 2022-01-01: 88_001 + amount: + 2022-01-01: 537.20 + - threshold: + 2022-01-01: 88_101 + amount: + 2022-01-01: 527.20 + - threshold: + 2022-01-01: 88_201 + amount: + 2022-01-01: 517.20 + - threshold: + 2022-01-01: 88_301 + amount: + 2022-01-01: 507.20 + - threshold: + 2022-01-01: 88_401 + amount: + 2022-01-01: 497.20 + - threshold: + 2022-01-01: 88_501 + amount: + 2022-01-01: 487.20 + - threshold: + 2022-01-01: 88_601 + amount: + 2022-01-01: 477.20 + - threshold: + 2022-01-01: 88_701 + amount: + 2022-01-01: 467.20 + - threshold: + 2022-01-01: 88_801 + amount: + 2022-01-01: 457.20 + - threshold: + 2022-01-01: 88_901 + amount: + 2022-01-01: 447.20 + - threshold: + 2022-01-01: 89_001 + amount: + 2022-01-01: 437.20 + - threshold: + 2022-01-01: 89_101 + amount: + 2022-01-01: 427.20 + - threshold: + 2022-01-01: 89_201 + amount: + 2022-01-01: 417.20 + - threshold: + 2022-01-01: 89_301 + amount: + 2022-01-01: 407.20 + - threshold: + 2022-01-01: 89_401 + amount: + 2022-01-01: 397.20 + - threshold: + 2022-01-01: 89_501 + amount: + 2022-01-01: 387.20 + - threshold: + 2022-01-01: 89_601 + amount: + 2022-01-01: 377.20 + - threshold: + 2022-01-01: 89_701 + amount: + 2022-01-01: 367.20 + - threshold: + 2022-01-01: 89_801 + amount: + 2022-01-01: 357.20 + - threshold: + 2022-01-01: 89_901 + amount: + 2022-01-01: 347.20 + - threshold: + 2022-01-01: 90_001 + amount: + 2022-01-01: 337.20 + - threshold: + 2022-01-01: 90_101 + amount: + 2022-01-01: 327.20 + - threshold: + 2022-01-01: 90_201 + amount: + 2022-01-01: 317.20 + - threshold: + 2022-01-01: 90_301 + amount: + 2022-01-01: 307.20 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates.yaml new file mode 100644 index 000000000..5f40fe721 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates.yaml @@ -0,0 +1,47 @@ +description: Arkansas taxes personal income at these rates. +metadata: + type: marginal_rate + threshold_unit: currency-USD + rate_unit: /1 + label: Arkansas income tax rate + reference: + - title: Tax Legislation for 2022 Ark. Code § 26-51-201 (a)(1)(A) + href: https://casetext.com/statute/arkansas-code-of-1987/title-26-taxation/subtitle-5-state-taxes/chapter-51-income-taxes/subchapter-2-imposition-of-tax/section-26-51-201-effective-90-days-after-sine-die-adjournment-individuals-trusts-and-estates + + - title: 2022 Indexed Tax Brackets + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/TaxBrackets_2022.pdf#page=1 + - title: 2021 Indexed Tax Brackets + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/TaxBrackets_2021.pdf#page=1 + +brackets: + - threshold: + 2021-01-01: 0 + rate: + 2021-01-01: 0 + - threshold: + 2021-01-01: 4_800 + 2022-01-01: 5_100 + rate: + 2021-01-01: 0.02 + - threshold: + 2021-01-01: 9_500 + 2022-01-01: 10_300 + rate: + 2021-01-01: 0.03 + - threshold: + 2021-01-01: 14_300 + 2022-01-01: 14_700 + rate: + 2021-01-01: 0.034 + - threshold: + 2021-01-01: 23_600 + 2022-01-01: 24_300 + rate: + 2021-01-01: 0.05 + 2022-01-01: 0.049 + - threshold: + 2021-01-01: 39_700 + 2022-01-01: .inf + rate: + 2021-01-01: 0.059 + 2022-01-01: 0.049 \ No newline at end of file From 637ceeeadb7db34fb7f3c0508f0de73815aafa6a Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 3 Oct 2023 10:20:07 -0600 Subject: [PATCH 003/194] Credits and Additional Tax Added more parameters on personal tax credits, IRA exemptions, and the Lump Sum Distribution tax. --- .../tax/credits/other_credits/metabolic.yaml | 12 ++++ .../ar/tax/credits/personal/dependents.yaml | 1 + ...stics.yaml => personal_credit_amount.yaml} | 3 +- .../gov/states/ar/tax/income/adjustment.yaml | 58 ++++++++++++++++++- .../states/ar/tax/income/ira_additional.yaml | 12 ++++ .../states/ar/tax/income/ira_exemption.yaml | 13 +++++ .../ar/tax/lump_sum_dist/Line11_multiple.yaml | 10 ++++ .../ar/tax/lump_sum_dist/Line15_multiple.yaml | 10 ++++ .../ar/tax/lump_sum_dist/Line17_multiple.yaml | 10 ++++ .../ar/tax/lump_sum_dist/Line9_multiple.yaml | 10 ++++ .../min_allowance_multiple1.yaml | 10 ++++ .../min_allowance_multiple1_max.yaml | 9 +++ .../min_allowance_multiple2.yaml | 10 ++++ .../lump_sum_dist/min_allowance_subtract.yaml | 10 ++++ .../min_allowance_threshold.yaml | 10 ++++ 15 files changed, 186 insertions(+), 2 deletions(-) create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/metabolic.yaml rename fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/{characteristics.yaml => personal_credit_amount.yaml} (73%) create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/ira_additional.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/ira_exemption.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line11_multiple.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line15_multiple.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line17_multiple.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line9_multiple.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_multiple1.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_multiple1_max.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_multiple2.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_subtract.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_threshold.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/metabolic.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/metabolic.yaml new file mode 100644 index 000000000..6da1f3628 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/metabolic.yaml @@ -0,0 +1,12 @@ +description: AR1113 PHENYLKETONURIA DISORDER AND OTHER +METABOLIC DISORDERS MAX CREDIT +values: + 2022-01-01: 2_400 +metadata: + reference: + - title: 2022 AR1113 PHENYLKETONURIA DISORDER AND OTHER METABOLIC DISORDERS CREDIT (line 4) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1113_PhenylketonuriaOtherMetabolicDisordersCredit.pdf + unit: currency-USD + period: year + label: PHENYLKETONURIA DISORDER AND OTHER +METABOLIC DISORDERS MAX CREDIT \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/dependents.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/dependents.yaml index 8fdee6425..20b1becaf 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/dependents.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/dependents.yaml @@ -1,6 +1,7 @@ description: AR dependents tax credit amount. values: 2021-01-01: 29 + 2022-01-01: 29 metadata: reference: - title: 2021 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 7B) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/characteristics.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/personal_credit_amount.yaml similarity index 73% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/characteristics.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/personal_credit_amount.yaml index 48737d659..f654682ff 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/characteristics.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/personal_credit_amount.yaml @@ -1,6 +1,7 @@ -description: AR personal tax credit amount. +description: AR provides this credit amount for the taxpayer or spouse, with additiounal instances if they are 65 or over, 65 Special, blind, deaf, or Head of household/surviving spouse values: 2021-01-01: 29 + 2022-01-01: 29 metadata: reference: - title: 2021 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 7A) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/adjustment.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/adjustment.yaml index 458e8a941..7a25bce8c 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/adjustment.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/adjustment.yaml @@ -161,4 +161,60 @@ brackets: - threshold: 2022-01-01: 90_301 amount: - 2022-01-01: 307.20 \ No newline at end of file + 2022-01-01: 307.20 + - threshold: + 2022-01-01: 90_401 + amount: + 2022-01-01: 297.20 + - threshold: + 2022-01-01: 90_501 + amount: + 2022-01-01: 287.20 + - threshold: + 2022-01-01: 90_601 + amount: + 2022-01-01: 277.20 + - threshold: + 2022-01-01: 90_701 + amount: + 2022-01-01: 267.20 + - threshold: + 2022-01-01: 90_801 + amount: + 2022-01-01: 257.20 + - threshold: + 2022-01-01: 90_901 + amount: + 2022-01-01: 247.20 + - threshold: + 2022-01-01: 91_101 + amount: + 2022-01-01: 237.20 + - threshold: + 2022-01-01: 91_201 + amount: + 2022-01-01: 227.20 + - threshold: + 2022-01-01: 91_301 + amount: + 2022-01-01: 217.20 + - threshold: + 2022-01-01: 91_401 + amount: + 2022-01-01: 207.20 + - threshold: + 2022-01-01: 91_501 + amount: + 2022-01-01: 197.20 + - threshold: + 2022-01-01: 91_601 + amount: + 2022-01-01: 187.20 + - threshold: + 2022-01-01: 91_701 + amount: + 2022-01-01: 177.20 + - threshold: + 2022-01-01: 91_801 + amount: + 2022-01-01: 167.20 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/ira_additional.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/ira_additional.yaml new file mode 100644 index 000000000..0a2ce5ffc --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/ira_additional.yaml @@ -0,0 +1,12 @@ +description: AR levies this amount of the additional federal tax on IRAs and Employer Qualified Retirement Plans. See Part 1 of federal form 5329 +values: + 2022-01-01: 0.10 +metadata: + reference: + - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 32) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf + - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident Instructions (line 32) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf + unit: currency-USD + period: year + label: AR employer Pension Plan/Qualified IRA income exemption amount \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/ira_exemption.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/ira_exemption.yaml new file mode 100644 index 000000000..3e2d6baf2 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/ira_exemption.yaml @@ -0,0 +1,13 @@ +description: AR employer Pension Plan/Qualified IRA income exemption amount +values: + 2021-01-01: 6_000 + 2022-01-01: 6_000 +metadata: + reference: + - title: 2021 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 18A & 18B) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2021_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf + - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 18A & 18B) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf + unit: currency-USD + period: year + label: AR employer Pension Plan/Qualified IRA income exemption amount \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line11_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line11_multiple.yaml new file mode 100644 index 000000000..804c155eb --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line11_multiple.yaml @@ -0,0 +1,10 @@ +description: Multiply the amount in line 10 by this amount - part of Lump Sum Averaging calculations +values: + 2022-01-01: 10 +metadata: + reference: + - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 11) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf + unit: currency-USD + period: year + label: AR LUMP-SUM DISTRIBUTION AVERAGING Line 11 Multiple \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line15_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line15_multiple.yaml new file mode 100644 index 000000000..0350ba7cd --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line15_multiple.yaml @@ -0,0 +1,10 @@ +description: Multiply the amount in line 14 by this amount - part of Lump Sum Averaging calculations +values: + 2022-01-01: 0.1 +metadata: + reference: + - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 15) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf + unit: currency-USD + period: year + label: AR LUMP-SUM DISTRIBUTION AVERAGING Line 15 Multiple \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line17_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line17_multiple.yaml new file mode 100644 index 000000000..dac2d15ad --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line17_multiple.yaml @@ -0,0 +1,10 @@ +description: Multiply the amount in line 16 by this amount - part of Lump Sum Averaging calculations +values: + 2022-01-01: 10 +metadata: + reference: + - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 17) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf + unit: currency-USD + period: year + label: AR LUMP-SUM DISTRIBUTION AVERAGING Line 16 Multiple \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line9_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line9_multiple.yaml new file mode 100644 index 000000000..913350c81 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line9_multiple.yaml @@ -0,0 +1,10 @@ +description: Multiply the amount in line 8 by this amount - part of Lump Sum Averaging calculations +values: + 2022-01-01: 0.1 +metadata: + reference: + - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 9) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf + unit: currency-USD + period: year + label: AR LUMP-SUM DISTRIBUTION AVERAGING Line 9 Multiple \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_multiple1.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_multiple1.yaml new file mode 100644 index 000000000..337f487c8 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_multiple1.yaml @@ -0,0 +1,10 @@ +description: Multiply the amount in line 3 by this amount - part of Lump Sum Averaging calculations +values: + 2022-01-01: 0.5 +metadata: + reference: + - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 4) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf + unit: currency-USD + period: year + label: AR LUMP-SUM DISTRIBUTION AVERAGING Minimum Distribution Allowance First Multiple \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_multiple1_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_multiple1_max.yaml new file mode 100644 index 000000000..c3de2267c --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_multiple1_max.yaml @@ -0,0 +1,9 @@ +description: The maximum amount that can be entered in Line 4 + 2022-01-01: 10_000 +metadata: + reference: + - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 4) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf + unit: currency-USD + period: year + label: AR LUMP-SUM DISTRIBUTION AVERAGING Minimum Distribution Allowance First Multiple Maximum Amount \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_multiple2.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_multiple2.yaml new file mode 100644 index 000000000..ac1a67383 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_multiple2.yaml @@ -0,0 +1,10 @@ +description: Multiply the amount in line 5 by this amount - part of Lump Sum Averaging calculations +values: + 2022-01-01: 0.2 +metadata: + reference: + - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 6) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf + unit: currency-USD + period: year + label: AR LUMP-SUM DISTRIBUTION AVERAGING Minimum Distribution Allowance Second Multiple \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_subtract.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_subtract.yaml new file mode 100644 index 000000000..06a1a70b2 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_subtract.yaml @@ -0,0 +1,10 @@ +description: Subtract this amount from the value in Line 3 +values: + 2022-01-01: 20_000 +metadata: + reference: + - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 5) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf + unit: currency-USD + period: year + label: AR LUMP-SUM DISTRIBUTION AVERAGING Minimum Distribution Allowance Subtrahand \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_threshold.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_threshold.yaml new file mode 100644 index 000000000..53ea19fbd --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_threshold.yaml @@ -0,0 +1,10 @@ +description: If the Total taxable amount in line 3 is greater than this amount, the taxpayer does not qualify for the minimum distribution allowance. +values: + 2022-01-01: 70_000 +metadata: + reference: + - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 3) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf + unit: currency-USD + period: year + label: AR LUMP-SUM DISTRIBUTION AVERAGING Minimum Distribution Allowance threshold \ No newline at end of file From 9070058d9d98f8c7d43ce78a3ee5c6753eec7b3d Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 6 Oct 2023 16:06:11 -0600 Subject: [PATCH 004/194] More Deductions and Credits Itemized deductions, updates to tax credits, and addition of high income tax bracket set --- .../childcare_dep/childcare_multiple.yaml | 10 + .../childcare_qual_max.yaml | 0 .../{ => childcare_dep}/childcare_rates.yaml | 0 .../dependent_care_max.yaml | 0 .../separate_diff_dependent_care_max.yaml | 10 + .../other_credits/additional_amount.yaml | 65 ++++++ .../inflation_married_joint.yaml | 77 +++++++ .../other_credits/inflation_separate.yaml | 77 +++++++ .../other_credits/stillbirth_credit_max.yaml | 13 ++ .../ar/tax/deductions/itemized/medical.yaml | 9 + .../deductions/itemized/miscellaneous.yaml | 9 + .../gov/states/ar/tax/income/adjustment.yaml | 1 - .../ar/tax/income/high_Income_adjustment.yaml | 199 ++++++++++++++++++ .../ar/tax/income/high_income_rates.yaml | 28 +++ .../states/ar/tax/income/ira_additional.yaml | 1 - .../ar/tax/income/regular_bracket_max.yaml | 10 + 16 files changed, 507 insertions(+), 2 deletions(-) create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/childcare_multiple.yaml rename fiscalsim_us/parameters/gov/states/ar/tax/credits/{ => childcare_dep}/childcare_qual_max.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar/tax/credits/{ => childcare_dep}/childcare_rates.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar/tax/credits/{ => childcare_dep}/dependent_care_max.yaml (100%) create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/separate_diff_dependent_care_max.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/additional_amount.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/inflation_married_joint.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/inflation_separate.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/stillbirth_credit_max.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/deductions/itemized/medical.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/deductions/itemized/miscellaneous.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/high_Income_adjustment.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_rates.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/regular_bracket_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/childcare_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/childcare_multiple.yaml new file mode 100644 index 000000000..0f4f9e541 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/childcare_multiple.yaml @@ -0,0 +1,10 @@ +description: Multiply the amount in Line 8 by this amount +values: + 2022-01-01: 0.20 +metadata: + reference: + - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf + unit: currency-USD + period: year + label: AR child care tax credit multiple \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_qual_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/childcare_qual_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_qual_max.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/childcare_qual_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/childcare_rates.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_rates.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/childcare_rates.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/dependent_care_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/dependent_care_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/dependent_care_max.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/dependent_care_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/separate_diff_dependent_care_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/separate_diff_dependent_care_max.yaml new file mode 100644 index 000000000..b8969dba5 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/separate_diff_dependent_care_max.yaml @@ -0,0 +1,10 @@ +description: Arkansas Dependent Care Deductible Benefits Max for married filing separately on different returns. +values: + 2022-01-01: 2_500 +metadata: + reference: + - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES (Line 20) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf + unit: currency-USD + period: year + label: Arkansas Dependent Care Deductible Benefits Max for married filing separately on different returns. \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/additional_amount.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/additional_amount.yaml new file mode 100644 index 000000000..088229bad --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/additional_amount.yaml @@ -0,0 +1,65 @@ +description: Arkansas grants taxpayers this additional credit. married Filing Jointly - double the credit amount +metadata: + type: single_amount + threshold_unit: currency-USD + label: Arkansas additional income tax credit + reference: + - title: 2022 AR 1000F Arkansas Individual Income Tax Return (line 36) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf + + - title: 2022 Additional Tax Credit For Qualified Individuals Worksheet + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_Final_AdditionalTaxCreditforQualifiedIndividuals_FI.pdf + +brackets: + - threshold: + 2022-01-01: 0 + rate: + 2022-01-01: 60 + - threshold: + 2022-01-01: 24_301 + rate: + 2022-01-01: 55 + - threshold: + 2022-01-01: 24_401 + rate: + 2022-01-01: 50 + - threshold: + 2022-01-01: 24_501 + rate: + 2022-01-01: 45 + - threshold: + 2022-01-01: 24_601 + rate: + 2022-01-01: 40 + - threshold: + 2022-01-01: 24_701 + rate: + 2022-01-01: 35 + - threshold: + 2022-01-01: 24_801 + rate: + 2022-01-01: 30 + - threshold: + 2022-01-01: 24_901 + rate: + 2022-01-01: 25 + - threshold: + 2022-01-01: 25_001 + rate: + 2022-01-01: 20 + - threshold: + 2022-01-01: 25_101 + rate: + 2022-01-01: 15 + - threshold: + 2022-01-01: 25_201 + rate: + 2022-01-01: 10 + - threshold: + 2022-01-01: 25_301 + rate: + 2022-01-01: 5 + - threshold: + 2022-01-01: 25_401 + rate: + 2022-01-01: 0 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/inflation_married_joint.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/inflation_married_joint.yaml new file mode 100644 index 000000000..fffdbdde0 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/inflation_married_joint.yaml @@ -0,0 +1,77 @@ +description: Arkansas granted this inflationary releif income tax credit for tax year 2022 +metadata: + type: single_amount + threshold_unit: currency-USD + label: Arkansas inflationary relief tax credit - Married Filing Jointly + reference: + - title: 2022 AR 1000F Arkansas Individual Income Tax Return (line 36) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf + + - title: 2022 Inflationary Relief Income Tax Credit Worksheet + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_Final_InflationaryReliefIncomeTaxCredit_FI.pdf + +brackets: + - threshold: + 2022-01-01: 1 + rate: + 2022-01-01: 300 + - threshold: + 2022-01-01: 174_001 + rate: + 2022-01-01: 280 + - threshold: + 2022-01-01: 176_001 + rate: + 2022-01-01: 260 + - threshold: + 2022-01-01: 178_001 + rate: + 2022-01-01: 240 + - threshold: + 2022-01-01: 180_001 + rate: + 2022-01-01: 220 + - threshold: + 2022-01-01: 182_001 + rate: + 2022-01-01: 200 + - threshold: + 2022-01-01: 184_001 + rate: + 2022-01-01: 180 + - threshold: + 2022-01-01: 186_001 + rate: + 2022-01-01: 160 + - threshold: + 2022-01-01: 188_001 + rate: + 2022-01-01: 140 + - threshold: + 2022-01-01: 190_001 + rate: + 2022-01-01: 120 + - threshold: + 2022-01-01: 192_001 + rate: + 2022-01-01: 100 + - threshold: + 2022-01-01: 194_001 + rate: + 2022-01-01: 80 + - threshold: + 2022-01-01: 196_001 + rate: + 2022-01-01: 60 + - threshold: + 2022-01-01: 198_001 + rate: + 2022-01-01: 40 + - threshold: + 2022-01-01: 200_001 + rate: + 2022-01-01: 20 + - threshold: + 2022-01-01: 202_001 + rate: + 2022-01-01: 0 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/inflation_separate.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/inflation_separate.yaml new file mode 100644 index 000000000..4b81458c2 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/inflation_separate.yaml @@ -0,0 +1,77 @@ +description: Arkansas granted this inflationary releif income tax credit for tax year 2022 +metadata: + type: single_amount + threshold_unit: currency-USD + label: Arkansas inflationary relief tax credit + reference: + - title: 2022 AR 1000F Arkansas Individual Income Tax Return (line 36) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf + + - title: 2022 Inflationary Relief Income Tax Credit Worksheet + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_Final_InflationaryReliefIncomeTaxCredit_FI.pdf + +brackets: + - threshold: + 2022-01-01: 1 + rate: + 2022-01-01: 150 + - threshold: + 2022-01-01: 87_001 + rate: + 2022-01-01: 140 + - threshold: + 2022-01-01: 88_001 + rate: + 2022-01-01: 130 + - threshold: + 2022-01-01: 89_001 + rate: + 2022-01-01: 120 + - threshold: + 2022-01-01: 90_001 + rate: + 2022-01-01: 110 + - threshold: + 2022-01-01: 91_001 + rate: + 2022-01-01: 100 + - threshold: + 2022-01-01: 92_001 + rate: + 2022-01-01: 90 + - threshold: + 2022-01-01: 93_001 + rate: + 2022-01-01: 80 + - threshold: + 2022-01-01: 94_001 + rate: + 2022-01-01: 70 + - threshold: + 2022-01-01: 95_001 + rate: + 2022-01-01: 60 + - threshold: + 2022-01-01: 96_001 + rate: + 2022-01-01: 50 + - threshold: + 2022-01-01: 97_001 + rate: + 2022-01-01: 40 + - threshold: + 2022-01-01: 98_001 + rate: + 2022-01-01: 30 + - threshold: + 2022-01-01: 99_001 + rate: + 2022-01-01: 20 + - threshold: + 2022-01-01: 100_001 + rate: + 2022-01-01: 10 + - threshold: + 2022-01-01: 101_001 + rate: + 2022-01-01: 0 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/stillbirth_credit_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/stillbirth_credit_max.yaml new file mode 100644 index 000000000..10332d40f --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/stillbirth_credit_max.yaml @@ -0,0 +1,13 @@ +description: Arkansas Max Allowable Stillbirth Tax Credit Amount +values: + 2022-01-01: 500 +metadata: + reference: + - title: AR1000TC Arkansas Individual Income Tax Credits (Line 5) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf + - title: AR1000TC Arkansas Individual Income Tax Credits Instructions (Line 5) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits_Instructions.pdf + unit: /1 + period: year + name: ar_stillbirth_credit_max + label: AR Max Allowable Stillbirth Tax Credit Amount \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/deductions/itemized/medical.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/deductions/itemized/medical.yaml new file mode 100644 index 000000000..cd73bedc1 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/deductions/itemized/medical.yaml @@ -0,0 +1,9 @@ +description: AR allows taxpayers to deduct the portion of medical and dental expenses that are over this percentage of their AGI +values: + 2022-01-01: 0.10 +metadata: + reference: + - title: AR3 Arkansas Individual income Tax Itemized Deductions (Line 3) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf + period: year + label: AR Medical Expenses Deduction Income Percentage Threshold \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/deductions/itemized/miscellaneous.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/deductions/itemized/miscellaneous.yaml new file mode 100644 index 000000000..fda629108 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/deductions/itemized/miscellaneous.yaml @@ -0,0 +1,9 @@ +description: AR allows taxpayers to deduct certain miscellaneous up to this percentage of their AGI +values: + 2022-01-01: 0.02 +metadata: + reference: + - title: AR3 Arkansas Individual income Tax Itemized Deductions (Line 24) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf + period: year + label: AR Miscellaneous Expenses AGI Limit \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/adjustment.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/adjustment.yaml index 7a25bce8c..30a36caf1 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/adjustment.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/adjustment.yaml @@ -2,7 +2,6 @@ description: Adjustment Used When Calculating Tax in Line 29. Income * Tax Rate metadata: type: single_amount threshold_unit: currency-USD - rate_unit: /1 label: Adjustment Used When Calculating Tax reference: - title: 2022 Indexed Tax Brackets diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_Income_adjustment.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_Income_adjustment.yaml new file mode 100644 index 000000000..b952d51e9 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_Income_adjustment.yaml @@ -0,0 +1,199 @@ +description: Adjustment Used When Calculating Tax for the High Income Bracket set. Income * Tax Rate - Adjustment +metadata: + type: single_amount + threshold_unit: currency-USD + label: Adjustment Used When Calculating Tax for high income taxpayers + reference: + - title: 2022 Indexed Tax Brackets + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf + + +brackets: + - threshold: + 2022-01-01: 84_501 + amount: + 2022-01-01: 460 + - threshold: + 2022-01-01: 84_601 + amount: + 2022-01-01: 450 + - threshold: + 2022-01-01: 84_701 + amount: + 2022-01-01: 440 + - threshold: + 2022-01-01: 84_801 + amount: + 2022-01-01: 430 + - threshold: + 2022-01-01: 84_901 + amount: + 2022-01-01: 420 + - threshold: + 2022-01-01: 85_001 + amount: + 2022-01-01: 410 + - threshold: + 2022-01-01: 85_101 + amount: + 2022-01-01: 400 + - threshold: + 2022-01-01: 85_201 + amount: + 2022-01-01: 390 + - threshold: + 2022-01-01: 85_301 + amount: + 2022-01-01: 380 + - threshold: + 2022-01-01: 85_401 + amount: + 2022-01-01: 370 + - threshold: + 2022-01-01: 85_501 + amount: + 2022-01-01: 360 + - threshold: + 2022-01-01: 85_601 + amount: + 2022-01-01: 350 + - threshold: + 2022-01-01: 85_701 + amount: + 2022-01-01: 340 + - threshold: + 2022-01-01: 85_801 + amount: + 2022-01-01: 330 + - threshold: + 2022-01-01: 85_901 + amount: + 2022-01-01: 320 + - threshold: + 2022-01-01: 86_001 + amount: + 2022-01-01: 310 + - threshold: + 2022-01-01: 86_101 + amount: + 2022-01-01: 300 + - threshold: + 2022-01-01: 86_201 + amount: + 2022-01-01: 290 + - threshold: + 2022-01-01: 86_301 + amount: + 2022-01-01: 280 + - threshold: + 2022-01-01: 86_401 + amount: + 2022-01-01: 270 + - threshold: + 2022-01-01: 86_501 + amount: + 2022-01-01: 260 + - threshold: + 2022-01-01: 86_601 + amount: + 2022-01-01: 250 + - threshold: + 2022-01-01: 86_701 + amount: + 2022-01-01: 240 + - threshold: + 2022-01-01: 86_801 + amount: + 2022-01-01: 230 + - threshold: + 2022-01-01: 86_901 + amount: + 2022-01-01: 220 + - threshold: + 2022-01-01: 87_001 + amount: + 2022-01-01: 210 + - threshold: + 2022-01-01: 87_101 + amount: + 2022-01-01: 200 + - threshold: + 2022-01-01: 87_201 + amount: + 2022-01-01: 190 + - threshold: + 2022-01-01: 87_301 + amount: + 2022-01-01: 180 + - threshold: + 2022-01-01: 87_401 + amount: + 2022-01-01: 170 + - threshold: + 2022-01-01: 87_501 + amount: + 2022-01-01: 160 + - threshold: + 2022-01-01: 87_601 + amount: + 2022-01-01: 150 + - threshold: + 2022-01-01: 87_701 + amount: + 2022-01-01: 140 + - threshold: + 2022-01-01: 87_801 + amount: + 2022-01-01: 130 + - threshold: + 2022-01-01: 87_901 + amount: + 2022-01-01: 120 + - threshold: + 2022-01-01: 88_001 + amount: + 2022-01-01: 110 + - threshold: + 2022-01-01: 88_101 + amount: + 2022-01-01: 100 + - threshold: + 2022-01-01: 88_201 + amount: + 2022-01-01: 90 + - threshold: + 2022-01-01: 88_301 + amount: + 2022-01-01: 80 + - threshold: + 2022-01-01: 88_401 + amount: + 2022-01-01: 70 + - threshold: + 2022-01-01: 88_501 + amount: + 2022-01-01: 60 + - threshold: + 2022-01-01: 88_601 + amount: + 2022-01-01: 50 + - threshold: + 2022-01-01: 88_701 + amount: + 2022-01-01: 40 + - threshold: + 2022-01-01: 88_801 + amount: + 2022-01-01: 30 + - threshold: + 2022-01-01: 88_901 + amount: + 2022-01-01: 20 + - threshold: + 2022-01-01: 89_001 + amount: + 2022-01-01: 10 + - threshold: + 2022-01-01: 89_001 + amount: + 2022-01-01: 0 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_rates.yaml new file mode 100644 index 000000000..85147a38f --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_rates.yaml @@ -0,0 +1,28 @@ +description: Arkansas taxes personal income at these rates. +metadata: + type: marginal_rate + threshold_unit: currency-USD + rate_unit: /1 + label: Arkansas income tax rate + reference: + - title: Tax Legislation for 2022 Ark. Code § 26-51-201 (a)(1)(A) + href: https://casetext.com/statute/arkansas-code-of-1987/title-26-taxation/subtitle-5-state-taxes/chapter-51-income-taxes/subchapter-2-imposition-of-tax/section-26-51-201-effective-90-days-after-sine-die-adjournment-individuals-trusts-and-estates + + - title: 2022 Indexed Tax Brackets + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/TaxBrackets_2022.pdf#page=1 + - title: 2021 Indexed Tax Brackets + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/TaxBrackets_2021.pdf#page=1 + +brackets: + - threshold: + 2022-01-01: 0 + rate: + 2022-01-01: 0.02 + - threshold: + 2022-01-01: 4_301 + rate: + 2022-01-01: 0.04 + - threshold: + 2022-01-01: 8_501 + rate: + 2022-01-01: 0.049 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/ira_additional.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/ira_additional.yaml index 0a2ce5ffc..394757b88 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/ira_additional.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/ira_additional.yaml @@ -7,6 +7,5 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident Instructions (line 32) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf - unit: currency-USD period: year label: AR employer Pension Plan/Qualified IRA income exemption amount \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/regular_bracket_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/regular_bracket_max.yaml new file mode 100644 index 000000000..d36425c82 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/regular_bracket_max.yaml @@ -0,0 +1,10 @@ +description: Amount over which a taxpayer must use the alternative tax table +values: + 2022-01-01: 84_500 +metadata: + reference: + - title: Tax Legislation for 2022 Ark. Code § 26-51-201 (a)(1)(A) + href: https://casetext.com/statute/arkansas-code-of-1987/title-26-taxation/subtitle-5-state-taxes/chapter-51-income-taxes/subchapter-2-imposition-of-tax/section-26-51-201-effective-90-days-after-sine-die-adjournment-individuals-trusts-and-estates + unit: currency-USD + period: year + label: Top income amount of Standard tax table \ No newline at end of file From 3fc78aa0bd7a32a9cecfedfb5f2d120ea2f93375 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 17 Oct 2023 09:50:19 -0600 Subject: [PATCH 005/194] personal credit variable --- .../ar/tax/income/credits/personal_credit.py | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/personal_credit.py diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/personal_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/personal_credit.py new file mode 100644 index 000000000..3436ddd67 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/personal_credit.py @@ -0,0 +1,21 @@ +from fiscalsim_us.model_api import * + + +class ar_personal_credit(Variable): + """ + Lines 7 & 34 on Arkansas 2022 Individual Income Tax return form AR1000F. + """ + + value_type = float + entity = TaxUnit + label = "AR personal tax credits" + unit = USD + definition_period = YEAR + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + gov = parameters(period).gov + ar_personal_credit_amount = gov.states.ar.tax.income.credits.personal.personal_credit_amount + ar_dependents_credit_amount = gov.states.ar.tax.income.credits.personal.dependents + ar_qual_dependents_credit_amount = gov.states.ar.tax.income.credits.personal.qual_dependents_credit_amount + \ No newline at end of file From 57bc23055f175873f21c6a25e52ec52752b351f3 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 17 Oct 2023 14:34:32 -0600 Subject: [PATCH 006/194] changed folder names to ar2 --- fiscalsim_us/parameters/gov/states/{ar => ar2}/README.md | 0 .../{ar => ar2}/tax/credits/childcare_dep/childcare_multiple.yaml | 0 .../{ar => ar2}/tax/credits/childcare_dep/childcare_qual_max.yaml | 0 .../{ar => ar2}/tax/credits/childcare_dep/childcare_rates.yaml | 0 .../{ar => ar2}/tax/credits/childcare_dep/dependent_care_max.yaml | 0 .../credits/childcare_dep/separate_diff_dependent_care_max.yaml | 0 .../{ar => ar2}/tax/credits/other_credits/additional_amount.yaml | 0 .../{ar => ar2}/tax/credits/other_credits/adoption_credit.yaml | 0 .../tax/credits/other_credits/inflation_married_joint.yaml | 0 .../{ar => ar2}/tax/credits/other_credits/inflation_separate.yaml | 0 .../states/{ar => ar2}/tax/credits/other_credits/metabolic.yaml | 0 .../{ar => ar2}/tax/credits/other_credits/political_contrib.yaml | 0 .../tax/credits/other_credits/stillbirth_credit_max.yaml | 0 .../gov/states/{ar => ar2}/tax/credits/personal/dependents.yaml | 0 .../{ar => ar2}/tax/credits/personal/personal_credit_amount.yaml | 0 .../states/{ar => ar2}/tax/credits/personal/qual_dependents.yaml | 0 .../gov/states/{ar => ar2}/tax/deductions/itemized/medical.yaml | 0 .../states/{ar => ar2}/tax/deductions/itemized/miscellaneous.yaml | 0 .../gov/states/{ar => ar2}/tax/deductions/standard.yaml | 0 .../parameters/gov/states/{ar => ar2}/tax/income/adjustment.yaml | 0 .../gov/states/{ar => ar2}/tax/income/high_Income_adjustment.yaml | 0 .../gov/states/{ar => ar2}/tax/income/high_income_rates.yaml | 0 .../gov/states/{ar => ar2}/tax/income/ira_additional.yaml | 0 .../gov/states/{ar => ar2}/tax/income/ira_exemption.yaml | 0 .../parameters/gov/states/{ar => ar2}/tax/income/rates.yaml | 0 .../gov/states/{ar => ar2}/tax/income/regular_bracket_max.yaml | 0 .../gov/states/{ar => ar2}/tax/lump_sum_dist/Line11_multiple.yaml | 0 .../gov/states/{ar => ar2}/tax/lump_sum_dist/Line15_multiple.yaml | 0 .../gov/states/{ar => ar2}/tax/lump_sum_dist/Line17_multiple.yaml | 0 .../gov/states/{ar => ar2}/tax/lump_sum_dist/Line9_multiple.yaml | 0 .../{ar => ar2}/tax/lump_sum_dist/min_allowance_multiple1.yaml | 0 .../tax/lump_sum_dist/min_allowance_multiple1_max.yaml | 0 .../{ar => ar2}/tax/lump_sum_dist/min_allowance_multiple2.yaml | 0 .../{ar => ar2}/tax/lump_sum_dist/min_allowance_subtract.yaml | 0 .../{ar => ar2}/tax/lump_sum_dist/min_allowance_threshold.yaml | 0 .../gov/states/{ar => ar2}/tax/income/credits/personal_credit.py | 0 36 files changed, 0 insertions(+), 0 deletions(-) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/README.md (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/credits/childcare_dep/childcare_multiple.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/credits/childcare_dep/childcare_qual_max.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/credits/childcare_dep/childcare_rates.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/credits/childcare_dep/dependent_care_max.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/credits/childcare_dep/separate_diff_dependent_care_max.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/credits/other_credits/additional_amount.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/credits/other_credits/adoption_credit.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/credits/other_credits/inflation_married_joint.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/credits/other_credits/inflation_separate.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/credits/other_credits/metabolic.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/credits/other_credits/political_contrib.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/credits/other_credits/stillbirth_credit_max.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/credits/personal/dependents.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/credits/personal/personal_credit_amount.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/credits/personal/qual_dependents.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/deductions/itemized/medical.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/deductions/itemized/miscellaneous.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/deductions/standard.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/income/adjustment.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/income/high_Income_adjustment.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/income/high_income_rates.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/income/ira_additional.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/income/ira_exemption.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/income/rates.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/income/regular_bracket_max.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/lump_sum_dist/Line11_multiple.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/lump_sum_dist/Line15_multiple.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/lump_sum_dist/Line17_multiple.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/lump_sum_dist/Line9_multiple.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/lump_sum_dist/min_allowance_multiple1.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/lump_sum_dist/min_allowance_multiple1_max.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/lump_sum_dist/min_allowance_multiple2.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/lump_sum_dist/min_allowance_subtract.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar2}/tax/lump_sum_dist/min_allowance_threshold.yaml (100%) rename fiscalsim_us/variables/gov/states/{ar => ar2}/tax/income/credits/personal_credit.py (100%) diff --git a/fiscalsim_us/parameters/gov/states/ar/README.md b/fiscalsim_us/parameters/gov/states/ar2/README.md similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/README.md rename to fiscalsim_us/parameters/gov/states/ar2/README.md diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/childcare_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/childcare_multiple.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/childcare_multiple.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/childcare_multiple.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/childcare_qual_max.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/childcare_qual_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/childcare_qual_max.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/childcare_qual_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/childcare_rates.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/childcare_rates.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/childcare_rates.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/childcare_rates.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/dependent_care_max.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/dependent_care_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/dependent_care_max.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/dependent_care_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/separate_diff_dependent_care_max.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/separate_diff_dependent_care_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/childcare_dep/separate_diff_dependent_care_max.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/separate_diff_dependent_care_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/additional_amount.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/additional_amount.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/additional_amount.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/additional_amount.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/adoption_credit.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/adoption_credit.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/adoption_credit.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/adoption_credit.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/inflation_married_joint.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/inflation_married_joint.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/inflation_married_joint.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/inflation_married_joint.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/inflation_separate.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/inflation_separate.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/inflation_separate.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/inflation_separate.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/metabolic.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/metabolic.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/metabolic.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/metabolic.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/political_contrib.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/political_contrib.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/political_contrib.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/political_contrib.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/stillbirth_credit_max.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/stillbirth_credit_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/other_credits/stillbirth_credit_max.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/stillbirth_credit_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/dependents.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/credits/personal/dependents.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/dependents.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/credits/personal/dependents.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/personal_credit_amount.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/credits/personal/personal_credit_amount.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/personal_credit_amount.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/credits/personal/personal_credit_amount.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/qual_dependents.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/credits/personal/qual_dependents.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/credits/personal/qual_dependents.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/credits/personal/qual_dependents.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/deductions/itemized/medical.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/deductions/itemized/medical.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/deductions/itemized/medical.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/deductions/itemized/medical.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/deductions/itemized/miscellaneous.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/deductions/itemized/miscellaneous.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/deductions/itemized/miscellaneous.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/deductions/itemized/miscellaneous.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/deductions/standard.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/deductions/standard.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/deductions/standard.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/deductions/standard.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/adjustment.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/adjustment.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/income/adjustment.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/adjustment.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_Income_adjustment.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/high_Income_adjustment.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/income/high_Income_adjustment.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/high_Income_adjustment.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_rates.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/high_income_rates.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_rates.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/high_income_rates.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/ira_additional.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/ira_additional.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/income/ira_additional.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/ira_additional.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/ira_exemption.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/ira_exemption.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/income/ira_exemption.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/ira_exemption.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/rates.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/income/rates.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/rates.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/regular_bracket_max.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/regular_bracket_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/income/regular_bracket_max.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/regular_bracket_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line11_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/Line11_multiple.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line11_multiple.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/Line11_multiple.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line15_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/Line15_multiple.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line15_multiple.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/Line15_multiple.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line17_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/Line17_multiple.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line17_multiple.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/Line17_multiple.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line9_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/Line9_multiple.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/Line9_multiple.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/Line9_multiple.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_multiple1.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_multiple1.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_multiple1.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_multiple1.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_multiple1_max.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_multiple1_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_multiple1_max.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_multiple1_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_multiple2.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_multiple2.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_multiple2.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_multiple2.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_subtract.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_subtract.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_subtract.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_subtract.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_threshold.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_threshold.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/lump_sum_dist/min_allowance_threshold.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_threshold.yaml diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/personal_credit.py b/fiscalsim_us/variables/gov/states/ar2/tax/income/credits/personal_credit.py similarity index 100% rename from fiscalsim_us/variables/gov/states/ar/tax/income/credits/personal_credit.py rename to fiscalsim_us/variables/gov/states/ar2/tax/income/credits/personal_credit.py From af13a992feb5cd5583bc86467b3eec49bc1807bf Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 24 Oct 2023 13:02:43 -0600 Subject: [PATCH 007/194] Fixed ar2 folder structure, added new parameters --- .../childcare_dep/childcare_multiple.yaml | 4 +-- .../childcare_dep/childcare_qual_max.yaml | 0 .../childcare_dep/childcare_rates.yaml | 0 .../childcare_dep/dependent_care_max.yaml | 0 .../separate_diff_dependent_care_max.yaml | 0 .../inflationary_relief/max_amount.yaml | 27 +++++++++++++++++++ .../inflationary_relief/reduction/amount.yaml | 25 +++++++++++++++++ .../reduction/increment.yaml | 25 +++++++++++++++++ .../inflationary_relief/reduction/start.yaml | 26 ++++++++++++++++++ .../tax/income/credits/non_refundable.yaml | 11 ++++++++ .../other_credits/additional_amount.yaml | 0 .../other_credits/adoption_credit.yaml | 0 .../inflation_married_joint.yaml | 0 .../other_credits/inflation_separate.yaml | 0 .../credits/other_credits/metabolic.yaml | 0 .../other_credits/political_contrib.yaml | 0 .../other_credits/stillbirth_credit_max.yaml | 0 .../credits/personal/dependents.yaml | 0 .../personal/personal_credit_amount.yaml | 0 .../credits/personal/qual_dependents.yaml | 0 .../ar2/tax/income/credits/refundable.yaml | 11 ++++++++ .../deductions/itemized/medical.yaml | 0 .../deductions/itemized/miscellaneous.yaml | 0 .../tax/{ => income}/deductions/standard.yaml | 0 .../gov/states/ar2/tax/income/exemptions.yaml | 24 +++++++++++++++++ .../gov/states/ar2/tax/income/index.yaml | 4 +++ .../lump_sum_dist/Line11_multiple.yaml | 0 .../lump_sum_dist/Line15_multiple.yaml | 0 .../lump_sum_dist/Line17_multiple.yaml | 0 .../lump_sum_dist/Line9_multiple.yaml | 0 .../min_allowance_multiple1.yaml | 0 .../min_allowance_multiple1_max.yaml | 0 .../min_allowance_multiple2.yaml | 0 .../lump_sum_dist/min_allowance_subtract.yaml | 0 .../min_allowance_threshold.yaml | 0 .../tax/income/{ => rates}/adjustment.yaml | 0 .../{ => rates}/high_Income_adjustment.yaml | 0 .../income/{ => rates}/high_income_rates.yaml | 0 .../income/{ => rates}/ira_additional.yaml | 0 .../tax/income/{ => rates}/ira_exemption.yaml | 0 .../ar2/tax/income/{ => rates}/rates.yaml | 0 .../{ => rates}/regular_bracket_max.yaml | 0 42 files changed, 155 insertions(+), 2 deletions(-) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/credits/childcare_dep/childcare_multiple.yaml (78%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/credits/childcare_dep/childcare_qual_max.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/credits/childcare_dep/childcare_rates.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/credits/childcare_dep/dependent_care_max.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/credits/childcare_dep/separate_diff_dependent_care_max.yaml (100%) create mode 100644 fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/max_amount.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/reduction/amount.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/reduction/increment.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/reduction/start.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/non_refundable.yaml rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/credits/other_credits/additional_amount.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/credits/other_credits/adoption_credit.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/credits/other_credits/inflation_married_joint.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/credits/other_credits/inflation_separate.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/credits/other_credits/metabolic.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/credits/other_credits/political_contrib.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/credits/other_credits/stillbirth_credit_max.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/credits/personal/dependents.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/credits/personal/personal_credit_amount.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/credits/personal/qual_dependents.yaml (100%) create mode 100644 fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/refundable.yaml rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/deductions/itemized/medical.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/deductions/itemized/miscellaneous.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/deductions/standard.yaml (100%) create mode 100644 fiscalsim_us/parameters/gov/states/ar2/tax/income/exemptions.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar2/tax/income/index.yaml rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/lump_sum_dist/Line11_multiple.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/lump_sum_dist/Line15_multiple.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/lump_sum_dist/Line17_multiple.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/lump_sum_dist/Line9_multiple.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/lump_sum_dist/min_allowance_multiple1.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/lump_sum_dist/min_allowance_multiple1_max.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/lump_sum_dist/min_allowance_multiple2.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/lump_sum_dist/min_allowance_subtract.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/{ => income}/lump_sum_dist/min_allowance_threshold.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/income/{ => rates}/adjustment.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/income/{ => rates}/high_Income_adjustment.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/income/{ => rates}/high_income_rates.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/income/{ => rates}/ira_additional.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/income/{ => rates}/ira_exemption.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/income/{ => rates}/rates.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar2/tax/income/{ => rates}/regular_bracket_max.yaml (100%) diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/childcare_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/childcare_multiple.yaml similarity index 78% rename from fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/childcare_multiple.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/childcare_multiple.yaml index 0f4f9e541..01cbafe61 100644 --- a/fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/childcare_multiple.yaml +++ b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/childcare_multiple.yaml @@ -1,9 +1,9 @@ -description: Multiply the amount in Line 8 by this amount +description: Multiply the amount in Line 9 by this amount values: 2022-01-01: 0.20 metadata: reference: - - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES + - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES Line 10 href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf unit: currency-USD period: year diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/childcare_qual_max.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/childcare_qual_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/childcare_qual_max.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/childcare_qual_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/childcare_rates.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/childcare_rates.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/childcare_rates.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/childcare_rates.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/dependent_care_max.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/dependent_care_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/dependent_care_max.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/dependent_care_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/separate_diff_dependent_care_max.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/separate_diff_dependent_care_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/credits/childcare_dep/separate_diff_dependent_care_max.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/separate_diff_dependent_care_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/max_amount.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/max_amount.yaml new file mode 100644 index 000000000..a5d4baeac --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/max_amount.yaml @@ -0,0 +1,27 @@ +description: Arkansas allows for this maximum inflationary relief tax credit amount, based on filing status. +metadata: + period: year + unit: currency-USD + label: Arkansas income-tax credit maximum amount + reference: + # The inflation relief credit is not mentioned in the Arkansas statutes + - title: Arkansas 2022 Individual Income Tax Forms and Instructions + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=26 + - title: Inflationary relief income-tax credit worksheet + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_Final_InflationaryReliefIncomeTaxCredit_FI.pdf#page=1 + - title: Department of finance and administration, Bill HB1002 + href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FAssembly%2F2021%2F2022S3%2FFiscal+Impacts%2FHB1002-DFA1.pdf#page=2 + + breakdown: + - filing_status +JOINT: + 2022-01-01: 300 +WIDOW: + 2022-01-01: 150 +HEAD_OF_HOUSEHOLD: + 2022-01-01: 150 +SINGLE: + 2022-01-01: 150 +SEPARATE: + 2022-01-01: 150 + diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/reduction/amount.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/reduction/amount.yaml new file mode 100644 index 000000000..035fb89e8 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/reduction/amount.yaml @@ -0,0 +1,25 @@ +description: Arkansas reduces the inflationary relief tax credit by this amount for each increment of taxable income above the threshold, based on the filing status. +metadata: + period: year + unit: currency-USD + label: Arkansas inflation relief credit reduction amount + reference: + # The inflation relief credit is not mentioned in the Arkansas statutes + # House bill did not specify reduction amount + - title: Arkansas 2022 Individual Income Tax Forms and Instructions + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=26 + - title: Inflationary relief income-tax credit worksheet + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_Final_InflationaryReliefIncomeTaxCredit_FI.pdf#page=1 + breakdown: + - filing_status +JOINT: + 2022-01-01: 20 +WIDOW: + 2022-01-01: 10 +HEAD_OF_HOUSEHOLD: + 2022-01-01: 10 +SINGLE: + 2022-01-01: 10 +SEPARATE: + 2022-01-01: 10 + diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/reduction/increment.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/reduction/increment.yaml new file mode 100644 index 000000000..44e95d247 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/reduction/increment.yaml @@ -0,0 +1,25 @@ +description: Arkansas reduces the inflationary relief tax credit for each of these increments of taxable income above the threshold, based on filing status. +metadata: + period: year + unit: currency-USD + label: Arkansas income reduction increment + reference: + # The inflation relief credit is not mentioned in the Arkansas statutes + # House bill did not specify reduction increment + - title: Arkansas 2022 Individual Income Tax Forms and Instructions + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=26 + - title: Inflationary relief income-tax credit worksheet + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_Final_InflationaryReliefIncomeTaxCredit_FI.pdf#page=1 + + breakdown: + - filing_status +JOINT: + 2022-01-01: 2_000 +WIDOW: + 2022-01-01: 1_000 +HEAD_OF_HOUSEHOLD: + 2022-01-01: 1_000 +SINGLE: + 2022-01-01: 1_000 +SEPARATE: + 2022-01-01: 1_000 diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/reduction/start.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/reduction/start.yaml new file mode 100644 index 000000000..6968b359d --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/reduction/start.yaml @@ -0,0 +1,26 @@ +description: Arkansas provides inflationary relief tax credit to filers with taxable income above this amount, based on filing status. +metadata: + reference: + # The inflation relief credit is not mentioned in the Arkansas statutes + - title: Arkansas 2022 Individual Income Tax Forms and Instructions + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=26 + - title: Inflationary relief income-tax credit worksheet + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_Final_InflationaryReliefIncomeTaxCredit_FI.pdf#page=1 + - title: Department of finance and administration, Bill HB1002 + href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FAssembly%2F2021%2F2022S3%2FFiscal+Impacts%2FHB1002-DFA1.pdf#page=2 + label: Arkansas inflation reduction credit reduction start + unit: currency-USD + period: year + + breakdown: + - filing_status +JOINT: + 2022-01-01: 174_000 +WIDOW: + 2022-01-01: 87_000 +HEAD_OF_HOUSEHOLD: + 2022-01-01: 87_000 +SINGLE: + 2022-01-01: 87_000 +SEPARATE: + 2022-01-01: 87_000 diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/non_refundable.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/non_refundable.yaml new file mode 100644 index 000000000..d323914a1 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/non_refundable.yaml @@ -0,0 +1,11 @@ +description: Arkansas provides these nonrefundable income tax credits. +values: + 2022-01-01: + - ar_inflation_relief_credit +metadata: + reference: + - title: Inflationary relief income-tax credit worksheet + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_Final_InflationaryReliefIncomeTaxCredit_FI.pdf#page=1 + unit: list + period: year + label: Arkansas nonrefundable income tax credits diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/additional_amount.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/additional_amount.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/additional_amount.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/additional_amount.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/adoption_credit.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/adoption_credit.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/adoption_credit.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/adoption_credit.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/inflation_married_joint.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/inflation_married_joint.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/inflation_married_joint.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/inflation_married_joint.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/inflation_separate.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/inflation_separate.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/inflation_separate.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/inflation_separate.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/metabolic.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/metabolic.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/metabolic.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/metabolic.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/political_contrib.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/political_contrib.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/political_contrib.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/political_contrib.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/stillbirth_credit_max.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/stillbirth_credit_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/credits/other_credits/stillbirth_credit_max.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/stillbirth_credit_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/credits/personal/dependents.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/personal/dependents.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/credits/personal/dependents.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/personal/dependents.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/credits/personal/personal_credit_amount.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/personal/personal_credit_amount.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/credits/personal/personal_credit_amount.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/personal/personal_credit_amount.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/credits/personal/qual_dependents.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/personal/qual_dependents.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/credits/personal/qual_dependents.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/personal/qual_dependents.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/refundable.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/refundable.yaml new file mode 100644 index 000000000..aeb1e0686 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/refundable.yaml @@ -0,0 +1,11 @@ +description: Arkansas provides these refundable income tax credits. +values: + 2021-01-01: + - ar_cdcc +metadata: + reference: + - title: Ark. Code R. § 26-51-502 Household and dependent care expenses (c)(1)(A)(ii) + href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-502/ + unit: list + period: year + label: Arkansas refundable income tax credits diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/deductions/itemized/medical.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/deductions/itemized/medical.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/deductions/itemized/medical.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/deductions/itemized/medical.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/deductions/itemized/miscellaneous.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/deductions/itemized/miscellaneous.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/deductions/itemized/miscellaneous.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/deductions/itemized/miscellaneous.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/deductions/standard.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/deductions/standard.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/deductions/standard.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/deductions/standard.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/exemptions.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/exemptions.yaml new file mode 100644 index 000000000..cb9d2e00a --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar2/tax/income/exemptions.yaml @@ -0,0 +1,24 @@ +description: Arkansas accounts for these exemptions when calculating the state adjusted gross income. +values: + 2021-01-01: + - military_retirement_pay # Item 1 + - child_support_received # Item 4 + - us_govt_interest # Item 7 + - workers_compensation # Item 8 + - social_security # Item 8 + - veterans_benefits # Item 8 + - disability_benefits # Item 10 + # disability benefits pursuant to IRS §104 + - military_basic_pay # Item 11 + +metadata: + unit: list + label: Arkansas exemptions + reference: + - title: Arkansas 2022 Individual Income Tax Forms and Instructions + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=10 + - title: Arkansas 2021 Individual Income Tax Forms and Instructions + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2021_AR1000F_and_AR1000NR_Instructions.pdf#page=9 + - title: 2020 Arkansas Code § 26-51-301 ~ 316 + href: https://law.justia.com/codes/arkansas/2020/title-26/subtitle-5/chapter-51/subchapter-3/ + # The legal code does not give detailed description on each exemption. diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/index.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/index.yaml new file mode 100644 index 000000000..2852e302a --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar2/tax/income/index.yaml @@ -0,0 +1,4 @@ +metadata: + propagate_metadata_to_children: true + economy: false + household: false diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/Line11_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/Line11_multiple.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/Line11_multiple.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/Line11_multiple.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/Line15_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/Line15_multiple.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/Line15_multiple.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/Line15_multiple.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/Line17_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/Line17_multiple.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/Line17_multiple.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/Line17_multiple.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/Line9_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/Line9_multiple.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/Line9_multiple.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/Line9_multiple.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_multiple1.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_multiple1.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_multiple1.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_multiple1.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_multiple1_max.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_multiple1_max.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_multiple2.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_multiple2.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_multiple2.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_multiple2.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_subtract.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_subtract.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_subtract.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_subtract.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_threshold.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_threshold.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/lump_sum_dist/min_allowance_threshold.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_threshold.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/adjustment.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/adjustment.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/adjustment.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/adjustment.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/high_Income_adjustment.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/high_Income_adjustment.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/high_Income_adjustment.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/high_Income_adjustment.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/high_income_rates.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/high_income_rates.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/high_income_rates.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/high_income_rates.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/ira_additional.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/ira_additional.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/ira_additional.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/ira_additional.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/ira_exemption.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/ira_exemption.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/ira_exemption.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/ira_exemption.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/rates.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/rates.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/rates.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/rates.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/regular_bracket_max.yaml b/fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/regular_bracket_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/regular_bracket_max.yaml rename to fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/regular_bracket_max.yaml From 5b5782224828fdf1db18896579e94ad49f6d1bd7 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 24 Oct 2023 13:14:08 -0600 Subject: [PATCH 008/194] Added preexisting variable files --- .../states/ar2/tax/income/ar_exemptions.py | 12 +++++++++ .../states/ar2/tax/income/ar_income_tax.py | 13 +++++++++ ...ncome_tax_before_non_refundable_credits.py | 17 ++++++++++++ ...ar_income_tax_before_refundable_credits.py | 17 ++++++++++++ .../tax/income/ar_non_refundable_credits.py | 12 +++++++++ .../ar2/tax/income/ar_refundable_credits.py | 12 +++++++++ .../ar2/tax/income/ar_taxable_income.py | 14 ++++++++++ .../states/ar2/tax/income/credits/ar_cdcc.py | 16 +++++++++++ .../ar_inflationary_relief_tax_credit.py | 27 +++++++++++++++++++ .../ar2/tax/income/credits/personal_credit.py | 21 --------------- .../standard/ar_standard_deduction.py | 16 +++++++++++ 11 files changed, 156 insertions(+), 21 deletions(-) create mode 100644 fiscalsim_us/variables/gov/states/ar2/tax/income/ar_exemptions.py create mode 100644 fiscalsim_us/variables/gov/states/ar2/tax/income/ar_income_tax.py create mode 100644 fiscalsim_us/variables/gov/states/ar2/tax/income/ar_income_tax_before_non_refundable_credits.py create mode 100644 fiscalsim_us/variables/gov/states/ar2/tax/income/ar_income_tax_before_refundable_credits.py create mode 100644 fiscalsim_us/variables/gov/states/ar2/tax/income/ar_non_refundable_credits.py create mode 100644 fiscalsim_us/variables/gov/states/ar2/tax/income/ar_refundable_credits.py create mode 100644 fiscalsim_us/variables/gov/states/ar2/tax/income/ar_taxable_income.py create mode 100644 fiscalsim_us/variables/gov/states/ar2/tax/income/credits/ar_cdcc.py create mode 100644 fiscalsim_us/variables/gov/states/ar2/tax/income/credits/ar_inflationary_relief_tax_credit.py delete mode 100644 fiscalsim_us/variables/gov/states/ar2/tax/income/credits/personal_credit.py create mode 100644 fiscalsim_us/variables/gov/states/ar2/tax/income/deductions/standard/ar_standard_deduction.py diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_exemptions.py b/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_exemptions.py new file mode 100644 index 000000000..4e24ea17a --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_exemptions.py @@ -0,0 +1,12 @@ +from fiscalsim_us.model_api import * + + +class ar_exemptions(Variable): + value_type = float + entity = TaxUnit + label = "Arkansas exemptions from income tax" + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=10" + defined_for = StateCode.AR + unit = USD + definition_period = YEAR + adds = "gov.states.ar.tax.income.exemptions" diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_income_tax.py b/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_income_tax.py new file mode 100644 index 000000000..3b5e91155 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_income_tax.py @@ -0,0 +1,13 @@ +from fiscalsim_us.model_api import * + + +class ar_income_tax(Variable): + value_type = float + entity = TaxUnit + label = "Arkansas income tax" + unit = USD + definition_period = YEAR + defined_for = StateCode.AR + + adds = ["ar_income_tax_before_refundable_credits"] + subtracts = ["ar_refundable_credits"] diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_income_tax_before_non_refundable_credits.py new file mode 100644 index 000000000..c71ff865e --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -0,0 +1,17 @@ +from fiscalsim_us.model_api import * + + +class ar_income_tax_before_non_refundable_credits(Variable): + value_type = float + entity = TaxUnit + label = "Arkansas income tax before non refundable credits" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2023_Final_AR1000ES.pdf" + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + rate = parameters(period).gov.states.ar.tax.income.rates.main + taxable_income = tax_unit("ar_taxable_income", period) + + return rate.calc(taxable_income) diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_income_tax_before_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_income_tax_before_refundable_credits.py new file mode 100644 index 000000000..4c76578f3 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_income_tax_before_refundable_credits.py @@ -0,0 +1,17 @@ +from fiscalsim_us.model_api import * + + +class ar_income_tax_before_refundable_credits(Variable): + value_type = float + entity = TaxUnit + label = "Arkansas income tax before refundable credits" + unit = USD + definition_period = YEAR + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + before_non_refundable_credits = tax_unit( + "ar_income_tax_before_non_refundable_credits", period + ) + non_refundable_credits = tax_unit("ar_non_refundable_credits", period) + return max_(before_non_refundable_credits - non_refundable_credits, 0) diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_non_refundable_credits.py new file mode 100644 index 000000000..8d5f883d9 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_non_refundable_credits.py @@ -0,0 +1,12 @@ +from fiscalsim_us.model_api import * + + +class ar_non_refundable_credits(Variable): + value_type = float + entity = TaxUnit + label = "Arkansas non-refundable credits" + unit = USD + definition_period = YEAR + defined_for = StateCode.AR + + adds = "gov.states.ar.tax.income.credits.non_refundable" diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_refundable_credits.py new file mode 100644 index 000000000..eda396c54 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_refundable_credits.py @@ -0,0 +1,12 @@ +from fiscalsim_us.model_api import * + + +class ar_refundable_credits(Variable): + value_type = float + entity = TaxUnit + label = "Arkansas refundable credits" + unit = USD + definition_period = YEAR + defined_for = StateCode.AR + + adds = "gov.states.ar.tax.income.credits.refundable" diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_taxable_income.py b/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_taxable_income.py new file mode 100644 index 000000000..2f7436f3d --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_taxable_income.py @@ -0,0 +1,14 @@ +from fiscalsim_us.model_api import * + + +class ar_taxable_income(Variable): + value_type = float + entity = TaxUnit + label = "Arkansas taxable income" + unit = USD + definition_period = YEAR + reference = ( + "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/TaxBrackets_2022.pdf" + "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2023_Final_AR1000ES.pdf" + ) + defined_for = StateCode.AR diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/credits/ar_cdcc.py b/fiscalsim_us/variables/gov/states/ar2/tax/income/credits/ar_cdcc.py new file mode 100644 index 000000000..71c6a11d2 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar2/tax/income/credits/ar_cdcc.py @@ -0,0 +1,16 @@ +from fiscalsim_us.model_api import * + + +class ar_cdcc(Variable): + value_type = float + entity = TaxUnit + label = "Arkansas Child and Dependent Care Credit" + unit = USD + documentation = "https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-502/" + definition_period = YEAR + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + p = parameters(period).gov.states.ar.tax.income.credits.cdcc + cdcc = tax_unit("cdcc", period) + return cdcc * p.match diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/credits/ar_inflationary_relief_tax_credit.py b/fiscalsim_us/variables/gov/states/ar2/tax/income/credits/ar_inflationary_relief_tax_credit.py new file mode 100644 index 000000000..bf40abcef --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar2/tax/income/credits/ar_inflationary_relief_tax_credit.py @@ -0,0 +1,27 @@ +from fiscalsim_us.model_api import * + + +class ar_inflation_relief_credit(Variable): + value_type = float + entity = TaxUnit + label = "Arkansas inflation relief income-tax credit" + unit = USD + definition_period = YEAR + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + # the Arkansas inflationary relief tax credit is calculated based on net taxable income + # mentioned in individual income tax return form AR1000F line 28 + income = tax_unit("ar_taxable_income", period) + p = parameters( + period + ).gov.states.ar.tax.income.credits.inflationary_relief + filing_status = tax_unit("filing_status", period) + max_amount = p.max_amount[filing_status] + reduction_start = p.reduction.start[filing_status] + increment = p.reduction.increment[filing_status] + reduction_per_increment = p.reduction.amount[filing_status] + excess = max_(income - reduction_start, 0) + increments = np.ceil(excess / increment) + total_reduction_amount = increments * reduction_per_increment + return max_(max_amount - total_reduction_amount, 0) diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/credits/personal_credit.py b/fiscalsim_us/variables/gov/states/ar2/tax/income/credits/personal_credit.py deleted file mode 100644 index 3436ddd67..000000000 --- a/fiscalsim_us/variables/gov/states/ar2/tax/income/credits/personal_credit.py +++ /dev/null @@ -1,21 +0,0 @@ -from fiscalsim_us.model_api import * - - -class ar_personal_credit(Variable): - """ - Lines 7 & 34 on Arkansas 2022 Individual Income Tax return form AR1000F. - """ - - value_type = float - entity = TaxUnit - label = "AR personal tax credits" - unit = USD - definition_period = YEAR - defined_for = StateCode.AR - - def formula(tax_unit, period, parameters): - gov = parameters(period).gov - ar_personal_credit_amount = gov.states.ar.tax.income.credits.personal.personal_credit_amount - ar_dependents_credit_amount = gov.states.ar.tax.income.credits.personal.dependents - ar_qual_dependents_credit_amount = gov.states.ar.tax.income.credits.personal.qual_dependents_credit_amount - \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/deductions/standard/ar_standard_deduction.py b/fiscalsim_us/variables/gov/states/ar2/tax/income/deductions/standard/ar_standard_deduction.py new file mode 100644 index 000000000..d74172c55 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar2/tax/income/deductions/standard/ar_standard_deduction.py @@ -0,0 +1,16 @@ +from fiscalsim_us.model_api import * + + +class ar_standard_deduction(Variable): + value_type = float + entity = TaxUnit + label = "Arkansas standard deduction" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=14" + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + p = parameters(period).gov.states.ar.tax.income.deductions + filing_status = tax_unit("filing_status", period) + return p.standard[filing_status] From 957c8324ef9542b8e44bcd63ea7b38d1f510cae4 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 26 Oct 2023 15:16:10 -0600 Subject: [PATCH 009/194] Combined usable files in ar and ar2, started personal credit variable --- .../gov/states/{ar2 => ar}/README.md | 0 .../credits/cdcc}/childcare_multiple.yaml | 0 .../credits/cdcc}/childcare_qual_max.yaml | 0 .../income/credits/cdcc}/childcare_rates.yaml | 0 .../credits/cdcc}/dependent_care_max.yaml | 0 .../separate_diff_dependent_care_max.yaml | 0 .../other_credits/additional_amount.yaml | 0 .../other_credits/adoption_credit.yaml | 0 .../inflation_married_joint.yaml | 0 .../other_credits/inflation_separate.yaml | 0 .../credits/other_credits/metabolic.yaml | 0 .../other_credits/political_contrib.yaml | 0 .../other_credits/stillbirth_credit_max.yaml | 0 .../income/credits/personal/dependents.yaml | 0 .../personal/personal_credit_amount.yaml | 0 .../credits/personal/qual_dependents.yaml | 0 .../income/deductions/itemized/medical.yaml | 0 .../deductions/itemized/miscellaneous.yaml | 0 .../ar/tax/income/deductions/standard.yaml | 2 +- .../gov/states/ar/{ => tax/income}/index.yaml | 0 .../income/lump_sum_dist/Line11_multiple.yaml | 0 .../income/lump_sum_dist/Line15_multiple.yaml | 0 .../income/lump_sum_dist/Line17_multiple.yaml | 0 .../income/lump_sum_dist/Line9_multiple.yaml | 0 .../min_allowance_multiple1.yaml | 0 .../min_allowance_multiple1_max.yaml | 0 .../min_allowance_multiple2.yaml | 0 .../lump_sum_dist/min_allowance_subtract.yaml | 0 .../min_allowance_threshold.yaml | 0 .../tax/income/rates/adjustment.yaml | 0 .../income/rates/high_Income_adjustment.yaml | 0 .../tax/income/rates/high_income_rates.yaml | 0 .../tax/income/rates/ira_additional.yaml | 0 .../tax/income/rates/ira_exemption.yaml | 0 .../{ar2 => ar}/tax/income/rates/rates.yaml | 0 .../tax/income/rates/regular_bracket_max.yaml | 0 .../{ar2/tax/income => ar_old}/index.yaml | 0 .../tax/income/credits/cdcc/README.md | 0 .../tax/income/credits/cdcc/match.yaml | 0 .../inflationary_relief/max_amount.yaml | 0 .../inflationary_relief/reduction/amount.yaml | 0 .../reduction/increment.yaml | 0 .../inflationary_relief/reduction/start.yaml | 0 .../tax/income/credits/non_refundable.yaml | 0 .../tax/income/credits/refundable.yaml | 0 .../tax/income/deductions/standard.yaml | 2 +- .../tax/income/exemptions.yaml | 0 .../{ar => ar_old}/tax/income/rates/main.yaml | 0 .../gov/states/ar/tax/income/ar_agi.py | 12 ++++++++ .../gov/states/ar/tax/income/ar_exemptions.py | 2 ++ .../gov/states/ar/tax/income/ar_income_tax.py | 1 + ...ncome_tax_before_non_refundable_credits.py | 3 +- .../states/ar/tax/income/ar_taxable_income.py | 1 + .../tax/income/credits/ar_personal_credits.py | 30 +++++++++++++++++++ .../tax/income/ar_exemptions.py | 0 .../tax/income/ar_income_tax.py | 0 ...ncome_tax_before_non_refundable_credits.py | 0 ...ar_income_tax_before_refundable_credits.py | 0 .../tax/income/ar_non_refundable_credits.py | 0 .../tax/income/ar_refundable_credits.py | 0 .../tax/income/ar_taxable_income.py | 0 .../tax/income/credits/ar_cdcc.py | 0 .../ar_inflationary_relief_tax_credit.py | 0 .../standard/ar_standard_deduction.py | 0 64 files changed, 50 insertions(+), 3 deletions(-) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/README.md (100%) rename fiscalsim_us/parameters/gov/states/{ar2/tax/income/credits/childcare_dep => ar/tax/income/credits/cdcc}/childcare_multiple.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2/tax/income/credits/childcare_dep => ar/tax/income/credits/cdcc}/childcare_qual_max.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2/tax/income/credits/childcare_dep => ar/tax/income/credits/cdcc}/childcare_rates.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2/tax/income/credits/childcare_dep => ar/tax/income/credits/cdcc}/dependent_care_max.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2/tax/income/credits/childcare_dep => ar/tax/income/credits/cdcc}/separate_diff_dependent_care_max.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/credits/other_credits/additional_amount.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/credits/other_credits/adoption_credit.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/credits/other_credits/inflation_married_joint.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/credits/other_credits/inflation_separate.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/credits/other_credits/metabolic.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/credits/other_credits/political_contrib.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/credits/other_credits/stillbirth_credit_max.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/credits/personal/dependents.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/credits/personal/personal_credit_amount.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/credits/personal/qual_dependents.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/deductions/itemized/medical.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/deductions/itemized/miscellaneous.yaml (100%) rename fiscalsim_us/parameters/gov/states/ar/{ => tax/income}/index.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/lump_sum_dist/Line11_multiple.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/lump_sum_dist/Line15_multiple.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/lump_sum_dist/Line17_multiple.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/lump_sum_dist/Line9_multiple.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/lump_sum_dist/min_allowance_multiple1.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/lump_sum_dist/min_allowance_multiple2.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/lump_sum_dist/min_allowance_subtract.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/lump_sum_dist/min_allowance_threshold.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/rates/adjustment.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/rates/high_Income_adjustment.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/rates/high_income_rates.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/rates/ira_additional.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/rates/ira_exemption.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/rates/rates.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar}/tax/income/rates/regular_bracket_max.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2/tax/income => ar_old}/index.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar_old}/tax/income/credits/cdcc/README.md (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar_old}/tax/income/credits/cdcc/match.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar_old}/tax/income/credits/inflationary_relief/max_amount.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar_old}/tax/income/credits/inflationary_relief/reduction/amount.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar_old}/tax/income/credits/inflationary_relief/reduction/increment.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar_old}/tax/income/credits/inflationary_relief/reduction/start.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar_old}/tax/income/credits/non_refundable.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar_old}/tax/income/credits/refundable.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar_old}/tax/income/deductions/standard.yaml (98%) rename fiscalsim_us/parameters/gov/states/{ar2 => ar_old}/tax/income/exemptions.yaml (100%) rename fiscalsim_us/parameters/gov/states/{ar => ar_old}/tax/income/rates/main.yaml (100%) create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/ar_agi.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py rename fiscalsim_us/variables/gov/states/{ar2 => ar_old}/tax/income/ar_exemptions.py (100%) rename fiscalsim_us/variables/gov/states/{ar2 => ar_old}/tax/income/ar_income_tax.py (100%) rename fiscalsim_us/variables/gov/states/{ar2 => ar_old}/tax/income/ar_income_tax_before_non_refundable_credits.py (100%) rename fiscalsim_us/variables/gov/states/{ar2 => ar_old}/tax/income/ar_income_tax_before_refundable_credits.py (100%) rename fiscalsim_us/variables/gov/states/{ar2 => ar_old}/tax/income/ar_non_refundable_credits.py (100%) rename fiscalsim_us/variables/gov/states/{ar2 => ar_old}/tax/income/ar_refundable_credits.py (100%) rename fiscalsim_us/variables/gov/states/{ar2 => ar_old}/tax/income/ar_taxable_income.py (100%) rename fiscalsim_us/variables/gov/states/{ar2 => ar_old}/tax/income/credits/ar_cdcc.py (100%) rename fiscalsim_us/variables/gov/states/{ar2 => ar_old}/tax/income/credits/ar_inflationary_relief_tax_credit.py (100%) rename fiscalsim_us/variables/gov/states/{ar2 => ar_old}/tax/income/deductions/standard/ar_standard_deduction.py (100%) diff --git a/fiscalsim_us/parameters/gov/states/ar2/README.md b/fiscalsim_us/parameters/gov/states/ar/README.md similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/README.md rename to fiscalsim_us/parameters/gov/states/ar/README.md diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/childcare_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_multiple.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/childcare_multiple.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_multiple.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/childcare_qual_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_qual_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/childcare_qual_max.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_qual_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/childcare_rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_rates.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/childcare_rates.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_rates.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/dependent_care_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/dependent_care_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/dependent_care_max.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/dependent_care_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/separate_diff_dependent_care_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/separate_diff_dependent_care_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/childcare_dep/separate_diff_dependent_care_max.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/separate_diff_dependent_care_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/additional_amount.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_amount.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/additional_amount.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_amount.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/adoption_credit.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/adoption_credit.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/adoption_credit.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/adoption_credit.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/inflation_married_joint.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_married_joint.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/inflation_married_joint.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_married_joint.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/inflation_separate.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_separate.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/inflation_separate.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_separate.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/metabolic.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/metabolic.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/metabolic.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/metabolic.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/political_contrib.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/political_contrib.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/political_contrib.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/political_contrib.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/stillbirth_credit_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/other_credits/stillbirth_credit_max.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/personal/dependents.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/dependents.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/personal/dependents.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/dependents.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/personal/personal_credit_amount.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/personal_credit_amount.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/personal/personal_credit_amount.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/personal_credit_amount.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/personal/qual_dependents.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/qual_dependents.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/personal/qual_dependents.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/qual_dependents.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/deductions/itemized/medical.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/medical.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/deductions/itemized/medical.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/medical.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/deductions/itemized/miscellaneous.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/miscellaneous.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/deductions/itemized/miscellaneous.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/miscellaneous.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/standard.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/standard.yaml index 3492fb804..1869c3f96 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/standard.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/standard.yaml @@ -32,4 +32,4 @@ HEAD_OF_HOUSEHOLD: WIDOW: # $2,200 in 2015 + COLA, rounded by $10. 2021-01-01: 2_200 - 2022-01-01: 2_270 + 2022-01-01: 2_270 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/index.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/index.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/index.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/index.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/Line11_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line11_multiple.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/Line11_multiple.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line11_multiple.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/Line15_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line15_multiple.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/Line15_multiple.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line15_multiple.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/Line17_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line17_multiple.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/Line17_multiple.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line17_multiple.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/Line9_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line9_multiple.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/Line9_multiple.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line9_multiple.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_multiple1.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_multiple1.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_multiple2.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_multiple2.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_subtract.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_subtract.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_subtract.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_subtract.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_threshold.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_threshold.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/lump_sum_dist/min_allowance_threshold.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_threshold.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/adjustment.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/adjustment.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/adjustment.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/rates/adjustment.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/high_Income_adjustment.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_Income_adjustment.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/high_Income_adjustment.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_Income_adjustment.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/high_income_rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_income_rates.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/high_income_rates.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_income_rates.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/ira_additional.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_additional.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/ira_additional.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_additional.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/ira_exemption.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_exemption.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/ira_exemption.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_exemption.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/rates.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/regular_bracket_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/rates/regular_bracket_max.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/index.yaml b/fiscalsim_us/parameters/gov/states/ar_old/index.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/index.yaml rename to fiscalsim_us/parameters/gov/states/ar_old/index.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/README.md b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/cdcc/README.md similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/README.md rename to fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/cdcc/README.md diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/match.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/cdcc/match.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/match.yaml rename to fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/cdcc/match.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/max_amount.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/max_amount.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/max_amount.yaml rename to fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/max_amount.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/reduction/amount.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/reduction/amount.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/reduction/amount.yaml rename to fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/reduction/amount.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/reduction/increment.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/reduction/increment.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/reduction/increment.yaml rename to fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/reduction/increment.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/reduction/start.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/reduction/start.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/inflationary_relief/reduction/start.yaml rename to fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/reduction/start.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/non_refundable.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/non_refundable.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/non_refundable.yaml rename to fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/non_refundable.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/refundable.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/refundable.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/credits/refundable.yaml rename to fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/refundable.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/deductions/standard.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/deductions/standard.yaml similarity index 98% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/deductions/standard.yaml rename to fiscalsim_us/parameters/gov/states/ar_old/tax/income/deductions/standard.yaml index 1869c3f96..3492fb804 100644 --- a/fiscalsim_us/parameters/gov/states/ar2/tax/income/deductions/standard.yaml +++ b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/deductions/standard.yaml @@ -32,4 +32,4 @@ HEAD_OF_HOUSEHOLD: WIDOW: # $2,200 in 2015 + COLA, rounded by $10. 2021-01-01: 2_200 - 2022-01-01: 2_270 \ No newline at end of file + 2022-01-01: 2_270 diff --git a/fiscalsim_us/parameters/gov/states/ar2/tax/income/exemptions.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/exemptions.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar2/tax/income/exemptions.yaml rename to fiscalsim_us/parameters/gov/states/ar_old/tax/income/exemptions.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/main.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/rates/main.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/income/rates/main.yaml rename to fiscalsim_us/parameters/gov/states/ar_old/tax/income/rates/main.yaml diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_agi.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_agi.py new file mode 100644 index 000000000..afd79be59 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_agi.py @@ -0,0 +1,12 @@ +from fiscalsim_us.model_api import * + + +class ar_agi(Variable): + value_type = float + entity = TaxUnit + label = "Arkansas adjusted gross income" + defined_for = StateCode.AR + unit = USD + definition_period = YEAR + # Arkansas Code + reference = "https://law.justia.com/codes/arkansas/2019/title-26/subtitle-5/chapter-51/subchapter-4/section-26-51-403/" \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_exemptions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_exemptions.py index 4e24ea17a..e61a95503 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_exemptions.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_exemptions.py @@ -2,6 +2,8 @@ class ar_exemptions(Variable): + "2022 AR 1000F instructions page 10" + value_type = float entity = TaxUnit label = "Arkansas exemptions from income tax" diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax.py index 3b5e91155..062da1f2e 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax.py @@ -2,6 +2,7 @@ class ar_income_tax(Variable): + "Line 38 of Form AR 1000F" value_type = float entity = TaxUnit label = "Arkansas income tax" diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index c71ff865e..627bea980 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -2,6 +2,7 @@ class ar_income_tax_before_non_refundable_credits(Variable): + "Line 29 of form AR1000F" value_type = float entity = TaxUnit label = "Arkansas income tax before non refundable credits" @@ -11,7 +12,7 @@ class ar_income_tax_before_non_refundable_credits(Variable): defined_for = StateCode.AR def formula(tax_unit, period, parameters): - rate = parameters(period).gov.states.ar.tax.income.rates.main + rate = parameters(period).gov.states.ar.tax.income.rates.rates taxable_income = tax_unit("ar_taxable_income", period) return rate.calc(taxable_income) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_taxable_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_taxable_income.py index 2f7436f3d..59bf4acff 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_taxable_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_taxable_income.py @@ -2,6 +2,7 @@ class ar_taxable_income(Variable): + "Line 28 of Form AR1000F" value_type = float entity = TaxUnit label = "Arkansas taxable income" diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py new file mode 100644 index 000000000..8d1950a0b --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py @@ -0,0 +1,30 @@ +from fiscalsim_us.model_api import * + + +class ar_income_tax_before_non_refundable_credits(Variable): + "Line 7A - 7D of form AR1000F" + value_type = float + entity = TaxUnit + label = "Arkansas personal tax credit" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf" + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + personal_credit_amount = parameters(period).gov.states.ar.tax.income.credits.personal.personal_credit_amount + boxes_checked = tax_unit("placeholder", period) + personal_credit = personal_credit_amount * boxes_checked + + dependents = tax_unit("tax_unit_dependents", period) + dependent_credit_amount = parameters(period).gov.states.ar.tax.income.credits.personal.dependents + dependent_credit = dependents *dependent_credit_amount + + + qual_dependents = tax_unit("placeholder", period) + qual_dependent_credit_amount = parameters(period).gov.states.ar.tax.income.credits.personal.qual_dependents + qual_dependent_credit = qual_dependent_credit_amount * qual_dependents + + + + return personal_credit + dependent_credit + qual_dependent_credit \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_exemptions.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_exemptions.py similarity index 100% rename from fiscalsim_us/variables/gov/states/ar2/tax/income/ar_exemptions.py rename to fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_exemptions.py diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_income_tax.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_income_tax.py similarity index 100% rename from fiscalsim_us/variables/gov/states/ar2/tax/income/ar_income_tax.py rename to fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_income_tax.py diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_income_tax_before_non_refundable_credits.py similarity index 100% rename from fiscalsim_us/variables/gov/states/ar2/tax/income/ar_income_tax_before_non_refundable_credits.py rename to fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_income_tax_before_non_refundable_credits.py diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_income_tax_before_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_income_tax_before_refundable_credits.py similarity index 100% rename from fiscalsim_us/variables/gov/states/ar2/tax/income/ar_income_tax_before_refundable_credits.py rename to fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_income_tax_before_refundable_credits.py diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_non_refundable_credits.py similarity index 100% rename from fiscalsim_us/variables/gov/states/ar2/tax/income/ar_non_refundable_credits.py rename to fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_non_refundable_credits.py diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_refundable_credits.py similarity index 100% rename from fiscalsim_us/variables/gov/states/ar2/tax/income/ar_refundable_credits.py rename to fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_refundable_credits.py diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/ar_taxable_income.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_taxable_income.py similarity index 100% rename from fiscalsim_us/variables/gov/states/ar2/tax/income/ar_taxable_income.py rename to fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_taxable_income.py diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/credits/ar_cdcc.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/credits/ar_cdcc.py similarity index 100% rename from fiscalsim_us/variables/gov/states/ar2/tax/income/credits/ar_cdcc.py rename to fiscalsim_us/variables/gov/states/ar_old/tax/income/credits/ar_cdcc.py diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/credits/ar_inflationary_relief_tax_credit.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/credits/ar_inflationary_relief_tax_credit.py similarity index 100% rename from fiscalsim_us/variables/gov/states/ar2/tax/income/credits/ar_inflationary_relief_tax_credit.py rename to fiscalsim_us/variables/gov/states/ar_old/tax/income/credits/ar_inflationary_relief_tax_credit.py diff --git a/fiscalsim_us/variables/gov/states/ar2/tax/income/deductions/standard/ar_standard_deduction.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/deductions/standard/ar_standard_deduction.py similarity index 100% rename from fiscalsim_us/variables/gov/states/ar2/tax/income/deductions/standard/ar_standard_deduction.py rename to fiscalsim_us/variables/gov/states/ar_old/tax/income/deductions/standard/ar_standard_deduction.py From db6db477d7d96917dfb8214a22693406d30b2a37 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 30 Oct 2023 12:53:12 -0600 Subject: [PATCH 010/194] Added variables and additional parameters required to calculate AR AGI --- .../other_credits/additional_amount.yaml | 26 +++++------ .../inflation_married_joint.yaml | 32 ++++++------- .../other_credits/inflation_separate.yaml | 32 ++++++------- .../credits/personal/age_threshold.yaml | 10 +++++ .../states/ar/tax/income/income_sources.yaml | 29 ++++++++++++ .../ar/tax/income/retirement_sources.yaml | 13 ++++++ .../gov/states/ar/tax/income/ar_agi.py | 5 ++- .../ar/tax/income/ar_income_adjustments.py | 15 +++++++ .../ar/tax/income/ar_retirement_sources.py | 12 +++++ .../states/ar/tax/income/ar_total_income.py | 21 +++++++++ .../tax/income/credits/ar_personal_credits.py | 45 ++++++++++++++++--- .../household/demographic/person/is_deaf.py | 8 ++++ .../demographic/tax_unit/deaf_head.py | 14 ++++++ .../demographic/tax_unit/deaf_spouse.py | 14 ++++++ 14 files changed, 225 insertions(+), 51 deletions(-) create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/age_threshold.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/ar_retirement_sources.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py create mode 100644 fiscalsim_us/variables/household/demographic/person/is_deaf.py create mode 100644 fiscalsim_us/variables/household/demographic/tax_unit/deaf_head.py create mode 100644 fiscalsim_us/variables/household/demographic/tax_unit/deaf_spouse.py diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_amount.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_amount.yaml index 088229bad..72f3d4f59 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_amount.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_amount.yaml @@ -13,53 +13,53 @@ metadata: brackets: - threshold: 2022-01-01: 0 - rate: + amount: 2022-01-01: 60 - threshold: 2022-01-01: 24_301 - rate: + amount: 2022-01-01: 55 - threshold: 2022-01-01: 24_401 - rate: + amount: 2022-01-01: 50 - threshold: 2022-01-01: 24_501 - rate: + amount: 2022-01-01: 45 - threshold: 2022-01-01: 24_601 - rate: + amount: 2022-01-01: 40 - threshold: 2022-01-01: 24_701 - rate: + amount: 2022-01-01: 35 - threshold: 2022-01-01: 24_801 - rate: + amount: 2022-01-01: 30 - threshold: 2022-01-01: 24_901 - rate: + amount: 2022-01-01: 25 - threshold: 2022-01-01: 25_001 - rate: + amount: 2022-01-01: 20 - threshold: 2022-01-01: 25_101 - rate: + amount: 2022-01-01: 15 - threshold: 2022-01-01: 25_201 - rate: + amount: 2022-01-01: 10 - threshold: 2022-01-01: 25_301 - rate: + amount: 2022-01-01: 5 - threshold: 2022-01-01: 25_401 - rate: + amount: 2022-01-01: 0 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_married_joint.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_married_joint.yaml index fffdbdde0..cc386dbde 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_married_joint.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_married_joint.yaml @@ -13,65 +13,65 @@ metadata: brackets: - threshold: 2022-01-01: 1 - rate: + amount: 2022-01-01: 300 - threshold: 2022-01-01: 174_001 - rate: + amount: 2022-01-01: 280 - threshold: 2022-01-01: 176_001 - rate: + amount: 2022-01-01: 260 - threshold: 2022-01-01: 178_001 - rate: + amount: 2022-01-01: 240 - threshold: 2022-01-01: 180_001 - rate: + amount: 2022-01-01: 220 - threshold: 2022-01-01: 182_001 - rate: + amount: 2022-01-01: 200 - threshold: 2022-01-01: 184_001 - rate: + amount: 2022-01-01: 180 - threshold: 2022-01-01: 186_001 - rate: + amount: 2022-01-01: 160 - threshold: 2022-01-01: 188_001 - rate: + amount: 2022-01-01: 140 - threshold: 2022-01-01: 190_001 - rate: + amount: 2022-01-01: 120 - threshold: 2022-01-01: 192_001 - rate: + amount: 2022-01-01: 100 - threshold: 2022-01-01: 194_001 - rate: + amount: 2022-01-01: 80 - threshold: 2022-01-01: 196_001 - rate: + amount: 2022-01-01: 60 - threshold: 2022-01-01: 198_001 - rate: + amount: 2022-01-01: 40 - threshold: 2022-01-01: 200_001 - rate: + amount: 2022-01-01: 20 - threshold: 2022-01-01: 202_001 - rate: + amount: 2022-01-01: 0 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_separate.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_separate.yaml index 4b81458c2..82cd3320e 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_separate.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_separate.yaml @@ -13,65 +13,65 @@ metadata: brackets: - threshold: 2022-01-01: 1 - rate: + amount: 2022-01-01: 150 - threshold: 2022-01-01: 87_001 - rate: + amount: 2022-01-01: 140 - threshold: 2022-01-01: 88_001 - rate: + amount: 2022-01-01: 130 - threshold: 2022-01-01: 89_001 - rate: + amount: 2022-01-01: 120 - threshold: 2022-01-01: 90_001 - rate: + amount: 2022-01-01: 110 - threshold: 2022-01-01: 91_001 - rate: + amount: 2022-01-01: 100 - threshold: 2022-01-01: 92_001 - rate: + amount: 2022-01-01: 90 - threshold: 2022-01-01: 93_001 - rate: + amount: 2022-01-01: 80 - threshold: 2022-01-01: 94_001 - rate: + amount: 2022-01-01: 70 - threshold: 2022-01-01: 95_001 - rate: + amount: 2022-01-01: 60 - threshold: 2022-01-01: 96_001 - rate: + amount: 2022-01-01: 50 - threshold: 2022-01-01: 97_001 - rate: + amount: 2022-01-01: 40 - threshold: 2022-01-01: 98_001 - rate: + amount: 2022-01-01: 30 - threshold: 2022-01-01: 99_001 - rate: + amount: 2022-01-01: 20 - threshold: 2022-01-01: 100_001 - rate: + amount: 2022-01-01: 10 - threshold: 2022-01-01: 101_001 - rate: + amount: 2022-01-01: 0 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/age_threshold.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/age_threshold.yaml new file mode 100644 index 000000000..7544c510f --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/age_threshold.yaml @@ -0,0 +1,10 @@ +description: Arkansas provides the aged deduction amount to filers at or above this age. +values: + 2021-01-01: 65 +metadata: + unit: year + period: year + label: Arkansas additional aged deduction age eligibility + reference: + - title: 2021 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 7B) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2021_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml new file mode 100644 index 000000000..689d92f90 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -0,0 +1,29 @@ +description: Income sources counted as gross income for tax purposes. +values: + 2010-01-01: + - employment_income + - military_pay + - taxable_interest_income + - dividend_income + - alimony_income + - self_employment_income + - partnership_s_corp_income + - capital_gains + - other_gains + - taxable_pension_income + # Pension income includes annuities and endowment contracts, non-qualified IRAs + - military_retirement + - primary_pension_qual_ira + - spouse_pension_qual_ira + - rental_income + # Royalties included in rental income + - farm_income + - farm_rent_income + - taxable_unemployment_compensation + - miscellaneous_income +metadata: + unit: currency-USD + label: Gross income sources + reference: + - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (lines 8 - 22) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml new file mode 100644 index 000000000..6e998e21a --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml @@ -0,0 +1,13 @@ +description: Arkansas counts these income sources for in line 18 +values: + 2022-01-01: + - taxable_pension_income + - qualified_ira_distributions +metadata: + unit: list + label: Arkansas Retirement Income Sources Line 18 + reference: + - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 18) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf + - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident Instructions (line 18) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_agi.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_agi.py index afd79be59..65487cce2 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_agi.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_agi.py @@ -9,4 +9,7 @@ class ar_agi(Variable): unit = USD definition_period = YEAR # Arkansas Code - reference = "https://law.justia.com/codes/arkansas/2019/title-26/subtitle-5/chapter-51/subchapter-4/section-26-51-403/" \ No newline at end of file + reference = "https://law.justia.com/codes/arkansas/2019/title-26/subtitle-5/chapter-51/subchapter-4/section-26-51-403/" + + adds = ["ar_total_income"] + subtracts = ["ar_income_adjustments"] \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py new file mode 100644 index 000000000..175310fe7 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py @@ -0,0 +1,15 @@ +from fiscalsim_us.model_api import * + + +class ar_income_adjustments(Variable): + value_type = float + entity = TaxUnit + label = "Arkansas adjustments to total income to calculate AR AGI" + unit = USD + definition_period = YEAR + reference = ( + "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf" + "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000ADJ_AdjustmentsSchedule.pdf" + "https://law.justia.com/codes/arkansas/2019/title-26/subtitle-5/chapter-51/subchapter-4/section-26-51-403/" + ) + defined_for = StateCode.AR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_retirement_sources.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_retirement_sources.py new file mode 100644 index 000000000..d8f301493 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_retirement_sources.py @@ -0,0 +1,12 @@ +from fiscalsim_us.model_api import * + + +class ar_retirement_sources(Variable): + value_type = float + entity = Person + label = "Income from Qualified IRA distributions and Employer pensions" + unit = USD + definition_period = YEAR + defined_for = StateCode.CO + + adds = "gov.states.ar.tax.income.retirement_sources" \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py new file mode 100644 index 000000000..caa5e14f2 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -0,0 +1,21 @@ +from fiscalsim_us.model_api import * + + +class ar_total_income(Variable): + value_type = float + entity = Person + label = "Total income" + unit = USD + documentation = "Total income, as defined in the Arkansas state Tax Form." + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf" + defined_for = StateCode.AR + + def formula(person, period, parameters): + sources = parameters(period).gov.states.ar.tax.income.income_sources + total = 0 + not_dependent = ~person("is_tax_unit_dependent", period) + for source in sources: + # Add positive values only - losses are deducted later. + total += not_dependent * max_(0, add(person, period, [source])) + return total \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py index 8d1950a0b..b5a73fc82 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py @@ -1,8 +1,8 @@ from fiscalsim_us.model_api import * -class ar_income_tax_before_non_refundable_credits(Variable): - "Line 7A - 7D of form AR1000F" +class ar_personal_credits(Variable): + "Line 7A - 7D, 34 of form AR1000F" value_type = float entity = TaxUnit label = "Arkansas personal tax credit" @@ -13,14 +13,49 @@ class ar_income_tax_before_non_refundable_credits(Variable): def formula(tax_unit, period, parameters): personal_credit_amount = parameters(period).gov.states.ar.tax.income.credits.personal.personal_credit_amount - boxes_checked = tax_unit("placeholder", period) - personal_credit = personal_credit_amount * boxes_checked + filing_status = tax_unit("filing_status", period) + married_status = filing_status.possible_values.JOINT + self_and_spouse_credit = where(filing_status == married_status, 2, 1) * personal_credit_amount + + + blind_head = tax_unit("blind_head", period).astype(int) + blind_spouse = tax_unit("blind_spouse", period) * 1 + blind_credit = (blind_head + blind_spouse) * personal_credit_amount + + age_threshold = parameters(period).gov.states.ar.tax.income.credits.personal.age_threshold + aged_head = where(tax_unit("age_head", period).astype(int)>age_threshold,1,0) + aged_spouse = where(tax_unit("age_spouse", period).astype(int)>age_threshold,1,0) + aged_credit = (aged_head + aged_spouse) * personal_credit_amount + + retirement_income = parameters(period).gov.states.ar.tax.income.retirement_sources + aged_special_head = where(aged_head == 1 and retirement_income > 0, 1, 0) + aged_special_spouse = where(aged_spouse == 1 and retirement_income > 0, 1, 0) + + aged_special_credit = (aged_special_head + aged_special_spouse) * personal_credit_amount + + + # I created "is_deaf", "deaf_head", and "deaf_spouse" myself + deaf_head = tax_unit("deaf_head", period).astype(int) + deaf_spouse = tax_unit("deaf_spouse", period) * 1 + deaf_credit = (deaf_head + deaf_spouse) * personal_credit_amount + + + #Need to add "surviving spouse" status to this too + hoh_status = filing_status.possible_values.HEAD_OF_HOUSEHOLD + hoh_credit = where(filing_status == hoh_status, 1, 0) * personal_credit_amount + + + personal_credit = self_and_spouse_credit + blind_credit + aged_credit + aged_special_credit + deaf_credit + hoh_credit + + + + dependents = tax_unit("tax_unit_dependents", period) dependent_credit_amount = parameters(period).gov.states.ar.tax.income.credits.personal.dependents dependent_credit = dependents *dependent_credit_amount - + qual_dependents = tax_unit("placeholder", period) qual_dependent_credit_amount = parameters(period).gov.states.ar.tax.income.credits.personal.qual_dependents qual_dependent_credit = qual_dependent_credit_amount * qual_dependents diff --git a/fiscalsim_us/variables/household/demographic/person/is_deaf.py b/fiscalsim_us/variables/household/demographic/person/is_deaf.py new file mode 100644 index 000000000..b1518abfe --- /dev/null +++ b/fiscalsim_us/variables/household/demographic/person/is_deaf.py @@ -0,0 +1,8 @@ +from fiscalsim_us.model_api import * + + +class is_deaf(Variable): + value_type = bool + entity = Person + label = "Is deaf" + definition_period = YEAR diff --git a/fiscalsim_us/variables/household/demographic/tax_unit/deaf_head.py b/fiscalsim_us/variables/household/demographic/tax_unit/deaf_head.py new file mode 100644 index 000000000..c9aace206 --- /dev/null +++ b/fiscalsim_us/variables/household/demographic/tax_unit/deaf_head.py @@ -0,0 +1,14 @@ +from fiscalsim_us.model_api import * + + +class deaf_head(Variable): + value_type = bool + entity = TaxUnit + definition_period = YEAR + label = "Tax unit head is deaf" + + def formula(tax_unit, period, parameters): + person = tax_unit.members + deaf = person("is_deaf", period) + head = person("is_tax_unit_head", period) + return tax_unit.any(deaf & head) diff --git a/fiscalsim_us/variables/household/demographic/tax_unit/deaf_spouse.py b/fiscalsim_us/variables/household/demographic/tax_unit/deaf_spouse.py new file mode 100644 index 000000000..7ef149a88 --- /dev/null +++ b/fiscalsim_us/variables/household/demographic/tax_unit/deaf_spouse.py @@ -0,0 +1,14 @@ +from fiscalsim_us.model_api import * + + +class deaf_spouse(Variable): + value_type = bool + entity = TaxUnit + definition_period = YEAR + label = "Tax unit spouse is blind" + + def formula(tax_unit, period, parameters): + person = tax_unit.members + deaf = person("is_deaf", period) + spouse = person("is_tax_unit_spouse", period) + return tax_unit.any(deaf & spouse) From f334711059ecb657fdbaeac30d0ac0c1b3bd512f Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 6 Nov 2023 15:21:10 -0700 Subject: [PATCH 011/194] Low income tax credit started to incorporate the LITC into the tax calculation --- .../high_dep_inc_tax_credit_min_income.yaml | 24 +++++++ ...high_dep_inc_tax_credit_phaseout_rate.yaml | 22 ++++++ .../income_tax_credit_pct.yaml | 11 +++ .../low_dep_inc_tax_credit_min_income.yaml | 24 +++++++ .../low_dep_inc_tax_credit_phaseout_rate.yaml | 22 ++++++ .../ar/tax/income/ar_income_adjustments.py | 3 +- ...ncome_tax_before_non_refundable_credits.py | 12 +++- .../states/ar/tax/income/ar_taxable_income.py | 13 ++++ .../states/ar/tax/income/ar_total_income.py | 3 +- .../income/credits/ar_low_income_credit.py | 68 +++++++++++++++++++ .../income/credits/low_income_credit_test.py | 35 ++++++++++ 11 files changed, 233 insertions(+), 4 deletions(-) create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/income_tax_credit_pct.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_min_income.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_phaseout_rate.yaml create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/low_income_credit_test.py diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml new file mode 100644 index 000000000..c38c9d5ef --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml @@ -0,0 +1,24 @@ +description: This is the minimum amount at which an Arkansas Resident is not exempt from taxes, for each filing status, 1 or fewer dependents +metadata: + period: year + unit: currency-USD + label: Arkansas income-tax credit minimum income + name: low_dep_inc_tax_credit_min_income + reference: + - title: Arkansas Code Title 26. Taxation § 26-51-301. + href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-301/ + - title: Arkansas 2022 Tax Tables + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_TaxTables.pdf + + breakdown: + - filing_status +JOINT: + 2022-01-01: 27_292 +WIDOW: + 2022-01-01: 22_790 +HEAD_OF_HOUSEHOLD: + 2022-01-01: 22_790 +SINGLE: + 2022-01-01: 13_447 +SEPARATE: + 2022-01-01: 0 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml new file mode 100644 index 000000000..e1b108fd7 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml @@ -0,0 +1,22 @@ +description: Arkansas's low income tax credit is reduced by this amount for each additional $100 in income. Units with 2 or more dependents +metadata: + period: year + unit: currency-USD + label: Arkansas income-tax credit phaseout rate + name: high_dep_inc_tax_credit_phaseout_rate + reference: + - title: Arkansas Code Title 26. Taxation § 26-51-301. Subsection f + href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-301/ + + breakdown: + - filing_status +JOINT: + 2022-01-01: 7 +WIDOW: + 2022-01-01: 9 +HEAD_OF_HOUSEHOLD: + 2022-01-01: 9 +SINGLE: + 2022-01-01: 4 +SEPARATE: + 2022-01-01: 0 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/income_tax_credit_pct.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/income_tax_credit_pct.yaml new file mode 100644 index 000000000..28c5ff4f1 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/income_tax_credit_pct.yaml @@ -0,0 +1,11 @@ +description: Arkansas' low income tax credit is this percentage of the tax due on the lowest amount of income at which one is not exempt from taxes for each filing status. +values: + 2022-01-01: 0.8 +metadata: + reference: + - title: Arkansas Code Title 26. Taxation § 26-51-301. Subsection f + href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-301/ + unit: /1 + period: year + name: income_tax_credit_pct + label: AR low income tax credit percent \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_min_income.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_min_income.yaml new file mode 100644 index 000000000..701873467 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_min_income.yaml @@ -0,0 +1,24 @@ +description: This is the minimum amount at which an Arkansas Resident is not exempt from taxes, for each filing status, 1 or fewer dependents +metadata: + period: year + unit: currency-USD + label: Arkansas income-tax credit minimum income + name: low_dep_inc_tax_credit_min_income + reference: + - title: Arkansas Code Title 26. Taxation § 26-51-301. + href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-301/ + - title: Arkansas 2022 Tax Tables + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_TaxTables.pdf + + breakdown: + - filing_status +JOINT: + 2022-01-01: 22_676 +WIDOW: + 2022-01-01: 19_118 +HEAD_OF_HOUSEHOLD: + 2022-01-01: 19_118 +SINGLE: + 2022-01-01: 13_447 +SEPARATE: + 2022-01-01: 0 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_phaseout_rate.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_phaseout_rate.yaml new file mode 100644 index 000000000..6861b7954 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_phaseout_rate.yaml @@ -0,0 +1,22 @@ +description: Arkansas's low income tax credit is reduced by this amount for each additional $100 in income. Units with one or fewer dependents +metadata: + period: year + unit: currency-USD + label: Arkansas income-tax credit phaseout rate + name: low_dep_inc_tax_credit_phaseout_rate + reference: + - title: Arkansas Code Title 26. Taxation § 26-51-301. Subsection f + href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-301/ + + breakdown: + - filing_status +JOINT: + 2022-01-01: 7 +WIDOW: + 2022-01-01: 6 +HEAD_OF_HOUSEHOLD: + 2022-01-01: 6 +SINGLE: + 2022-01-01: 4 +SEPARATE: + 2022-01-01: 0 \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py index 175310fe7..f1086178b 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py @@ -12,4 +12,5 @@ class ar_income_adjustments(Variable): "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000ADJ_AdjustmentsSchedule.pdf" "https://law.justia.com/codes/arkansas/2019/title-26/subtitle-5/chapter-51/subchapter-4/section-26-51-403/" ) - defined_for = StateCode.AR \ No newline at end of file + defined_for = StateCode.AR + \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index 627bea980..2642bc035 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -12,7 +12,15 @@ class ar_income_tax_before_non_refundable_credits(Variable): defined_for = StateCode.AR def formula(tax_unit, period, parameters): - rate = parameters(period).gov.states.ar.tax.income.rates.rates + taxable_income = tax_unit("ar_taxable_income", period) + high_income_threshold = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max + litc = tax_unit('ar_income_tax_credit', period) + + rate = where(taxable_income < high_income_threshold, parameters(period).gov.states.ar.tax.income.rates.rates, parameters(period).gov.states.ar.tax.income.rates.high_income_rates) + + tax = rate.calc(taxable_income) - litc + + - return rate.calc(taxable_income) + return tax diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_taxable_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_taxable_income.py index 59bf4acff..2a8f7f209 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_taxable_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_taxable_income.py @@ -13,3 +13,16 @@ class ar_taxable_income(Variable): "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2023_Final_AR1000ES.pdf" ) defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + + agi = tax_unit('ar_agi', period) + std_ded = tax_unit("ar_standard_deduction", period) + itm_ded = tax_unit("ar_itemized_deductions", period) + deduction = where(itm_ded > std_ded, itm_ded, std_ded) + + return agi - deduction + + + + diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index caa5e14f2..06766ded9 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -18,4 +18,5 @@ def formula(person, period, parameters): for source in sources: # Add positive values only - losses are deducted later. total += not_dependent * max_(0, add(person, period, [source])) - return total \ No newline at end of file + return total + \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py new file mode 100644 index 000000000..12196624b --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -0,0 +1,68 @@ +from fiscalsim_us.model_api import * + +class ar_low_income_credit(Variable): + + value_type = float + entity = TaxUnit + label = "Arkansas low income tax credit" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_TaxTables.pdf" + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + + filing_status= tax_unit('filing_status', period) + tax_rate = parameters(period).gov.states.ar.tax.income.rates.rates + adjustment = parameters(period).gov.states.ar.tax.income.rates.adjustment + credit_rate= parameters(period).gov.states.ar.tax.income.credits.low_income_credit.income_tax_credit_pct + num_dependents = tax_unit('tax_unit_dependents', period) + min_income = where(num_dependents<2,parameters(period).gov.states.ar.tax.income.credits.low_dep_inc_tax_credit_min_income, parameters(period).gov.states.ar.tax.income.credits.high_dep_inc_tax_credit_min_income ) + phaseout_rate = where(num_dependents<2, parameters(period).gov.states.ar.tax.income.credits.low_dep_inc_tax_credit_phaseout_rate[filing_status],parameters(period).gov.states.ar.tax.income.credits.high_dep_inc_tax_credit_phaseout_rate[filing_status]) + agi = tax_unit('ar_agi', period) + + def round_to_nearest_50(num): + # Calculate the nearest multiple of 100 + nearest_multiple_of_100 = round(num / 100) * 100 + + # Get the last two digits + last_two_digits = num % 100 + + # Determine the closest ending in "50" + if last_two_digits <= 50: + rounded_income = nearest_multiple_of_100 + 50 + return rounded_income + else: + rounded_income = nearest_multiple_of_100 - 50 + return rounded_income + + rounded_agi = round_to_nearest_50(agi) + rounded_min_income = round_to_nearest_50(min_income) + + std_ded = tax_unit("ar_standard_deduction", period) + itm_ded = tax_unit("ar_itemized_deductions", period) + deduction = where(itm_ded > std_ded, itm_ded, std_ded) + + + # Calculate the tax liability on min_income + tax_liability = ((rounded_min_income-deduction) * tax_rate) - adjustment + + + # Calculate the credit amount + credit_amount = tax_liability * credit_rate + + # Calculate the phaseout reduction for each $100 over min_income + excess_income = rounded_agi - min_income + phaseout_reduction = excess_income // 100 * phaseout_rate + + # Reduce the credit amount based on the phaseout reduction + credit_amount -= phaseout_reduction + + # Ensure credit_amount does not go below 0 and that those who itemize do not take the credit + where(credit_amount < 0 | std_ded Date: Thu, 9 Nov 2023 09:35:27 -0700 Subject: [PATCH 012/194] tax calculation, high income reduction, and itemized deduction --- .../high_income_reduction_amount.yaml | 11 ++++ .../high_income_reduction_phaseout.yaml | 11 ++++ .../ar/tax/income/ar_high_income_reduction.py | 59 +++++++++++++++++++ ...ncome_tax_before_non_refundable_credits.py | 20 ++++++- .../ar/tax/income/ar_lump_sum_dist_tax.py | 42 +++++++++++++ .../states/ar/tax/income/ar_total_income.py | 1 + .../income/credits/ar_low_income_credit.py | 12 ++-- .../itemized/ar_itemized_deductions.py | 45 ++++++++++++++ .../itemized/ar_other_limited_expenses.py | 14 +++++ .../ar_unreimbursed_employee_expenses.py | 14 +++++ 10 files changed, 224 insertions(+), 5 deletions(-) create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/ar_lump_sum_dist_tax.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_limited_expenses.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses.py diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml new file mode 100644 index 000000000..624336c19 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml @@ -0,0 +1,11 @@ +description: Arkansas reduces the tax liability of taxpayers using the high income tax tables, stating at this amount +metadata: + period: year + unit: currency-USD + label: Arkansas high income tax reduction amount + name: high_income_reduction_amount + reference: + - title: Arkansas Code Title 26. Taxation § 26-51-201. Subsection a 10 + href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FACTS%2F2022S3%2FPublic%2FACT2.pdf + values: + 2022-01-01: 460 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml new file mode 100644 index 000000000..8f4d797a2 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml @@ -0,0 +1,11 @@ +description: Arkansas custs the high income tax reduction by this amount +metadata: + period: year + unit: currency-USD + label: Arkansas high income tax reduction phaseout amount + name: high_income_reduction_phaseout + reference: + - title: Arkansas Code Title 26. Taxation § 26-51-201. Subsection a 10 + href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FACTS%2F2022S3%2FPublic%2FACT2.pdf + values: + 2022-01-01: 10 \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py new file mode 100644 index 000000000..29cc3c7e2 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -0,0 +1,59 @@ +from fiscalsim_us.model_api import * + +class ar_low_income_credit(Variable): + + value_type = float + entity = TaxUnit + label = "Arkansas low income tax credit" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_TaxTables.pdf" + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + + full_reduction= parameters(period).gov.states.ar.tax.income.credits.high_income_reduction.high_income_reduction_amount + min_income = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max + 1 + phaseout_rate = parameters(period).gov.states.ar.tax.income.credits.high_income_reduction.high_income_reduction_phaseout + agi = tax_unit('ar_agi', period) + + def round_to_nearest_50(num): + # Calculate the nearest multiple of 100 + nearest_multiple_of_100 = round(num / 100) * 100 + + # Get the last two digits + last_two_digits = num % 100 + + # Determine the closest ending in "50" + if last_two_digits <= 50: + rounded_income = nearest_multiple_of_100 + 50 + return rounded_income + else: + rounded_income = nearest_multiple_of_100 - 50 + return rounded_income + + std_ded = tax_unit("ar_standard_deduction", period) + itm_ded = tax_unit("ar_itemized_deductions", period) + deduction = where(itm_ded > std_ded, itm_ded, std_ded) + + agi_less_ded = agi - deduction + min_inc_less_ded = min_income - deduction + + rounded_income = round_to_nearest_50(agi_less_ded) + rounded_min_income = round_to_nearest_50(min_inc_less_ded) + + # Calculate the phaseout reduction for each $100 over min_income + excess_income = rounded_income - rounded_min_income + phaseout_reduction = excess_income // 100 * phaseout_rate + + # Reduce the credit amount based on the phaseout reduction + reduction_amount = full_reduction - phaseout_reduction + + # Ensure credit_amount does not go below 0 and that those who itemize do not take the credit + where(reduction_amount < 0, + reduction_amount = 0) + + reduction_amount = round(reduction_amount,0) + + + return reduction_amount \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index 2642bc035..201082ba6 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -16,10 +16,28 @@ def formula(tax_unit, period, parameters): taxable_income = tax_unit("ar_taxable_income", period) high_income_threshold = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max litc = tax_unit('ar_income_tax_credit', period) + high_income_reduction = tax_unit('ar_high_income_reduction', period) + + def round_to_nearest_50(num): + # Calculate the nearest multiple of 100 + nearest_multiple_of_100 = round(num / 100) * 100 + + # Get the last two digits + last_two_digits = num % 100 + + # Determine the closest ending in "50" + if last_two_digits <= 50: + rounded_income = nearest_multiple_of_100 + 50 + return rounded_income + else: + rounded_income = nearest_multiple_of_100 - 50 + return rounded_income + + rounded_taxable_income = round_to_nearest_50(taxable_income) rate = where(taxable_income < high_income_threshold, parameters(period).gov.states.ar.tax.income.rates.rates, parameters(period).gov.states.ar.tax.income.rates.high_income_rates) - tax = rate.calc(taxable_income) - litc + tax = rate.calc(rounded_taxable_income) - litc - high_income_reduction diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_lump_sum_dist_tax.py new file mode 100644 index 000000000..746de1187 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_lump_sum_dist_tax.py @@ -0,0 +1,42 @@ +from fiscalsim_us.model_api import * + + +class ar_lump_sum_dist_tax(Variable): + "Line 31 of form AR1000F" + value_type = float + entity = TaxUnit + label = "Arkansas Lump Sum Distribution Tax" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf" + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + + # Pull in distribution amount here + taxable_dist = 0 + + line_4_max = parameters(period).gov.states.ar.tax.income.lump_sum_dist.min_allowance_multiple1_max + line_4_multiple = parameters(period).gov.states.ar.tax.income.lump_sum_dist.min_allowance_multiple1 + + line_4 = max(line_4_max, taxable_dist * line_4_multiple) + + min_allowance_subtraction = parameters(period).gov.states.ar.tax.income.lump_sum_dist.min_allowance_subtract + + line_5 = max(0, taxable_dist - min_allowance_subtraction) + + line_6_multiple = parameters(period).gov.states.ar.tax.income.lump_sum_dist.min_allowance_multiple2 + + line_6 = line_5 * line_6_multiple + + min_allowance = line_6 - line_4 + + line_8 = taxable_dist - min_allowance + + line_9_multiple = parameters(period).gov.states.ar.tax.income.lump_sum_dist.Line9_multiple + + line_9 = line_8 * line_9_multiple + + rate = where(taxable_income < high_income_threshold, parameters(period).gov.states.ar.tax.income.rates.rates, parameters(period).gov.states.ar.tax.income.rates.high_income_rates) + + tax = rate.calc(line_9) \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index 06766ded9..00d5775bf 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -2,6 +2,7 @@ class ar_total_income(Variable): + "Line 23 of AR1000F" value_type = float entity = Person label = "Total income" diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 12196624b..35f623dde 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -36,23 +36,27 @@ def round_to_nearest_50(num): rounded_income = nearest_multiple_of_100 - 50 return rounded_income - rounded_agi = round_to_nearest_50(agi) - rounded_min_income = round_to_nearest_50(min_income) + std_ded = tax_unit("ar_standard_deduction", period) itm_ded = tax_unit("ar_itemized_deductions", period) deduction = where(itm_ded > std_ded, itm_ded, std_ded) + agi_less_ded = agi - deduction + min_inc_less_ded = min_income - deduction + + rounded_income = round_to_nearest_50(agi_less_ded) + rounded_min_income = round_to_nearest_50(min_inc_less_ded) # Calculate the tax liability on min_income - tax_liability = ((rounded_min_income-deduction) * tax_rate) - adjustment + tax_liability = tax_rate.calc(rounded_min_income) # Calculate the credit amount credit_amount = tax_liability * credit_rate # Calculate the phaseout reduction for each $100 over min_income - excess_income = rounded_agi - min_income + excess_income = rounded_income - rounded_min_income phaseout_reduction = excess_income // 100 * phaseout_rate # Reduce the credit amount based on the phaseout reduction diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py new file mode 100644 index 000000000..523362833 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py @@ -0,0 +1,45 @@ +from fiscalsim_us.model_api import * + + +class ar_itemized_deductions(Variable): + value_type = float + entity = TaxUnit + label = "Arkansas itemized deductions" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf" + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + + medical_expense = add(tax_unit, period, ["medical_expense"]) + agi = tax_unit('ar_agi', period) + medical_threshold = parameters(period).gov.states.ar.tax.income.deductions.itemized.medical + + agi_portion = max(0, agi * medical_threshold) + + medical_deduction = medical_expense - agi_portion + + real_estate_taxes = add(tax_unit, period, ["real_estate_taxes"]) + + # Line 6 + + interest_expense = tax_unit('interest_expense', period) + + charitable_deduction = tax_unit("charitable_deduction", period) + + casualty_loss = add(tax_unit, period, ["casualty_loss"]) + + # Miscellaneous deductions subject to AGI limit + employee_expenses = tax_unit('ar_unreimbursed_employee_expenses', period) + other_limited_expenses = tax_unit('ar_other_limited_expenses', period) + + line_22 = employee_expenses + other_limited_expenses + + misc_limit_pct = parameters(period).gov.states.ar.tax.income.deductions.itemized.miscellaneous + + misc_limit = agi - misc_limit_pct + + misc_deductions = max(0, line_22 - misc_limit) + + return medical_deduction +real_estate_taxes+ interest_expense + charitable_deduction + casualty_loss \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_limited_expenses.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_limited_expenses.py new file mode 100644 index 000000000..ca7626837 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_limited_expenses.py @@ -0,0 +1,14 @@ +from fiscalsim_us.model_api import * + + +class ar_other_limited_expenses(Variable): + """ + Line 21 of 2022 AR3, Arkansas Itemized Deductions + """ + + value_type = float + entity = TaxUnit + label = "AR other limited expenses" + unit = USD + definition_period = YEAR + defined_for = StateCode.AR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses.py new file mode 100644 index 000000000..ea5e39829 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses.py @@ -0,0 +1,14 @@ +from fiscalsim_us.model_api import * + + +class ar_unreimbursed_employee_expenses(Variable): + """ + Line 20 of 2022 AR3, Arkansas Itemized Deductions + """ + + value_type = float + entity = TaxUnit + label = "AR unreimbursed employee expenses" + unit = USD + definition_period = YEAR + defined_for = StateCode.AR \ No newline at end of file From ce1dda74d4a6f8d5a6d31b734279ff4dffc9e09d Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 9 Nov 2023 15:44:46 -0700 Subject: [PATCH 013/194] trying to fix childcare yaml file --- .../credits/cdcc/childcare_qual_max.yaml | 2 +- .../ar/tax/income/ar_income_adjustments.py | 23 +++++++++++++++++++ .../itemized/ar_itemized_deductions.py | 5 +++- .../itemized/ar_other_limited_expenses.py | 9 ++++++++ .../itemized/ar_other_misc_deductions.py | 20 ++++++++++++++++ .../deductions/itemized/ar_other_taxes.py | 15 ++++++++++++ .../ar_unreimbursed_employee_expenses.py | 1 + 7 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_misc_deductions.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_taxes.py diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_qual_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_qual_max.yaml index 79fa5e0a1..c5bb87504 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_qual_max.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_qual_max.yaml @@ -5,7 +5,7 @@ values: metadata: reference: - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES (Line 3) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf unit: currency-USD period: year label: Arkansas Qualifying Childcare Expense Max. \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py index f1086178b..9cc08e4e3 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py @@ -2,6 +2,29 @@ class ar_income_adjustments(Variable): + + """Line 24 of Form AR1000F + Adjustments include: + Border city/Texarkana exemption + Tuition Savings Program + Payments to IRA + Payments to MSA + Payments to HSA + Deduction for interest paid on student loans + Contributions to Intergenerational Trust + Moving expenses + Self-employed health insurance deduction + KEOGH, Self-employed SEP and Simple Plans + Forfeited interest penalty for premature withdrawal + Alimony/Separate Maintenance Paid + Support for permanently disabled individual + Organ Donor Deduction + Military Reserve Expenses + Reforestation Deduction + Teachers Qualified Classroom Investment Expense + Achieving A Better Life Experience Program""" + + value_type = float entity = TaxUnit label = "Arkansas adjustments to total income to calculate AR AGI" diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py index 523362833..409b61dc7 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py @@ -23,6 +23,7 @@ def formula(tax_unit, period, parameters): real_estate_taxes = add(tax_unit, period, ["real_estate_taxes"]) # Line 6 + other_taxes = tax_unit('ar_other_taxes', period) interest_expense = tax_unit('interest_expense', period) @@ -42,4 +43,6 @@ def formula(tax_unit, period, parameters): misc_deductions = max(0, line_22 - misc_limit) - return medical_deduction +real_estate_taxes+ interest_expense + charitable_deduction + casualty_loss \ No newline at end of file + other_misc_deductions = tax_unit('ar_other_misc_deductions', period) + + return medical_deduction +real_estate_taxes+ other_taxes + interest_expense + charitable_deduction + casualty_loss + misc_deductions + other_misc_deductions \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_limited_expenses.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_limited_expenses.py index ca7626837..ad377b1e8 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_limited_expenses.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_limited_expenses.py @@ -4,11 +4,20 @@ class ar_other_limited_expenses(Variable): """ Line 21 of 2022 AR3, Arkansas Itemized Deductions + + Other deductions include: + Union or professional dues + Tax return preparation fees + Expenses for safety equipment + Expenses of entertaining customers + Tools and supplies + Fees paid to employment agencies """ value_type = float entity = TaxUnit label = "AR other limited expenses" unit = USD + reference = 'https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf' definition_period = YEAR defined_for = StateCode.AR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_misc_deductions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_misc_deductions.py new file mode 100644 index 000000000..ccfa8b951 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_misc_deductions.py @@ -0,0 +1,20 @@ +from fiscalsim_us.model_api import * + + +class ar_other_misc_expenses(Variable): + """ + Line 29 of 2022 AR3, Arkansas Itemized Deductions + + Deductions include: + Volunteer firefighter expenses + Gambling Losses + Other miscellaneous deductions + """ + + value_type = float + entity = TaxUnit + label = "AR other miscellaneous deductions" + unit = USD + reference = 'https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf' + definition_period = YEAR + defined_for = StateCode.AR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_taxes.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_taxes.py new file mode 100644 index 000000000..467547d51 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_taxes.py @@ -0,0 +1,15 @@ +from fiscalsim_us.model_api import * + + +class ar_other_taxes(Variable): + """ + Line 6 of 2022 AR3, Arkansas Itemized Deductions + """ + + value_type = float + entity = TaxUnit + label = "AR personal property and other taxes" + unit = USD + reference = 'https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf' + definition_period = YEAR + defined_for = StateCode.AR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses.py index ea5e39829..23d82e5db 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses.py @@ -10,5 +10,6 @@ class ar_unreimbursed_employee_expenses(Variable): entity = TaxUnit label = "AR unreimbursed employee expenses" unit = USD + reference = 'https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf' definition_period = YEAR defined_for = StateCode.AR \ No newline at end of file From 7f5e6db40e37efa76bcd7ae800ac328abdd35cbe Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 9 Nov 2023 15:52:05 -0700 Subject: [PATCH 014/194] Fixing parameters --- .../ar/tax/income/credits/cdcc/dependent_care_max.yaml | 2 +- .../credits/cdcc/separate_diff_dependent_care_max.yaml | 2 +- .../high_dep_inc_tax_credit_min_income.yaml | 4 ++-- .../high_dep_inc_tax_credit_phaseout_rate.yaml | 2 +- .../credits/low_income_credit/income_tax_credit_pct.yaml | 4 ++-- .../low_dep_inc_tax_credit_min_income.yaml | 4 ++-- .../low_dep_inc_tax_credit_phaseout_rate.yaml | 2 +- .../tax/income/credits/other_credits/adoption_credit.yaml | 4 ++-- .../tax/income/credits/other_credits/political_contrib.yaml | 4 ++-- .../income/credits/other_credits/stillbirth_credit_max.yaml | 6 +++--- .../states/ar/tax/income/deductions/itemized/medical.yaml | 2 +- .../ar/tax/income/deductions/itemized/miscellaneous.yaml | 2 +- .../high_income_reduction/high_income_reduction_amount.yaml | 2 +- .../high_income_reduction_phaseout.yaml | 2 +- .../gov/states/ar/tax/income/rates/regular_bracket_max.yaml | 2 +- 15 files changed, 22 insertions(+), 22 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/dependent_care_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/dependent_care_max.yaml index ee049a19e..75efb4026 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/dependent_care_max.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/dependent_care_max.yaml @@ -4,7 +4,7 @@ values: metadata: reference: - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES (Line 20) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf unit: currency-USD period: year label: Arkansas Dependent Care Deductible Benefits Max. \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/separate_diff_dependent_care_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/separate_diff_dependent_care_max.yaml index b8969dba5..07d6d6815 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/separate_diff_dependent_care_max.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/separate_diff_dependent_care_max.yaml @@ -4,7 +4,7 @@ values: metadata: reference: - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES (Line 20) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf unit: currency-USD period: year label: Arkansas Dependent Care Deductible Benefits Max for married filing separately on different returns. \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml index c38c9d5ef..7f5527b34 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml @@ -6,9 +6,9 @@ metadata: name: low_dep_inc_tax_credit_min_income reference: - title: Arkansas Code Title 26. Taxation § 26-51-301. - href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-301/ + href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-301/ - title: Arkansas 2022 Tax Tables - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_TaxTables.pdf + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_TaxTables.pdf breakdown: - filing_status diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml index e1b108fd7..2f90f29bb 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml @@ -6,7 +6,7 @@ metadata: name: high_dep_inc_tax_credit_phaseout_rate reference: - title: Arkansas Code Title 26. Taxation § 26-51-301. Subsection f - href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-301/ + href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-301/ breakdown: - filing_status diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/income_tax_credit_pct.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/income_tax_credit_pct.yaml index 28c5ff4f1..997b55394 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/income_tax_credit_pct.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/income_tax_credit_pct.yaml @@ -3,8 +3,8 @@ values: 2022-01-01: 0.8 metadata: reference: - - title: Arkansas Code Title 26. Taxation § 26-51-301. Subsection f - href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-301/ + - title: Arkansas Code Title 26. Taxation § 26-51-301. Subsection f + href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-301/ unit: /1 period: year name: income_tax_credit_pct diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_min_income.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_min_income.yaml index 701873467..4cc9885fb 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_min_income.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_min_income.yaml @@ -6,9 +6,9 @@ metadata: name: low_dep_inc_tax_credit_min_income reference: - title: Arkansas Code Title 26. Taxation § 26-51-301. - href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-301/ + href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-301/ - title: Arkansas 2022 Tax Tables - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_TaxTables.pdf + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_TaxTables.pdf breakdown: - filing_status diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_phaseout_rate.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_phaseout_rate.yaml index 6861b7954..c17666b4f 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_phaseout_rate.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_phaseout_rate.yaml @@ -6,7 +6,7 @@ metadata: name: low_dep_inc_tax_credit_phaseout_rate reference: - title: Arkansas Code Title 26. Taxation § 26-51-301. Subsection f - href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-301/ + href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-301/ breakdown: - filing_status diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/adoption_credit.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/adoption_credit.yaml index 9beb7dbf7..352afd795 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/adoption_credit.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/adoption_credit.yaml @@ -4,9 +4,9 @@ values: metadata: reference: - title: AR1000TC Arkansas Individual Income Tax Credits (Line 3) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf - title: AR1000TC Arkansas Individual Income Tax Credits Instructions (Line 3) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits_Instructions.pdf + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits_Instructions.pdf unit: /1 period: year name: ar_adoption_credit diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/political_contrib.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/political_contrib.yaml index ec60bbcff..8f449ae34 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/political_contrib.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/political_contrib.yaml @@ -4,9 +4,9 @@ values: metadata: reference: - title: AR1000TC Arkansas Individual Income Tax Credits (Line 1) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf - title: AR1000TC Arkansas Individual Income Tax Credits Instructions (Line 1) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits_Instructions.pdf + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits_Instructions.pdf unit: currency-USD period: year label: Arkansas Other Tax Credits - Political Contribution Credit \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit_max.yaml index 10332d40f..ea7831bb5 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit_max.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit_max.yaml @@ -3,10 +3,10 @@ values: 2022-01-01: 500 metadata: reference: - - title: AR1000TC Arkansas Individual Income Tax Credits (Line 5) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf + - title: AR1000TC Arkansas Individual Income Tax Credits (Line 5) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf - title: AR1000TC Arkansas Individual Income Tax Credits Instructions (Line 5) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits_Instructions.pdf + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits_Instructions.pdf unit: /1 period: year name: ar_stillbirth_credit_max diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/medical.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/medical.yaml index cd73bedc1..1684d6d9f 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/medical.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/medical.yaml @@ -4,6 +4,6 @@ values: metadata: reference: - title: AR3 Arkansas Individual income Tax Itemized Deductions (Line 3) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf period: year label: AR Medical Expenses Deduction Income Percentage Threshold \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/miscellaneous.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/miscellaneous.yaml index fda629108..202fb722c 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/miscellaneous.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/miscellaneous.yaml @@ -4,6 +4,6 @@ values: metadata: reference: - title: AR3 Arkansas Individual income Tax Itemized Deductions (Line 24) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf period: year label: AR Miscellaneous Expenses AGI Limit \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml index 624336c19..8dc23885b 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml @@ -6,6 +6,6 @@ metadata: name: high_income_reduction_amount reference: - title: Arkansas Code Title 26. Taxation § 26-51-201. Subsection a 10 - href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FACTS%2F2022S3%2FPublic%2FACT2.pdf + href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FACTS%2F2022S3%2FPublic%2FACT2.pdf values: 2022-01-01: 460 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml index 8f4d797a2..d9db542e9 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml @@ -6,6 +6,6 @@ metadata: name: high_income_reduction_phaseout reference: - title: Arkansas Code Title 26. Taxation § 26-51-201. Subsection a 10 - href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FACTS%2F2022S3%2FPublic%2FACT2.pdf + href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FACTS%2F2022S3%2FPublic%2FACT2.pdf values: 2022-01-01: 10 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml index d36425c82..be323b0f2 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml @@ -4,7 +4,7 @@ values: metadata: reference: - title: Tax Legislation for 2022 Ark. Code § 26-51-201 (a)(1)(A) - href: https://casetext.com/statute/arkansas-code-of-1987/title-26-taxation/subtitle-5-state-taxes/chapter-51-income-taxes/subchapter-2-imposition-of-tax/section-26-51-201-effective-90-days-after-sine-die-adjournment-individuals-trusts-and-estates + href: https://casetext.com/statute/arkansas-code-of-1987/title-26-taxation/subtitle-5-state-taxes/chapter-51-income-taxes/subchapter-2-imposition-of-tax/section-26-51-201-effective-90-days-after-sine-die-adjournment-individuals-trusts-and-estates unit: currency-USD period: year label: Top income amount of Standard tax table \ No newline at end of file From 43d99823321ce50d8bfc5fa7b76d5e84e003c68a Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 9 Nov 2023 16:01:36 -0700 Subject: [PATCH 015/194] fixing adoption credit parameter --- .../ar/tax/income/credits/other_credits/adoption_credit.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/adoption_credit.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/adoption_credit.yaml index 352afd795..5d8fa306d 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/adoption_credit.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/adoption_credit.yaml @@ -3,7 +3,7 @@ values: 2022-01-01: 0.20 metadata: reference: - - title: AR1000TC Arkansas Individual Income Tax Credits (Line 3) + - title: AR1000TC Arkansas Individual Income Tax Credits (Line 3) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf - title: AR1000TC Arkansas Individual Income Tax Credits Instructions (Line 3) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits_Instructions.pdf From fe70b410a6d2de34eab3868aa031a42df249e817 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 9 Nov 2023 16:05:10 -0700 Subject: [PATCH 016/194] fixing yaml file --- .../ar/tax/income/credits/other_credits/metabolic.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/metabolic.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/metabolic.yaml index 6da1f3628..484842104 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/metabolic.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/metabolic.yaml @@ -1,5 +1,4 @@ -description: AR1113 PHENYLKETONURIA DISORDER AND OTHER -METABOLIC DISORDERS MAX CREDIT +description: AR1113 PHENYLKETONURIA DISORDER AND OTHER METABOLIC DISORDERS MAX CREDIT values: 2022-01-01: 2_400 metadata: @@ -8,5 +7,4 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1113_PhenylketonuriaOtherMetabolicDisordersCredit.pdf unit: currency-USD period: year - label: PHENYLKETONURIA DISORDER AND OTHER -METABOLIC DISORDERS MAX CREDIT \ No newline at end of file + label: PHENYLKETONURIA DISORDER AND OTHER METABOLIC DISORDERS MAX CREDIT \ No newline at end of file From 83c141073724a43f6857ec8008413bcdea9a6e5d Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 9 Nov 2023 16:10:32 -0700 Subject: [PATCH 017/194] fixed yaml file --- .../parameters/gov/states/ar/tax/income/income_sources.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index 689d92f90..2c7200fa6 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -25,5 +25,5 @@ metadata: unit: currency-USD label: Gross income sources reference: - - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (lines 8 - 22) + - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (lines 8 - 22) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf \ No newline at end of file From 0f87832db92f6e83202fe6cd2154b56c9c59ee28 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 9 Nov 2023 16:15:46 -0700 Subject: [PATCH 018/194] fixed yaml file again --- .../parameters/gov/states/ar/tax/income/income_sources.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index 2c7200fa6..be3b03b05 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -26,4 +26,4 @@ metadata: label: Gross income sources reference: - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (lines 8 - 22) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf \ No newline at end of file + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf \ No newline at end of file From b1cded814d577ef4b82e9ea2f118185147de2931 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 9 Nov 2023 16:23:22 -0700 Subject: [PATCH 019/194] fixed another yaml --- .../ar/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml index c3de2267c..0d19a41eb 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml @@ -1,4 +1,5 @@ description: The maximum amount that can be entered in Line 4 +values: 2022-01-01: 10_000 metadata: reference: From c379f9c45c4ea4a39a9f24aa000c7c0b3f4527c8 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 9 Nov 2023 16:33:08 -0700 Subject: [PATCH 020/194] fixed another yaml --- .../gov/states/ar/tax/income/rates/ira_additional.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_additional.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_additional.yaml index 394757b88..57f140eda 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_additional.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_additional.yaml @@ -5,7 +5,7 @@ metadata: reference: - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 32) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf - - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident Instructions (line 32) + - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident Instructions (line 32) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf period: year label: AR employer Pension Plan/Qualified IRA income exemption amount \ No newline at end of file From 24ffd80e990c7b2da166e7b1dbf2658fe8d5f956 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 10 Nov 2023 12:15:02 -0700 Subject: [PATCH 021/194] fixed high income reduction variable --- .../gov/states/ar/tax/income/ar_high_income_reduction.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index 29cc3c7e2..78eea94b0 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -1,6 +1,6 @@ from fiscalsim_us.model_api import * -class ar_low_income_credit(Variable): +class ar_high_income_reduction(Variable): value_type = float entity = TaxUnit From 88504aa5b2ceb40e207dc23b2bc7017ae3cc7f9a Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 10 Nov 2023 12:18:37 -0700 Subject: [PATCH 022/194] deleted ar_old --- .../states/ar_old/tax/income/ar_exemptions.py | 12 --------- .../states/ar_old/tax/income/ar_income_tax.py | 13 --------- ...ncome_tax_before_non_refundable_credits.py | 17 ------------ ...ar_income_tax_before_refundable_credits.py | 17 ------------ .../tax/income/ar_non_refundable_credits.py | 12 --------- .../tax/income/ar_refundable_credits.py | 12 --------- .../ar_old/tax/income/ar_taxable_income.py | 14 ---------- .../ar_old/tax/income/credits/ar_cdcc.py | 16 ----------- .../ar_inflationary_relief_tax_credit.py | 27 ------------------- .../standard/ar_standard_deduction.py | 16 ----------- 10 files changed, 156 deletions(-) delete mode 100644 fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_exemptions.py delete mode 100644 fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_income_tax.py delete mode 100644 fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_income_tax_before_non_refundable_credits.py delete mode 100644 fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_income_tax_before_refundable_credits.py delete mode 100644 fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_non_refundable_credits.py delete mode 100644 fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_refundable_credits.py delete mode 100644 fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_taxable_income.py delete mode 100644 fiscalsim_us/variables/gov/states/ar_old/tax/income/credits/ar_cdcc.py delete mode 100644 fiscalsim_us/variables/gov/states/ar_old/tax/income/credits/ar_inflationary_relief_tax_credit.py delete mode 100644 fiscalsim_us/variables/gov/states/ar_old/tax/income/deductions/standard/ar_standard_deduction.py diff --git a/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_exemptions.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_exemptions.py deleted file mode 100644 index 4e24ea17a..000000000 --- a/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_exemptions.py +++ /dev/null @@ -1,12 +0,0 @@ -from fiscalsim_us.model_api import * - - -class ar_exemptions(Variable): - value_type = float - entity = TaxUnit - label = "Arkansas exemptions from income tax" - reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=10" - defined_for = StateCode.AR - unit = USD - definition_period = YEAR - adds = "gov.states.ar.tax.income.exemptions" diff --git a/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_income_tax.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_income_tax.py deleted file mode 100644 index 3b5e91155..000000000 --- a/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_income_tax.py +++ /dev/null @@ -1,13 +0,0 @@ -from fiscalsim_us.model_api import * - - -class ar_income_tax(Variable): - value_type = float - entity = TaxUnit - label = "Arkansas income tax" - unit = USD - definition_period = YEAR - defined_for = StateCode.AR - - adds = ["ar_income_tax_before_refundable_credits"] - subtracts = ["ar_refundable_credits"] diff --git a/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_income_tax_before_non_refundable_credits.py deleted file mode 100644 index c71ff865e..000000000 --- a/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_income_tax_before_non_refundable_credits.py +++ /dev/null @@ -1,17 +0,0 @@ -from fiscalsim_us.model_api import * - - -class ar_income_tax_before_non_refundable_credits(Variable): - value_type = float - entity = TaxUnit - label = "Arkansas income tax before non refundable credits" - unit = USD - definition_period = YEAR - reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2023_Final_AR1000ES.pdf" - defined_for = StateCode.AR - - def formula(tax_unit, period, parameters): - rate = parameters(period).gov.states.ar.tax.income.rates.main - taxable_income = tax_unit("ar_taxable_income", period) - - return rate.calc(taxable_income) diff --git a/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_income_tax_before_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_income_tax_before_refundable_credits.py deleted file mode 100644 index 4c76578f3..000000000 --- a/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_income_tax_before_refundable_credits.py +++ /dev/null @@ -1,17 +0,0 @@ -from fiscalsim_us.model_api import * - - -class ar_income_tax_before_refundable_credits(Variable): - value_type = float - entity = TaxUnit - label = "Arkansas income tax before refundable credits" - unit = USD - definition_period = YEAR - defined_for = StateCode.AR - - def formula(tax_unit, period, parameters): - before_non_refundable_credits = tax_unit( - "ar_income_tax_before_non_refundable_credits", period - ) - non_refundable_credits = tax_unit("ar_non_refundable_credits", period) - return max_(before_non_refundable_credits - non_refundable_credits, 0) diff --git a/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_non_refundable_credits.py deleted file mode 100644 index 8d5f883d9..000000000 --- a/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_non_refundable_credits.py +++ /dev/null @@ -1,12 +0,0 @@ -from fiscalsim_us.model_api import * - - -class ar_non_refundable_credits(Variable): - value_type = float - entity = TaxUnit - label = "Arkansas non-refundable credits" - unit = USD - definition_period = YEAR - defined_for = StateCode.AR - - adds = "gov.states.ar.tax.income.credits.non_refundable" diff --git a/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_refundable_credits.py deleted file mode 100644 index eda396c54..000000000 --- a/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_refundable_credits.py +++ /dev/null @@ -1,12 +0,0 @@ -from fiscalsim_us.model_api import * - - -class ar_refundable_credits(Variable): - value_type = float - entity = TaxUnit - label = "Arkansas refundable credits" - unit = USD - definition_period = YEAR - defined_for = StateCode.AR - - adds = "gov.states.ar.tax.income.credits.refundable" diff --git a/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_taxable_income.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_taxable_income.py deleted file mode 100644 index 2f7436f3d..000000000 --- a/fiscalsim_us/variables/gov/states/ar_old/tax/income/ar_taxable_income.py +++ /dev/null @@ -1,14 +0,0 @@ -from fiscalsim_us.model_api import * - - -class ar_taxable_income(Variable): - value_type = float - entity = TaxUnit - label = "Arkansas taxable income" - unit = USD - definition_period = YEAR - reference = ( - "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/TaxBrackets_2022.pdf" - "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2023_Final_AR1000ES.pdf" - ) - defined_for = StateCode.AR diff --git a/fiscalsim_us/variables/gov/states/ar_old/tax/income/credits/ar_cdcc.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/credits/ar_cdcc.py deleted file mode 100644 index 71c6a11d2..000000000 --- a/fiscalsim_us/variables/gov/states/ar_old/tax/income/credits/ar_cdcc.py +++ /dev/null @@ -1,16 +0,0 @@ -from fiscalsim_us.model_api import * - - -class ar_cdcc(Variable): - value_type = float - entity = TaxUnit - label = "Arkansas Child and Dependent Care Credit" - unit = USD - documentation = "https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-502/" - definition_period = YEAR - defined_for = StateCode.AR - - def formula(tax_unit, period, parameters): - p = parameters(period).gov.states.ar.tax.income.credits.cdcc - cdcc = tax_unit("cdcc", period) - return cdcc * p.match diff --git a/fiscalsim_us/variables/gov/states/ar_old/tax/income/credits/ar_inflationary_relief_tax_credit.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/credits/ar_inflationary_relief_tax_credit.py deleted file mode 100644 index bf40abcef..000000000 --- a/fiscalsim_us/variables/gov/states/ar_old/tax/income/credits/ar_inflationary_relief_tax_credit.py +++ /dev/null @@ -1,27 +0,0 @@ -from fiscalsim_us.model_api import * - - -class ar_inflation_relief_credit(Variable): - value_type = float - entity = TaxUnit - label = "Arkansas inflation relief income-tax credit" - unit = USD - definition_period = YEAR - defined_for = StateCode.AR - - def formula(tax_unit, period, parameters): - # the Arkansas inflationary relief tax credit is calculated based on net taxable income - # mentioned in individual income tax return form AR1000F line 28 - income = tax_unit("ar_taxable_income", period) - p = parameters( - period - ).gov.states.ar.tax.income.credits.inflationary_relief - filing_status = tax_unit("filing_status", period) - max_amount = p.max_amount[filing_status] - reduction_start = p.reduction.start[filing_status] - increment = p.reduction.increment[filing_status] - reduction_per_increment = p.reduction.amount[filing_status] - excess = max_(income - reduction_start, 0) - increments = np.ceil(excess / increment) - total_reduction_amount = increments * reduction_per_increment - return max_(max_amount - total_reduction_amount, 0) diff --git a/fiscalsim_us/variables/gov/states/ar_old/tax/income/deductions/standard/ar_standard_deduction.py b/fiscalsim_us/variables/gov/states/ar_old/tax/income/deductions/standard/ar_standard_deduction.py deleted file mode 100644 index d74172c55..000000000 --- a/fiscalsim_us/variables/gov/states/ar_old/tax/income/deductions/standard/ar_standard_deduction.py +++ /dev/null @@ -1,16 +0,0 @@ -from fiscalsim_us.model_api import * - - -class ar_standard_deduction(Variable): - value_type = float - entity = TaxUnit - label = "Arkansas standard deduction" - unit = USD - definition_period = YEAR - reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=14" - defined_for = StateCode.AR - - def formula(tax_unit, period, parameters): - p = parameters(period).gov.states.ar.tax.income.deductions - filing_status = tax_unit("filing_status", period) - return p.standard[filing_status] From e2f8b636aec8534e9b24d488f5b4637d0d79fafa Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 10 Nov 2023 12:58:08 -0700 Subject: [PATCH 023/194] added AR tests --- ...ome_tax_before_non_refundable_credits.yaml | 41 ++++++++++++------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml index 57bbc34b7..803ccb27d 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml @@ -3,47 +3,58 @@ absolute_error_margin: 1 input: ar_taxable_income: 5_100 + filing_status: JOINT + dependents: 1 state_code: AR output: #round(5_100 * 0.00) ar_income_tax_before_non_refundable_credits: 0 -- name: AR income tax rates - taxable income from $5,101 to $10,300 +- name: AR income tax rates - taxable income from $5,101 to $10,300, single period: 2022 absolute_error_margin: 1 input: - ar_taxable_income: 10_000 + ar_taxable_income: 11_180 + filing_status: SINGLE + dependents: 1 state_code: AR output: # (10_000-5_101) * 0.02 - ar_income_tax_before_non_refundable_credits: 98 + ar_income_tax_before_non_refundable_credits: 26 -- name: AR income tax rates - taxable income from $10,301 to $14,700 +- name: AR income tax rates - taxable income from $14,700 to $24,299, JOINT period: 2022 absolute_error_margin: 1 input: - ar_taxable_income: 11_000 + ar_taxable_income: 22_702 + filing_status: JOINT + dependents: 2 state_code: AR output: - # 104 + round((11_000 - 10_301)* 0.03) - ar_income_tax_before_non_refundable_credits: 125 + # (10_000-5_101) * 0.02 + ar_income_tax_before_non_refundable_credits: 86 -- name: AR income tax rates - taxable income from $14,701 to $24,300 +- name: AR income tax rates - Reg Income, Head of houehold period: 2022 absolute_error_margin: 1 input: - ar_taxable_income: 20_000 + ar_taxable_income: 51_075 + filing_status: HEAD_OF_HOUSEHOLD + dependents: 2 state_code: AR output: - # 236 + round((20_000 - 14_701)* 0.034) - ar_income_tax_before_non_refundable_credits: 416 + # 104 + round((11_000 - 10_301)* 0.03) + ar_income_tax_before_non_refundable_credits: 1_873 -- name: AR income tax rates - taxable income for income over $24,301 +- name: AR income tax rates - high income w/ reduction period: 2022 absolute_error_margin: 1 input: - ar_taxable_income: 25_000 + ar_taxable_income: 88_000 + filing_status: JOINT + dependents: 0 state_code: AR output: - # 562.366 + round((25_000-24_301) * 0.049) = 596 - ar_income_tax_before_non_refundable_credits: 596 + # 236 + round((20_000 - 14_701)* 0.034) + ar_income_tax_before_non_refundable_credits: 3_762 + From d91151da5e624f4322e1c88d0d81fca7022b523b Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 10 Nov 2023 13:11:39 -0700 Subject: [PATCH 024/194] edited ar tests --- .../ar_income_tax_before_non_refundable_credits.yaml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml index 803ccb27d..2286a0d84 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml @@ -4,7 +4,7 @@ input: ar_taxable_income: 5_100 filing_status: JOINT - dependents: 1 + tax_unit_count_dependents: 1 state_code: AR output: #round(5_100 * 0.00) @@ -16,7 +16,9 @@ input: ar_taxable_income: 11_180 filing_status: SINGLE - dependents: 1 + tax_unit_count_dependents: 1 + litc: 104 + high_income_reduction: 0 state_code: AR output: # (10_000-5_101) * 0.02 @@ -28,7 +30,7 @@ input: ar_taxable_income: 22_702 filing_status: JOINT - dependents: 2 + tax_unit_count_dependents: 2 state_code: AR output: # (10_000-5_101) * 0.02 @@ -40,7 +42,7 @@ input: ar_taxable_income: 51_075 filing_status: HEAD_OF_HOUSEHOLD - dependents: 2 + tax_unit_count_dependents: 2 state_code: AR output: # 104 + round((11_000 - 10_301)* 0.03) @@ -52,7 +54,7 @@ input: ar_taxable_income: 88_000 filing_status: JOINT - dependents: 0 + tax_unit_count_dependents: 0 state_code: AR output: # 236 + round((20_000 - 14_701)* 0.034) From 8d43245b0e29c84b02d058d53d7d59a5b98bc78a Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 13 Nov 2023 12:44:17 -0700 Subject: [PATCH 025/194] working on tests --- ...ome_tax_before_non_refundable_credits.yaml | 27 ++++++++++--------- ...ncome_tax_before_non_refundable_credits.py | 2 +- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml index 2286a0d84..acf66cd05 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml @@ -4,7 +4,8 @@ input: ar_taxable_income: 5_100 filing_status: JOINT - tax_unit_count_dependents: 1 + ar_low_income_credit: 0 + ar_high_income_reduction: 0 state_code: AR output: #round(5_100 * 0.00) @@ -16,45 +17,47 @@ input: ar_taxable_income: 11_180 filing_status: SINGLE - tax_unit_count_dependents: 1 - litc: 104 - high_income_reduction: 0 + ar_low_income_credit: 104 + ar_high_income_reduction: 0 state_code: AR output: # (10_000-5_101) * 0.02 ar_income_tax_before_non_refundable_credits: 26 -- name: AR income tax rates - taxable income from $14,700 to $24,299, JOINT +- name: AR income tax rates - taxable income from $14,700 to $24,299, agi $27502 JOINT 2 dependents period: 2022 absolute_error_margin: 1 input: - ar_taxable_income: 22_702 + ar_taxable_income: 22_962 filing_status: JOINT - tax_unit_count_dependents: 2 + ar_low_income_credit: 384 + ar_high_income_reduction: 0 state_code: AR output: # (10_000-5_101) * 0.02 - ar_income_tax_before_non_refundable_credits: 86 + ar_income_tax_before_non_refundable_credits: 133 -- name: AR income tax rates - Reg Income, Head of houehold +- name: AR income tax rates - Reg Income, Head of houehold, 2 dependents period: 2022 absolute_error_margin: 1 input: ar_taxable_income: 51_075 filing_status: HEAD_OF_HOUSEHOLD - tax_unit_count_dependents: 2 + ar_low_income_credit: 0 + ar_high_income_reduction: 0 state_code: AR output: # 104 + round((11_000 - 10_301)* 0.03) ar_income_tax_before_non_refundable_credits: 1_873 -- name: AR income tax rates - high income w/ reduction +- name: AR income tax rates - high income w/ reduction, joint, 0 dependents period: 2022 absolute_error_margin: 1 input: ar_taxable_income: 88_000 filing_status: JOINT - tax_unit_count_dependents: 0 + ar_low_income_credit: 0 + ar_high_income_reduction: 110 state_code: AR output: # 236 + round((20_000 - 14_701)* 0.034) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index 201082ba6..542947f76 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -15,7 +15,7 @@ def formula(tax_unit, period, parameters): taxable_income = tax_unit("ar_taxable_income", period) high_income_threshold = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max - litc = tax_unit('ar_income_tax_credit', period) + litc = tax_unit('ar_low_income_credit', period) high_income_reduction = tax_unit('ar_high_income_reduction', period) def round_to_nearest_50(num): From d5b98e5687695f1961a365167418332e9110906a Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 13 Nov 2023 13:08:58 -0700 Subject: [PATCH 026/194] added high income reduction test --- .../tax/income/ar_high_income_reduction.yaml | 32 +++++++++++++++++++ .../ar/tax/income/ar_high_income_reduction.py | 2 +- ...ncome_tax_before_non_refundable_credits.py | 4 +-- 3 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml new file mode 100644 index 000000000..7c02a4066 --- /dev/null +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml @@ -0,0 +1,32 @@ +- name: AR High Income Reduction if Below Threshold + period: 2022 + input: + ar_agi: 80_000 + ar_standard_deduction: 2_270 + ar_itemized_deductions: 1_000 + filing_status: SINGLE + state_code: AR + output: + ar_high_income_reduction: 0 + +- name: AR High Income Reduction if at threshold + period: 2022 + input: + ar_agi: 89_040 + ar_standard_deduction: 4_540 + ar_itemized_deductions: 1_000 + filing_status: JOINT + state_code: AR + output: + ar_high_income_reduction: 460 + +- name: AR High Income Reduction if Below Threshold + period: 2022 + input: + ar_agi: 90_040 + ar_standard_deduction: 4_540 + ar_itemized_deductions: 1_000 + filing_status: JOINT + state_code: AR + output: + ar_high_income_reduction: 360 \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index 78eea94b0..c1c20ba12 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -19,7 +19,7 @@ def formula(tax_unit, period, parameters): def round_to_nearest_50(num): # Calculate the nearest multiple of 100 - nearest_multiple_of_100 = round(num / 100) * 100 + nearest_multiple_of_100 = round(num / 100,0) * 100 # Get the last two digits last_two_digits = num % 100 diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index 542947f76..c8e51cb2b 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -20,7 +20,7 @@ def formula(tax_unit, period, parameters): def round_to_nearest_50(num): # Calculate the nearest multiple of 100 - nearest_multiple_of_100 = round(num / 100) * 100 + nearest_multiple_of_100 = round(num / 100,0) * 100 # Get the last two digits last_two_digits = num % 100 @@ -39,6 +39,4 @@ def round_to_nearest_50(num): tax = rate.calc(rounded_taxable_income) - litc - high_income_reduction - - return tax From 8d5d0cd02f8b081299c32b3dad71f1b6f7188e27 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 13 Nov 2023 13:24:03 -0700 Subject: [PATCH 027/194] fixed high income reduction parameters --- .../gov/states/ar/tax/income/ar_high_income_reduction.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index c1c20ba12..3775211d9 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -12,9 +12,9 @@ class ar_high_income_reduction(Variable): def formula(tax_unit, period, parameters): - full_reduction= parameters(period).gov.states.ar.tax.income.credits.high_income_reduction.high_income_reduction_amount + full_reduction= parameters(period).gov.states.ar.tax.income.high_income_reduction.high_income_reduction_amount min_income = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max + 1 - phaseout_rate = parameters(period).gov.states.ar.tax.income.credits.high_income_reduction.high_income_reduction_phaseout + phaseout_rate = parameters(period).gov.states.ar.tax.income.high_income_reduction.high_income_reduction_phaseout agi = tax_unit('ar_agi', period) def round_to_nearest_50(num): From 6f082d81de290ca83cb2943fdd23f540fa5555c2 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 13 Nov 2023 16:42:06 -0700 Subject: [PATCH 028/194] finished lump sum tax var, figuring out tests --- ...ncome_tax_before_non_refundable_credits.py | 8 +++ .../ar/tax/income/ar_lump_sum_dist_tax.py | 42 ----------- .../lump_sum_dist/ar_actuarial_value.py | 13 ++++ .../lump_sum_dist/ar_distribution_income.py | 13 ++++ .../lump_sum_dist/ar_lump_sum_dist_tax.py | 70 +++++++++++++++++++ 5 files changed, 104 insertions(+), 42 deletions(-) delete mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/ar_lump_sum_dist_tax.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_actuarial_value.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_distribution_income.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index c8e51cb2b..5c2a2dfa2 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -1,4 +1,5 @@ from fiscalsim_us.model_api import * +from numpy import round class ar_income_tax_before_non_refundable_credits(Variable): @@ -40,3 +41,10 @@ def round_to_nearest_50(num): tax = rate.calc(rounded_taxable_income) - litc - high_income_reduction return tax + # lump_sum_dist_tax = tax_unit('ar_lump_sum_dist_tax', period) + + # # Additional tax on IRA and qualified plan withdrawal and overpayment + + # total_tax = tax + lump_sum_dist_tax + + # return total_tax diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_lump_sum_dist_tax.py deleted file mode 100644 index 746de1187..000000000 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_lump_sum_dist_tax.py +++ /dev/null @@ -1,42 +0,0 @@ -from fiscalsim_us.model_api import * - - -class ar_lump_sum_dist_tax(Variable): - "Line 31 of form AR1000F" - value_type = float - entity = TaxUnit - label = "Arkansas Lump Sum Distribution Tax" - unit = USD - definition_period = YEAR - reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf" - defined_for = StateCode.AR - - def formula(tax_unit, period, parameters): - - # Pull in distribution amount here - taxable_dist = 0 - - line_4_max = parameters(period).gov.states.ar.tax.income.lump_sum_dist.min_allowance_multiple1_max - line_4_multiple = parameters(period).gov.states.ar.tax.income.lump_sum_dist.min_allowance_multiple1 - - line_4 = max(line_4_max, taxable_dist * line_4_multiple) - - min_allowance_subtraction = parameters(period).gov.states.ar.tax.income.lump_sum_dist.min_allowance_subtract - - line_5 = max(0, taxable_dist - min_allowance_subtraction) - - line_6_multiple = parameters(period).gov.states.ar.tax.income.lump_sum_dist.min_allowance_multiple2 - - line_6 = line_5 * line_6_multiple - - min_allowance = line_6 - line_4 - - line_8 = taxable_dist - min_allowance - - line_9_multiple = parameters(period).gov.states.ar.tax.income.lump_sum_dist.Line9_multiple - - line_9 = line_8 * line_9_multiple - - rate = where(taxable_income < high_income_threshold, parameters(period).gov.states.ar.tax.income.rates.rates, parameters(period).gov.states.ar.tax.income.rates.high_income_rates) - - tax = rate.calc(line_9) \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_actuarial_value.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_actuarial_value.py new file mode 100644 index 000000000..4e3259206 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_actuarial_value.py @@ -0,0 +1,13 @@ +from fiscalsim_us.model_api import * + + +class ar_actuarial_value(Variable): + """Line 31 of form AR1000F + Line 2 of form AR1000TD""" + value_type = float + entity = TaxUnit + label = "Arkansas Lump Sum Distribution - Actuarial Value" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf" + defined_for = StateCode.AR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_distribution_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_distribution_income.py new file mode 100644 index 000000000..4d790b74f --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_distribution_income.py @@ -0,0 +1,13 @@ +from fiscalsim_us.model_api import * + + +class ar_distribution_income(Variable): + """Line 31 of form AR1000F + Line 1 of form AR1000TD""" + value_type = float + entity = TaxUnit + label = "Arkansas Lump Sum Distribution Income" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf" + defined_for = StateCode.AR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py new file mode 100644 index 000000000..9d165138b --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py @@ -0,0 +1,70 @@ +from fiscalsim_us.model_api import * + + +class ar_lump_sum_dist_tax(Variable): + "Line 31 of form AR1000F" + value_type = float + entity = TaxUnit + label = "Arkansas Lump Sum Distribution Tax" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf" + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + + p = parameters(period).gov.states.ar.tax.income.lump_sum_dist + + # Pull in distribution amount here + income = tax_unit('ar_distribution_income', period) + actuarial_value = tax_unit('ar_actualrial_value', period) + taxable_dist = income + actuarial_value + + line_4_max = p.min_allowance_multiple1_max + line_4_multiple = p.min_allowance_multiple1 + + line_4 = max(line_4_max, taxable_dist * line_4_multiple) + + min_allowance_subtraction = p.min_allowance_subtract + + line_5 = max(0, taxable_dist - min_allowance_subtraction) + + line_6_multiple = p.min_allowance_multiple2 + + line_6 = line_5 * line_6_multiple + + min_allowance = line_6 - line_4 + + line_8 = taxable_dist - min_allowance + + line_9_multiple = p.Line9_multiple + + line_9 = line_8 * line_9_multiple + + rate = where(taxable_income < high_income_threshold, parameters(period).gov.states.ar.tax.income.rates.rates, parameters(period).gov.states.ar.tax.income.rates.high_income_rates) + + line_9_tax = rate.calc(line_9) + + line_11_multiple = p.line11_multiple + + line_11 = line_9_tax * line_11_multiple + + line_12 = actuarial_value / taxable_dist + + line_13 = min_allowance * line_12 + + line_14 = actuarial_value - line_13 + + line_15_multiple = p.Line15_multiple + + line_15 = line_14 * line_15_multiple + + line_15_tax = rate.calc(line_15) + + line_17_multiple = p.Line17_multiple + + line_17 = line_15_tax * line_17_multiple + + tax = where(actuarial_value > 0,line_17 - line_11,0) + + return tax \ No newline at end of file From 9666d396974cb4478062937360320963f69f0f22 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 14 Nov 2023 10:05:03 -0700 Subject: [PATCH 029/194] minor adjustments --- .../gov/states/ar/tax/income/rates/rates.yaml | 3 +-- ..._income_tax_before_non_refundable_credits.yaml | 15 ++++++++++----- .../ar/tax/income/ar_high_income_reduction.py | 1 + ...ar_income_tax_before_non_refundable_credits.py | 14 +++++++------- 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml index 5f40fe721..c3c2c4411 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml @@ -1,4 +1,4 @@ -description: Arkansas taxes personal income at these rates. +description: Arkansas taxes personal income at these rates for taxpayers below $84,500. metadata: type: marginal_rate threshold_unit: currency-USD @@ -7,7 +7,6 @@ metadata: reference: - title: Tax Legislation for 2022 Ark. Code § 26-51-201 (a)(1)(A) href: https://casetext.com/statute/arkansas-code-of-1987/title-26-taxation/subtitle-5-state-taxes/chapter-51-income-taxes/subchapter-2-imposition-of-tax/section-26-51-201-effective-90-days-after-sine-die-adjournment-individuals-trusts-and-estates - - title: 2022 Indexed Tax Brackets href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/TaxBrackets_2022.pdf#page=1 - title: 2021 Indexed Tax Brackets diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml index acf66cd05..1159b13b0 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml @@ -6,9 +6,10 @@ filing_status: JOINT ar_low_income_credit: 0 ar_high_income_reduction: 0 + ar_lump_sum_dist_tax: 0 state_code: AR output: - #round(5_100 * 0.00) + # ar_income_tax_before_non_refundable_credits: 0 - name: AR income tax rates - taxable income from $5,101 to $10,300, single @@ -19,9 +20,10 @@ filing_status: SINGLE ar_low_income_credit: 104 ar_high_income_reduction: 0 + ar_lump_sum_dist_tax: 0 state_code: AR output: - # (10_000-5_101) * 0.02 + # ar_income_tax_before_non_refundable_credits: 26 - name: AR income tax rates - taxable income from $14,700 to $24,299, agi $27502 JOINT 2 dependents @@ -32,9 +34,10 @@ filing_status: JOINT ar_low_income_credit: 384 ar_high_income_reduction: 0 + ar_lump_sum_dist_tax: 0 state_code: AR output: - # (10_000-5_101) * 0.02 + # ar_income_tax_before_non_refundable_credits: 133 - name: AR income tax rates - Reg Income, Head of houehold, 2 dependents @@ -45,9 +48,10 @@ filing_status: HEAD_OF_HOUSEHOLD ar_low_income_credit: 0 ar_high_income_reduction: 0 + ar_lump_sum_dist_tax: 0 state_code: AR output: - # 104 + round((11_000 - 10_301)* 0.03) + # ar_income_tax_before_non_refundable_credits: 1_873 - name: AR income tax rates - high income w/ reduction, joint, 0 dependents @@ -58,8 +62,9 @@ filing_status: JOINT ar_low_income_credit: 0 ar_high_income_reduction: 110 + ar_lump_sum_dist_tax: 0 state_code: AR output: - # 236 + round((20_000 - 14_701)* 0.034) + # ar_income_tax_before_non_refundable_credits: 3_762 diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index 3775211d9..ae574d96f 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -1,4 +1,5 @@ from fiscalsim_us.model_api import * +from numpy import round class ar_high_income_reduction(Variable): diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index 5c2a2dfa2..424bb41e8 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -14,8 +14,9 @@ class ar_income_tax_before_non_refundable_credits(Variable): def formula(tax_unit, period, parameters): + p = parameters(period).gov.states.ar.tax.income.rates taxable_income = tax_unit("ar_taxable_income", period) - high_income_threshold = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max + high_income_threshold = p.regular_bracket_max litc = tax_unit('ar_low_income_credit', period) high_income_reduction = tax_unit('ar_high_income_reduction', period) @@ -36,15 +37,14 @@ def round_to_nearest_50(num): rounded_taxable_income = round_to_nearest_50(taxable_income) - rate = where(taxable_income < high_income_threshold, parameters(period).gov.states.ar.tax.income.rates.rates, parameters(period).gov.states.ar.tax.income.rates.high_income_rates) + rate = where(taxable_income < high_income_threshold, p.rates, p.high_income_rates) tax = rate.calc(rounded_taxable_income) - litc - high_income_reduction - return tax - # lump_sum_dist_tax = tax_unit('ar_lump_sum_dist_tax', period) + lump_sum_dist_tax = tax_unit('ar_lump_sum_dist_tax', period) - # # Additional tax on IRA and qualified plan withdrawal and overpayment + # Additional tax on IRA and qualified plan withdrawal and overpayment - # total_tax = tax + lump_sum_dist_tax + total_tax = tax + lump_sum_dist_tax - # return total_tax + return total_tax From 26adcc60bfffd4cbc5a1d4fbb8a3e4b12fb80c39 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 14 Nov 2023 15:02:52 -0700 Subject: [PATCH 030/194] fixed .calc usage --- .../states/ar/tax/income/rates/high_income_rates.yaml | 2 -- .../gov/states/ar/tax/income/rates/rates.yaml | 1 - .../ar_income_tax_before_non_refundable_credits.py | 11 +++++++++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_income_rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_income_rates.yaml index 85147a38f..8349330ad 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_income_rates.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_income_rates.yaml @@ -7,12 +7,10 @@ metadata: reference: - title: Tax Legislation for 2022 Ark. Code § 26-51-201 (a)(1)(A) href: https://casetext.com/statute/arkansas-code-of-1987/title-26-taxation/subtitle-5-state-taxes/chapter-51-income-taxes/subchapter-2-imposition-of-tax/section-26-51-201-effective-90-days-after-sine-die-adjournment-individuals-trusts-and-estates - - title: 2022 Indexed Tax Brackets href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/TaxBrackets_2022.pdf#page=1 - title: 2021 Indexed Tax Brackets href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/TaxBrackets_2021.pdf#page=1 - brackets: - threshold: 2022-01-01: 0 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml index c3c2c4411..851013c6a 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml @@ -11,7 +11,6 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/TaxBrackets_2022.pdf#page=1 - title: 2021 Indexed Tax Brackets href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/TaxBrackets_2021.pdf#page=1 - brackets: - threshold: 2021-01-01: 0 diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index 424bb41e8..5ac5c7e42 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -37,9 +37,16 @@ def round_to_nearest_50(num): rounded_taxable_income = round_to_nearest_50(taxable_income) - rate = where(taxable_income < high_income_threshold, p.rates, p.high_income_rates) - tax = rate.calc(rounded_taxable_income) - litc - high_income_reduction + tax = where( + taxable_income < high_income_threshold, + p.rates.calc(rounded_taxable_income), + p.high_income_rates.calc(rounded_taxable_income) + ) + + # rate = where(taxable_income < high_income_threshold, p.rates, p.high_income_rates) + + # tax = rate.calc(rounded_taxable_income) - litc - high_income_reduction lump_sum_dist_tax = tax_unit('ar_lump_sum_dist_tax', period) From 88a73a641e2e0fccf0af9132835a940b02b32c0a Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 14 Nov 2023 15:20:23 -0700 Subject: [PATCH 031/194] fixing minor error --- .../income/ar_income_tax_before_non_refundable_credits.yaml | 4 ++-- .../tax/income/ar_income_tax_before_non_refundable_credits.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml index 1159b13b0..8d97cf813 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml @@ -9,7 +9,7 @@ ar_lump_sum_dist_tax: 0 state_code: AR output: - # + # 0 = 5,100 * 0 ar_income_tax_before_non_refundable_credits: 0 - name: AR income tax rates - taxable income from $5,101 to $10,300, single @@ -23,7 +23,7 @@ ar_lump_sum_dist_tax: 0 state_code: AR output: - # + # 26 = (5099*0) + (5199*0.02) + (882*0.03) - 104 ar_income_tax_before_non_refundable_credits: 26 - name: AR income tax rates - taxable income from $14,700 to $24,299, agi $27502 JOINT 2 dependents diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index 5ac5c7e42..fc4b0bc36 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -38,11 +38,11 @@ def round_to_nearest_50(num): rounded_taxable_income = round_to_nearest_50(taxable_income) - tax = where( + tax = round(where( taxable_income < high_income_threshold, p.rates.calc(rounded_taxable_income), p.high_income_rates.calc(rounded_taxable_income) - ) + ) - litc - high_income_reduction,0) # rate = where(taxable_income < high_income_threshold, p.rates, p.high_income_rates) From 629496c83353ece4ba22754f31a0f79d53dac4f1 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 14 Nov 2023 16:07:00 -0700 Subject: [PATCH 032/194] working on rounding logic --- .../income/ar_income_tax_before_non_refundable_credits.yaml | 6 +++--- .../income/ar_income_tax_before_non_refundable_credits.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml index 8d97cf813..8d4972612 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml @@ -54,17 +54,17 @@ # ar_income_tax_before_non_refundable_credits: 1_873 -- name: AR income tax rates - high income w/ reduction, joint, 0 dependents +- name: AR income tax rates - high income w/ reduction, joint, 0 dependents, $92540 agi, period: 2022 absolute_error_margin: 1 input: ar_taxable_income: 88_000 filing_status: JOINT ar_low_income_credit: 0 - ar_high_income_reduction: 110 + ar_high_income_reduction: 120 ar_lump_sum_dist_tax: 0 state_code: AR output: - # + # 4034 = (4300*0.02)+(4200*0.04)+(79,450*0.049) - 110 ar_income_tax_before_non_refundable_credits: 3_762 diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index fc4b0bc36..4c06ab68c 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -28,7 +28,7 @@ def round_to_nearest_50(num): last_two_digits = num % 100 # Determine the closest ending in "50" - if last_two_digits <= 50: + if last_two_digits <= 50 and last_two_digits >= 1: rounded_income = nearest_multiple_of_100 + 50 return rounded_income else: From 4532032fdcb7fbac9a795b87ee62371273946a58 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 15 Nov 2023 11:45:49 -0700 Subject: [PATCH 033/194] adding another tax test --- ...income_tax_before_non_refundable_credits.yaml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml index 8d4972612..6ef61f94c 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml @@ -65,6 +65,20 @@ ar_lump_sum_dist_tax: 0 state_code: AR output: - # 4034 = (4300*0.02)+(4200*0.04)+(79,450*0.049) - 110 + # ar_income_tax_before_non_refundable_credits: 3_762 +- name: AR income tax rates - high income w/out reduction, joint, 0 dependents, $94357 agi, + period: 2022 + absolute_error_margin: 1 + input: + ar_taxable_income: 92_087 + filing_status: SINGLE + ar_low_income_credit: 0 + ar_high_income_reduction: 0 + ar_lump_sum_dist_tax: 0 + state_code: AR + output: + # + ar_income_tax_before_non_refundable_credits: 4_343 + From 73c0ec9b0ac3f08ff2453907104fde8a6e8a2f6d Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 15 Nov 2023 11:58:36 -0700 Subject: [PATCH 034/194] testing a new test --- ...r_income_tax_before_non_refundable_credits.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml index 6ef61f94c..9bef3b814 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml @@ -68,6 +68,20 @@ # ar_income_tax_before_non_refundable_credits: 3_762 +- name: AR income tax rates - high income w/ reduction, joint, 0 dependents, $93540 agi, + period: 2022 + absolute_error_margin: 1 + input: + ar_taxable_income: 89_000 + filing_status: JOINT + ar_low_income_credit: 0 + ar_high_income_reduction: 20 + ar_lump_sum_dist_tax: 0 + state_code: AR + output: + # + ar_income_tax_before_non_refundable_credits: 3_762 + - name: AR income tax rates - high income w/out reduction, joint, 0 dependents, $94357 agi, period: 2022 absolute_error_margin: 1 From 6cd00e5abd01b8fe50ff44632923b5c8ab478db2 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 15 Nov 2023 12:05:22 -0700 Subject: [PATCH 035/194] fixing the text --- .../tax/income/ar_income_tax_before_non_refundable_credits.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml index 9bef3b814..7441cf786 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml @@ -80,7 +80,7 @@ state_code: AR output: # - ar_income_tax_before_non_refundable_credits: 3_762 + ar_income_tax_before_non_refundable_credits: 3_911 - name: AR income tax rates - high income w/out reduction, joint, 0 dependents, $94357 agi, period: 2022 From ef9f390572e7622bde4dd6adf85cffdcf8c003a5 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 16 Nov 2023 15:54:05 -0700 Subject: [PATCH 036/194] adding new tests --- ...ome_tax_before_non_refundable_credits.yaml | 7 ++ .../ar/tax/income/ar_taxable_income.yaml | 48 ++++++++++++++ .../income/credits/ar_low_income_credit.yaml | 65 +++++++++++++++++++ .../ar/tax/income/ar_additional_ira_tax.py | 13 ++++ ...ncome_tax_before_non_refundable_credits.py | 5 +- .../ar_inflationary_relief_tax_credit.py | 5 +- .../income/credits/ar_low_income_credit.py | 2 +- 7 files changed, 140 insertions(+), 5 deletions(-) create mode 100644 fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_taxable_income.yaml create mode 100644 fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/ar_additional_ira_tax.py diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml index 7441cf786..0f99cd3bb 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml @@ -7,6 +7,7 @@ ar_low_income_credit: 0 ar_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 + ar_additional_ira_tax: 0 state_code: AR output: # 0 = 5,100 * 0 @@ -21,6 +22,7 @@ ar_low_income_credit: 104 ar_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 + ar_additional_ira_tax: 0 state_code: AR output: # 26 = (5099*0) + (5199*0.02) + (882*0.03) - 104 @@ -35,6 +37,7 @@ ar_low_income_credit: 384 ar_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 + ar_additional_ira_tax: 0 state_code: AR output: # @@ -49,6 +52,7 @@ ar_low_income_credit: 0 ar_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 + ar_additional_ira_tax: 0 state_code: AR output: # @@ -63,6 +67,7 @@ ar_low_income_credit: 0 ar_high_income_reduction: 120 ar_lump_sum_dist_tax: 0 + ar_additional_ira_tax: 0 state_code: AR output: # @@ -77,6 +82,7 @@ ar_low_income_credit: 0 ar_high_income_reduction: 20 ar_lump_sum_dist_tax: 0 + ar_additional_ira_tax: 0 state_code: AR output: # @@ -91,6 +97,7 @@ ar_low_income_credit: 0 ar_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 + ar_additional_ira_tax: 0 state_code: AR output: # diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_taxable_income.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_taxable_income.yaml new file mode 100644 index 000000000..df2866578 --- /dev/null +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_taxable_income.yaml @@ -0,0 +1,48 @@ +- name: AR taxable income - 92000 agi + period: 2022 + absolute_error_margin: 1 + input: + ar_agi: 92_000 + filing_status: SINGLE + ar_standard_deductions: 2_270 + ar_itemized_deductions: 1_500 + state_code: AR + output: + # 92000 - 2270 = 89730 + ar_taxable_income: 89_730 +- name: AR taxable income - 24000 agi JOINT + period: 2022 + absolute_error_margin: 1 + input: + ar_agi: 24_000 + filing_status: JOINT + ar_standard_deductions: 4_540 + ar_itemized_deductions: 500 + state_code: AR + output: + # 24000 - 4540 = 19460 + ar_taxable_income: 19_460 +- name: AR taxable income - 92000 agi itemized + period: 2022 + absolute_error_margin: 1 + input: + ar_agi: 92_000 + filing_status: SINGLE + ar_standard_deductions: 2_270 + ar_itemized_deductions: 3_000 + state_code: AR + output: + # 92000 - 3000 = 89730 + ar_taxable_income: 89_000 +- name: AR taxable income - 56728 agi itemized + period: 2022 + absolute_error_margin: 1 + input: + ar_agi: 56728 + filing_status: JOINT + ar_standard_deductions: 4540 + ar_itemized_deductions: 5000 + state_code: AR + output: + # 56728 - 5000 = 51728 + ar_taxable_income: 51_728 \ No newline at end of file diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml new file mode 100644 index 000000000..f8b06227c --- /dev/null +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml @@ -0,0 +1,65 @@ +- name: Single household with $101,002 taxable income + period: 2022 + input: + state_code: AR + ar_taxable_income: 11_180 + tax_unit_dependents: 1 + filing_status: SINGLE + ar_standard_deduction: 2_270 + ar_itemized_deductions: 200 + ar_agi: 13_450 + output: + ar_inflation_relief_credit: 104 + +- name: Separate household with $20,000 taxable income - not eligible + period: 2022 + input: + state_code: AR + ar_taxable_income: 17_730 + tax_unit_dependents: 3 + filing_status: SEPARATE + ar_standard_deduction: 2_270 + ar_itemized_deductions: 200 + ar_agi: 20_000 + output: + ar_inflation_relief_credit: 0 + +- name: Joint with $26 +,000 taxable income, itemized deductions + period: 2022 + input: + state_code: AR + ar_taxable_income: 26_000 + tax_unit_dependents: 3 + filing_status: JOINT + ar_standard_deduction: 4_450 + ar_itemized_deductions: 5_000 + ar_agi: 31_000 + output: + ar_inflation_relief_credit: 0 + +- name: Joint household with $26,460 taxable income - 3 dependents + period: 2022 + input: + state_code: AR + ar_taxable_income: 26_460 + tax_unit_dependents: 3 + filing_status: JOINT + ar_standard_deduction: 4_540 + ar_itemized_deductions: 500 + ar_agi: 31_000 + output: + ar_inflation_relief_credit: 149 + +- name: Widow household with $26,000 taxable income - 2 dependents + period: 2022 + input: + state_code: AR + ar_taxable_income: 21_550 + tax_unit_dependents: 1 + filing_status: WIDOW + ar_standard_deduction: 2_270 + ar_itemized_deductions: 500 + ar_agi: 26_000 + output: + ar_inflation_relief_credit: 13 diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_additional_ira_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_additional_ira_tax.py new file mode 100644 index 000000000..df574f64c --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_additional_ira_tax.py @@ -0,0 +1,13 @@ +from fiscalsim_us.model_api import * + + +class ar_additional_ira_(Variable): + "2022 AR 1000F instructions Line 32, 10% of federal amount from form 5329" + + value_type = float + entity = TaxUnit + label = "Additional tax on IRA and qualified plan withdrawal and overpayment" + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=10" + defined_for = StateCode.AR + unit = USD + definition_period = YEAR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index 4c06ab68c..babe18fbb 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -50,8 +50,9 @@ def round_to_nearest_50(num): lump_sum_dist_tax = tax_unit('ar_lump_sum_dist_tax', period) - # Additional tax on IRA and qualified plan withdrawal and overpayment + # Additional tax on IRA and qualified plan withdrawal and overpayment + additional_ira_tax = tax_unit('ar_additional_ira_tax', period) - total_tax = tax + lump_sum_dist_tax + total_tax = tax + lump_sum_dist_tax + additional_ira_tax return total_tax diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_inflationary_relief_tax_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_inflationary_relief_tax_credit.py index bf40abcef..97808ac81 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_inflationary_relief_tax_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_inflationary_relief_tax_credit.py @@ -1,4 +1,5 @@ from fiscalsim_us.model_api import * +import numpy as np class ar_inflation_relief_credit(Variable): @@ -21,7 +22,7 @@ def formula(tax_unit, period, parameters): reduction_start = p.reduction.start[filing_status] increment = p.reduction.increment[filing_status] reduction_per_increment = p.reduction.amount[filing_status] - excess = max_(income - reduction_start, 0) + excess = max(income - reduction_start, 0) increments = np.ceil(excess / increment) total_reduction_amount = increments * reduction_per_increment - return max_(max_amount - total_reduction_amount, 0) + return max(max_amount - total_reduction_amount, 0) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 35f623dde..daf50ea50 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -63,7 +63,7 @@ def round_to_nearest_50(num): credit_amount -= phaseout_reduction # Ensure credit_amount does not go below 0 and that those who itemize do not take the credit - where(credit_amount < 0 | std_ded Date: Thu, 16 Nov 2023 15:58:38 -0700 Subject: [PATCH 037/194] fixed yaml file --- .../gov/states/ar/tax/income/credits/ar_low_income_credit.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml index f8b06227c..be41b2a74 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml @@ -24,8 +24,7 @@ output: ar_inflation_relief_credit: 0 -- name: Joint with $26 -,000 taxable income, itemized deductions +- name: Joint with $26,000 taxable income, itemized deductions period: 2022 input: state_code: AR From 86b0faf55a0f3d5a12653fd80ee111833f596220 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 16 Nov 2023 16:06:51 -0700 Subject: [PATCH 038/194] Fixed for testing --- .../gov/states/ar/tax/income/ar_taxable_income.yaml | 8 ++++---- .../gov/states/ar/tax/income/ar_additional_ira_tax.py | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_taxable_income.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_taxable_income.yaml index df2866578..69895679d 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_taxable_income.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_taxable_income.yaml @@ -4,7 +4,7 @@ input: ar_agi: 92_000 filing_status: SINGLE - ar_standard_deductions: 2_270 + ar_standard_deduction: 2_270 ar_itemized_deductions: 1_500 state_code: AR output: @@ -16,7 +16,7 @@ input: ar_agi: 24_000 filing_status: JOINT - ar_standard_deductions: 4_540 + ar_standard_deduction: 4_540 ar_itemized_deductions: 500 state_code: AR output: @@ -28,7 +28,7 @@ input: ar_agi: 92_000 filing_status: SINGLE - ar_standard_deductions: 2_270 + ar_standard_deduction: 2_270 ar_itemized_deductions: 3_000 state_code: AR output: @@ -40,7 +40,7 @@ input: ar_agi: 56728 filing_status: JOINT - ar_standard_deductions: 4540 + ar_standard_deduction: 4540 ar_itemized_deductions: 5000 state_code: AR output: diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_additional_ira_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_additional_ira_tax.py index df574f64c..5dbfa608c 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_additional_ira_tax.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_additional_ira_tax.py @@ -1,7 +1,7 @@ from fiscalsim_us.model_api import * -class ar_additional_ira_(Variable): +class ar_additional_ira_tax(Variable): "2022 AR 1000F instructions Line 32, 10% of federal amount from form 5329" value_type = float From d19ed68511c379f9352e2c3cc713f15cfe12fba9 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 16 Nov 2023 16:15:14 -0700 Subject: [PATCH 039/194] Fixing a test file --- .../ar/tax/income/credits/ar_low_income_credit.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml index be41b2a74..d1a486944 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml @@ -1,4 +1,4 @@ -- name: Single household with $101,002 taxable income +- name: Single household with $11,180 taxable income period: 2022 input: state_code: AR @@ -9,7 +9,7 @@ ar_itemized_deductions: 200 ar_agi: 13_450 output: - ar_inflation_relief_credit: 104 + ar_low_income_credit: 104 - name: Separate household with $20,000 taxable income - not eligible period: 2022 @@ -22,7 +22,7 @@ ar_itemized_deductions: 200 ar_agi: 20_000 output: - ar_inflation_relief_credit: 0 + ar_low_income_credit: 0 - name: Joint with $26,000 taxable income, itemized deductions period: 2022 @@ -35,7 +35,7 @@ ar_itemized_deductions: 5_000 ar_agi: 31_000 output: - ar_inflation_relief_credit: 0 + ar_low_income_credit: 0 - name: Joint household with $26,460 taxable income - 3 dependents period: 2022 @@ -48,7 +48,7 @@ ar_itemized_deductions: 500 ar_agi: 31_000 output: - ar_inflation_relief_credit: 149 + ar_low_income_credit: 149 - name: Widow household with $26,000 taxable income - 2 dependents period: 2022 @@ -61,4 +61,4 @@ ar_itemized_deductions: 500 ar_agi: 26_000 output: - ar_inflation_relief_credit: 13 + ar_low_income_credit: 13 From 61d66393df213509b8c89cbc9e907e298a4cd0fc Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 16 Nov 2023 16:39:48 -0700 Subject: [PATCH 040/194] updating metadata --- .../high_income_reduction/high_income_reduction_amount.yaml | 1 + .../high_income_reduction/high_income_reduction_phaseout.yaml | 3 ++- .../gov/states/ar/tax/income/rates/ira_additional.yaml | 1 + .../gov/states/ar/tax/income/rates/ira_exemption.yaml | 1 + .../gov/states/ar/tax/income/rates/regular_bracket_max.yaml | 1 + .../gov/states/ar/tax/income/credits/ar_low_income_credit.py | 4 ++-- 6 files changed, 8 insertions(+), 3 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml index 8dc23885b..85ab577d3 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml @@ -1,5 +1,6 @@ description: Arkansas reduces the tax liability of taxpayers using the high income tax tables, stating at this amount metadata: + type: single_amount period: year unit: currency-USD label: Arkansas high income tax reduction amount diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml index d9db542e9..86b031755 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml @@ -1,5 +1,6 @@ -description: Arkansas custs the high income tax reduction by this amount +description: Arkansas cuts the high income tax reduction by this amount for each 100 in income over the high_income_threshold metadata: + type: single_amount period: year unit: currency-USD label: Arkansas high income tax reduction phaseout amount diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_additional.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_additional.yaml index 57f140eda..575a0f7a9 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_additional.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_additional.yaml @@ -2,6 +2,7 @@ description: AR levies this amount of the additional federal tax on IRAs and Emp values: 2022-01-01: 0.10 metadata: + type: single_amount reference: - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 32) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_exemption.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_exemption.yaml index 3e2d6baf2..2845b5a43 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_exemption.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_exemption.yaml @@ -3,6 +3,7 @@ values: 2021-01-01: 6_000 2022-01-01: 6_000 metadata: + type: single_amount reference: - title: 2021 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 18A & 18B) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2021_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml index be323b0f2..a3383f530 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml @@ -2,6 +2,7 @@ description: Amount over which a taxpayer must use the alternative tax table values: 2022-01-01: 84_500 metadata: + type: single_amount reference: - title: Tax Legislation for 2022 Ark. Code § 26-51-201 (a)(1)(A) href: https://casetext.com/statute/arkansas-code-of-1987/title-26-taxation/subtitle-5-state-taxes/chapter-51-income-taxes/subchapter-2-imposition-of-tax/section-26-51-201-effective-90-days-after-sine-die-adjournment-individuals-trusts-and-estates diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index daf50ea50..217ec068f 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -17,8 +17,8 @@ def formula(tax_unit, period, parameters): adjustment = parameters(period).gov.states.ar.tax.income.rates.adjustment credit_rate= parameters(period).gov.states.ar.tax.income.credits.low_income_credit.income_tax_credit_pct num_dependents = tax_unit('tax_unit_dependents', period) - min_income = where(num_dependents<2,parameters(period).gov.states.ar.tax.income.credits.low_dep_inc_tax_credit_min_income, parameters(period).gov.states.ar.tax.income.credits.high_dep_inc_tax_credit_min_income ) - phaseout_rate = where(num_dependents<2, parameters(period).gov.states.ar.tax.income.credits.low_dep_inc_tax_credit_phaseout_rate[filing_status],parameters(period).gov.states.ar.tax.income.credits.high_dep_inc_tax_credit_phaseout_rate[filing_status]) + min_income = where(num_dependents<2,parameters(period).gov.states.ar.tax.income.credits.low_income_credit.low_dep_inc_tax_credit_min_income, parameters(period).gov.states.ar.tax.income.credits.low_income_credit.high_dep_inc_tax_credit_min_income ) + phaseout_rate = where(num_dependents<2, parameters(period).gov.states.ar.tax.income.credits.low_income_credit.low_dep_inc_tax_credit_phaseout_rate[filing_status],parameters(period).gov.states.ar.tax.income.credits.low_income_credit.high_dep_inc_tax_credit_phaseout_rate[filing_status]) agi = tax_unit('ar_agi', period) def round_to_nearest_50(num): From ae142b0eeeaba6a77d6cf62e662fd6ccd35fe6d8 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 16 Nov 2023 16:55:37 -0700 Subject: [PATCH 041/194] Fixing metadata --- .../states/ar/tax/income/credits/cdcc/childcare_multiple.yaml | 1 + .../states/ar/tax/income/credits/cdcc/childcare_qual_max.yaml | 1 + .../states/ar/tax/income/credits/cdcc/dependent_care_max.yaml | 1 + .../income/credits/cdcc/separate_diff_dependent_care_max.yaml | 1 + .../ar/tax/income/credits/inflationary_relief/max_amount.yaml | 1 + .../tax/income/credits/inflationary_relief/reduction/amount.yaml | 1 + .../income/credits/inflationary_relief/reduction/increment.yaml | 1 + .../tax/income/credits/inflationary_relief/reduction/start.yaml | 1 + .../low_income_credit/high_dep_inc_tax_credit_min_income.yaml | 1 + .../low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml | 1 + .../income/credits/low_income_credit/income_tax_credit_pct.yaml | 1 + .../low_income_credit/low_dep_inc_tax_credit_min_income.yaml | 1 + .../low_income_credit/low_dep_inc_tax_credit_phaseout_rate.yaml | 1 + .../ar/tax/income/credits/other_credits/adoption_credit.yaml | 1 + .../states/ar/tax/income/credits/other_credits/metabolic.yaml | 1 + .../ar/tax/income/credits/other_credits/political_contrib.yaml | 1 + .../tax/income/credits/other_credits/stillbirth_credit_max.yaml | 1 + .../gov/states/ar/tax/income/credits/personal/dependents.yaml | 1 + .../ar/tax/income/credits/personal/personal_credit_amount.yaml | 1 + .../states/ar/tax/income/credits/personal/qual_dependents.yaml | 1 + .../gov/states/ar/tax/income/deductions/itemized/medical.yaml | 1 + .../states/ar/tax/income/deductions/itemized/miscellaneous.yaml | 1 + .../parameters/gov/states/ar/tax/income/deductions/standard.yaml | 1 + .../gov/states/ar/tax/income/lump_sum_dist/Line11_multiple.yaml | 1 + .../gov/states/ar/tax/income/lump_sum_dist/Line15_multiple.yaml | 1 + .../gov/states/ar/tax/income/lump_sum_dist/Line17_multiple.yaml | 1 + .../gov/states/ar/tax/income/lump_sum_dist/Line9_multiple.yaml | 1 + .../ar/tax/income/lump_sum_dist/min_allowance_multiple1.yaml | 1 + .../ar/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml | 1 + .../ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml | 1 + .../ar/tax/income/lump_sum_dist/min_allowance_subtract.yaml | 1 + .../ar/tax/income/lump_sum_dist/min_allowance_threshold.yaml | 1 + 32 files changed, 32 insertions(+) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_multiple.yaml index 01cbafe61..9c17f1c6b 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_multiple.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_multiple.yaml @@ -2,6 +2,7 @@ description: Multiply the amount in Line 9 by this amount values: 2022-01-01: 0.20 metadata: + type: single_amount reference: - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES Line 10 href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_qual_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_qual_max.yaml index c5bb87504..75427543f 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_qual_max.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_qual_max.yaml @@ -3,6 +3,7 @@ values: 2021-01-01: 3_000 2022-01-01: 3_000 metadata: + type: single_amount reference: - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES (Line 3) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/dependent_care_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/dependent_care_max.yaml index 75efb4026..bd47cb8bd 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/dependent_care_max.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/dependent_care_max.yaml @@ -2,6 +2,7 @@ description: Arkansas Dependent Care Deductible Benefits Max. values: 2022-01-01: 5_000 metadata: + type: single_amount reference: - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES (Line 20) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/separate_diff_dependent_care_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/separate_diff_dependent_care_max.yaml index 07d6d6815..55133a4da 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/separate_diff_dependent_care_max.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/separate_diff_dependent_care_max.yaml @@ -2,6 +2,7 @@ description: Arkansas Dependent Care Deductible Benefits Max for married filing values: 2022-01-01: 2_500 metadata: + type: single_amount reference: - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES (Line 20) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/max_amount.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/max_amount.yaml index a5d4baeac..7945ff716 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/max_amount.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/max_amount.yaml @@ -1,5 +1,6 @@ description: Arkansas allows for this maximum inflationary relief tax credit amount, based on filing status. metadata: + type: single_amount period: year unit: currency-USD label: Arkansas income-tax credit maximum amount diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/reduction/amount.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/reduction/amount.yaml index 035fb89e8..2b7c0252c 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/reduction/amount.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/reduction/amount.yaml @@ -1,5 +1,6 @@ description: Arkansas reduces the inflationary relief tax credit by this amount for each increment of taxable income above the threshold, based on the filing status. metadata: + type: single_amount period: year unit: currency-USD label: Arkansas inflation relief credit reduction amount diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/reduction/increment.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/reduction/increment.yaml index 44e95d247..24eb994fc 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/reduction/increment.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/reduction/increment.yaml @@ -1,5 +1,6 @@ description: Arkansas reduces the inflationary relief tax credit for each of these increments of taxable income above the threshold, based on filing status. metadata: + type: single_amount period: year unit: currency-USD label: Arkansas income reduction increment diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/reduction/start.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/reduction/start.yaml index 6968b359d..c0f7196d4 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/reduction/start.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/reduction/start.yaml @@ -1,5 +1,6 @@ description: Arkansas provides inflationary relief tax credit to filers with taxable income above this amount, based on filing status. metadata: + type: single_amount reference: # The inflation relief credit is not mentioned in the Arkansas statutes - title: Arkansas 2022 Individual Income Tax Forms and Instructions diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml index 7f5527b34..bf06466b8 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml @@ -1,5 +1,6 @@ description: This is the minimum amount at which an Arkansas Resident is not exempt from taxes, for each filing status, 1 or fewer dependents metadata: + type: single_amount period: year unit: currency-USD label: Arkansas income-tax credit minimum income diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml index 2f90f29bb..04db4aca5 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml @@ -1,5 +1,6 @@ description: Arkansas's low income tax credit is reduced by this amount for each additional $100 in income. Units with 2 or more dependents metadata: + type: single_amount period: year unit: currency-USD label: Arkansas income-tax credit phaseout rate diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/income_tax_credit_pct.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/income_tax_credit_pct.yaml index 997b55394..6aa9acbf8 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/income_tax_credit_pct.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/income_tax_credit_pct.yaml @@ -2,6 +2,7 @@ description: Arkansas' low income tax credit is this percentage of the tax due o values: 2022-01-01: 0.8 metadata: + type: single_amount reference: - title: Arkansas Code Title 26. Taxation § 26-51-301. Subsection f href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-301/ diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_min_income.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_min_income.yaml index 4cc9885fb..75635a965 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_min_income.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_min_income.yaml @@ -1,5 +1,6 @@ description: This is the minimum amount at which an Arkansas Resident is not exempt from taxes, for each filing status, 1 or fewer dependents metadata: + type: single_amount period: year unit: currency-USD label: Arkansas income-tax credit minimum income diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_phaseout_rate.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_phaseout_rate.yaml index c17666b4f..0214beca8 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_phaseout_rate.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_phaseout_rate.yaml @@ -1,5 +1,6 @@ description: Arkansas's low income tax credit is reduced by this amount for each additional $100 in income. Units with one or fewer dependents metadata: + type: single_amount period: year unit: currency-USD label: Arkansas income-tax credit phaseout rate diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/adoption_credit.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/adoption_credit.yaml index 5d8fa306d..0d4773dcf 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/adoption_credit.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/adoption_credit.yaml @@ -2,6 +2,7 @@ description: Arkansas matches up to this share of the federal Adoption Expense C values: 2022-01-01: 0.20 metadata: + type: single_amount reference: - title: AR1000TC Arkansas Individual Income Tax Credits (Line 3) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/metabolic.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/metabolic.yaml index 484842104..a0aa4fb44 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/metabolic.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/metabolic.yaml @@ -2,6 +2,7 @@ description: AR1113 PHENYLKETONURIA DISORDER AND OTHER METABOLIC DISORDERS MAX C values: 2022-01-01: 2_400 metadata: + type: single_amount reference: - title: 2022 AR1113 PHENYLKETONURIA DISORDER AND OTHER METABOLIC DISORDERS CREDIT (line 4) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1113_PhenylketonuriaOtherMetabolicDisordersCredit.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/political_contrib.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/political_contrib.yaml index 8f449ae34..3d0a6aaf9 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/political_contrib.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/political_contrib.yaml @@ -2,6 +2,7 @@ description: Arkansas Other Tax Credits - Political Contribution Credit (per Tax values: 2022-01-01: 50 metadata: + type: single_amount reference: - title: AR1000TC Arkansas Individual Income Tax Credits (Line 1) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit_max.yaml index ea7831bb5..8140b10c4 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit_max.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit_max.yaml @@ -2,6 +2,7 @@ description: Arkansas Max Allowable Stillbirth Tax Credit Amount values: 2022-01-01: 500 metadata: + type: single_amount reference: - title: AR1000TC Arkansas Individual Income Tax Credits (Line 5) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/dependents.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/dependents.yaml index 20b1becaf..b6bcc176c 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/dependents.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/dependents.yaml @@ -3,6 +3,7 @@ values: 2021-01-01: 29 2022-01-01: 29 metadata: + type: single_amount reference: - title: 2021 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 7B) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2021_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/personal_credit_amount.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/personal_credit_amount.yaml index f654682ff..8f24a7763 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/personal_credit_amount.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/personal_credit_amount.yaml @@ -3,6 +3,7 @@ values: 2021-01-01: 29 2022-01-01: 29 metadata: + type: single_amount reference: - title: 2021 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 7A) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2021_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/qual_dependents.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/qual_dependents.yaml index 11aea27db..03658be32 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/qual_dependents.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/qual_dependents.yaml @@ -3,6 +3,7 @@ values: 2021-01-01: 500 2022-01-01: 500 metadata: + type: single_amount reference: - title: 2021 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 7C) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2021_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/medical.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/medical.yaml index 1684d6d9f..2ce834c85 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/medical.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/medical.yaml @@ -2,6 +2,7 @@ description: AR allows taxpayers to deduct the portion of medical and dental exp values: 2022-01-01: 0.10 metadata: + type: single_amount reference: - title: AR3 Arkansas Individual income Tax Itemized Deductions (Line 3) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/miscellaneous.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/miscellaneous.yaml index 202fb722c..ee973b35e 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/miscellaneous.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/miscellaneous.yaml @@ -2,6 +2,7 @@ description: AR allows taxpayers to deduct certain miscellaneous up to this perc values: 2022-01-01: 0.02 metadata: + type: single_amount reference: - title: AR3 Arkansas Individual income Tax Itemized Deductions (Line 24) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/standard.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/standard.yaml index 1869c3f96..205a0097c 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/standard.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/standard.yaml @@ -1,5 +1,6 @@ description: Arkansas provides a standard deduction of this amount, based on filing status. metadata: + type: single_amount label: Arkansas standard deduction period: year unit: currency-USD diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line11_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line11_multiple.yaml index 804c155eb..05bea0edf 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line11_multiple.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line11_multiple.yaml @@ -2,6 +2,7 @@ description: Multiply the amount in line 10 by this amount - part of Lump Sum Av values: 2022-01-01: 10 metadata: + type: single_amount reference: - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 11) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line15_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line15_multiple.yaml index 0350ba7cd..a4563f00a 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line15_multiple.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line15_multiple.yaml @@ -2,6 +2,7 @@ description: Multiply the amount in line 14 by this amount - part of Lump Sum Av values: 2022-01-01: 0.1 metadata: + type: single_amount reference: - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 15) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line17_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line17_multiple.yaml index dac2d15ad..8f2f24f49 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line17_multiple.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line17_multiple.yaml @@ -2,6 +2,7 @@ description: Multiply the amount in line 16 by this amount - part of Lump Sum Av values: 2022-01-01: 10 metadata: + type: single_amount reference: - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 17) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line9_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line9_multiple.yaml index 913350c81..00af2fd05 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line9_multiple.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line9_multiple.yaml @@ -2,6 +2,7 @@ description: Multiply the amount in line 8 by this amount - part of Lump Sum Ave values: 2022-01-01: 0.1 metadata: + type: single_amount reference: - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 9) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1.yaml index 337f487c8..69b5bd57e 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1.yaml @@ -2,6 +2,7 @@ description: Multiply the amount in line 3 by this amount - part of Lump Sum Ave values: 2022-01-01: 0.5 metadata: + type: single_amount reference: - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 4) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml index 0d19a41eb..ff4535b29 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml @@ -2,6 +2,7 @@ description: The maximum amount that can be entered in Line 4 values: 2022-01-01: 10_000 metadata: + type: single_amount reference: - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 4) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml index ac1a67383..9da69c71f 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml @@ -3,6 +3,7 @@ values: 2022-01-01: 0.2 metadata: reference: + type: single_amount - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 6) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf unit: currency-USD diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_subtract.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_subtract.yaml index 06a1a70b2..445f207e2 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_subtract.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_subtract.yaml @@ -3,6 +3,7 @@ values: 2022-01-01: 20_000 metadata: reference: + type: single_amount - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 5) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf unit: currency-USD diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_threshold.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_threshold.yaml index 53ea19fbd..39b4c619b 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_threshold.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_threshold.yaml @@ -3,6 +3,7 @@ values: 2022-01-01: 70_000 metadata: reference: + type: single_amount - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 3) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf unit: currency-USD From 11a21711fb11c5d4e845a8da15b1515fb626e941 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 16 Nov 2023 16:59:18 -0700 Subject: [PATCH 042/194] fixed metadata error --- .../ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml index 9da69c71f..b7d0cebc9 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml @@ -3,7 +3,7 @@ values: 2022-01-01: 0.2 metadata: reference: - type: single_amount + type: single_amount - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 6) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf unit: currency-USD From 36d9383a5a02ace4c4daf021bbf40cb5e02417d2 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 16 Nov 2023 17:03:48 -0700 Subject: [PATCH 043/194] Resolved metadata issue --- .../ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml index b7d0cebc9..9960a7135 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml @@ -2,8 +2,8 @@ description: Multiply the amount in line 5 by this amount - part of Lump Sum Ave values: 2022-01-01: 0.2 metadata: - reference: type: single_amount + reference: - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 6) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf unit: currency-USD From c8e5dc71b2780777d8017a185dd9b5f028f536e6 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 16 Nov 2023 17:06:57 -0700 Subject: [PATCH 044/194] Fixing more metadata issues --- .../ar/tax/income/lump_sum_dist/min_allowance_subtract.yaml | 2 +- .../ar/tax/income/lump_sum_dist/min_allowance_threshold.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_subtract.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_subtract.yaml index 445f207e2..c7d1ec89f 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_subtract.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_subtract.yaml @@ -2,8 +2,8 @@ description: Subtract this amount from the value in Line 3 values: 2022-01-01: 20_000 metadata: + type: single_amount reference: - type: single_amount - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 5) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf unit: currency-USD diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_threshold.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_threshold.yaml index 39b4c619b..f8caf6d2d 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_threshold.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_threshold.yaml @@ -2,8 +2,8 @@ description: If the Total taxable amount in line 3 is greater than this amount, values: 2022-01-01: 70_000 metadata: + type: single_amount reference: - type: single_amount - title: 2022 AR1000TD ARKANSAS INDIVIDUAL INCOME TAX LUMP-SUM DISTRIBUTION AVERAGING (Part II line 3) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf unit: currency-USD From 6a7e411b9068f4dbc0c73e2748e06899e2202b64 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 17 Nov 2023 09:27:56 -0700 Subject: [PATCH 045/194] trying to fic tests --- .../high_dep_inc_tax_credit_min_income.yaml | 1 - .../high_dep_inc_tax_credit_phaseout_rate.yaml | 1 - .../high_income_reduction_phaseout.yaml | 6 +++--- .../states/ar/tax/income/credits/ar_low_income_credit.py | 4 ++-- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml index bf06466b8..6fa5dcd2a 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml @@ -10,7 +10,6 @@ metadata: href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-301/ - title: Arkansas 2022 Tax Tables href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_TaxTables.pdf - breakdown: - filing_status JOINT: diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml index 04db4aca5..b3642153f 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml @@ -8,7 +8,6 @@ metadata: reference: - title: Arkansas Code Title 26. Taxation § 26-51-301. Subsection f href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-301/ - breakdown: - filing_status JOINT: diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml index 86b031755..f02174cd3 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml @@ -1,4 +1,6 @@ description: Arkansas cuts the high income tax reduction by this amount for each 100 in income over the high_income_threshold +values: + 2022-01-01: 10 metadata: type: single_amount period: year @@ -7,6 +9,4 @@ metadata: name: high_income_reduction_phaseout reference: - title: Arkansas Code Title 26. Taxation § 26-51-201. Subsection a 10 - href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FACTS%2F2022S3%2FPublic%2FACT2.pdf - values: - 2022-01-01: 10 \ No newline at end of file + href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FACTS%2F2022S3%2FPublic%2FACT2.pdf \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 217ec068f..26fb42db1 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -1,5 +1,6 @@ from fiscalsim_us.model_api import * + class ar_low_income_credit(Variable): value_type = float @@ -14,10 +15,9 @@ def formula(tax_unit, period, parameters): filing_status= tax_unit('filing_status', period) tax_rate = parameters(period).gov.states.ar.tax.income.rates.rates - adjustment = parameters(period).gov.states.ar.tax.income.rates.adjustment credit_rate= parameters(period).gov.states.ar.tax.income.credits.low_income_credit.income_tax_credit_pct num_dependents = tax_unit('tax_unit_dependents', period) - min_income = where(num_dependents<2,parameters(period).gov.states.ar.tax.income.credits.low_income_credit.low_dep_inc_tax_credit_min_income, parameters(period).gov.states.ar.tax.income.credits.low_income_credit.high_dep_inc_tax_credit_min_income ) + min_income = where(num_dependents<2,parameters(period).gov.states.ar.tax.income.credits.low_income_credit.low_dep_inc_tax_credit_min_income[filing_status], parameters(period).gov.states.ar.tax.income.credits.low_income_credit.high_dep_inc_tax_credit_min_income[filing_status]) phaseout_rate = where(num_dependents<2, parameters(period).gov.states.ar.tax.income.credits.low_income_credit.low_dep_inc_tax_credit_phaseout_rate[filing_status],parameters(period).gov.states.ar.tax.income.credits.low_income_credit.high_dep_inc_tax_credit_phaseout_rate[filing_status]) agi = tax_unit('ar_agi', period) From 79c4a07bffb9bcbfc78131b2ecade01862101de9 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 17 Nov 2023 09:36:10 -0700 Subject: [PATCH 046/194] working on fixing parameters --- .../high_income_reduction/high_income_reduction_amount.yaml | 6 +++--- .../states/ar/tax/income/credits/ar_low_income_credit.py | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml index 85ab577d3..2c6285ff1 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml @@ -1,4 +1,6 @@ description: Arkansas reduces the tax liability of taxpayers using the high income tax tables, stating at this amount +values: + 2022-01-01: 460 metadata: type: single_amount period: year @@ -7,6 +9,4 @@ metadata: name: high_income_reduction_amount reference: - title: Arkansas Code Title 26. Taxation § 26-51-201. Subsection a 10 - href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FACTS%2F2022S3%2FPublic%2FACT2.pdf - values: - 2022-01-01: 460 \ No newline at end of file + href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FACTS%2F2022S3%2FPublic%2FACT2.pdf \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 26fb42db1..cc64d519f 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -1,4 +1,5 @@ from fiscalsim_us.model_api import * +from numpy import round class ar_low_income_credit(Variable): From 74d63c6817fe755b590bf9007a3f84b482ce3536 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 17 Nov 2023 09:47:11 -0700 Subject: [PATCH 047/194] fixing variables --- .../gov/states/ar/tax/income/ar_high_income_reduction.py | 4 ++-- .../gov/states/ar/tax/income/credits/ar_low_income_credit.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index ae574d96f..f0fc9706d 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -51,8 +51,8 @@ def round_to_nearest_50(num): reduction_amount = full_reduction - phaseout_reduction # Ensure credit_amount does not go below 0 and that those who itemize do not take the credit - where(reduction_amount < 0, - reduction_amount = 0) + reduction_amount = where(reduction_amount < 0, + 0, reduction_amount) reduction_amount = round(reduction_amount,0) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index cc64d519f..1826c1f0a 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -64,7 +64,7 @@ def round_to_nearest_50(num): credit_amount -= phaseout_reduction # Ensure credit_amount does not go below 0 and that those who itemize do not take the credit - where(credit_amount < 0 | std_ded Date: Fri, 17 Nov 2023 10:10:16 -0700 Subject: [PATCH 048/194] testing to fix --- .../gov/states/ar/tax/income/ar_high_income_reduction.yaml | 4 ++-- .../gov/states/ar/tax/income/ar_high_income_reduction.py | 4 ++-- .../gov/states/ar/tax/income/credits/ar_low_income_credit.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml index 7c02a4066..46e5e42ab 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml @@ -12,7 +12,7 @@ - name: AR High Income Reduction if at threshold period: 2022 input: - ar_agi: 89_040 + ar_agi: 89_041 ar_standard_deduction: 4_540 ar_itemized_deductions: 1_000 filing_status: JOINT @@ -20,7 +20,7 @@ output: ar_high_income_reduction: 460 -- name: AR High Income Reduction if Below Threshold +- name: AR High Income Reduction if above threshold period: 2022 input: ar_agi: 90_040 diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index f0fc9706d..aa077286b 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -50,8 +50,8 @@ def round_to_nearest_50(num): # Reduce the credit amount based on the phaseout reduction reduction_amount = full_reduction - phaseout_reduction - # Ensure credit_amount does not go below 0 and that those who itemize do not take the credit - reduction_amount = where(reduction_amount < 0, + # Ensure credit_amount does not go below 0 + reduction_amount = where(reduction_amount < 0 or excess_income<0, 0, reduction_amount) reduction_amount = round(reduction_amount,0) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 1826c1f0a..cfc16146e 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -64,8 +64,8 @@ def round_to_nearest_50(num): credit_amount -= phaseout_reduction # Ensure credit_amount does not go below 0 and that those who itemize do not take the credit - where(credit_amount < 0 or std_ded Date: Fri, 17 Nov 2023 12:38:59 -0700 Subject: [PATCH 049/194] fixed yaml test --- .../states/ar/tax/income/credits/ar_low_income_credit.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml index d1a486944..bf6c7808f 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml @@ -54,11 +54,11 @@ period: 2022 input: state_code: AR - ar_taxable_income: 21_550 - tax_unit_dependents: 1 + ar_taxable_income: 23_730 + tax_unit_dependents: 2 filing_status: WIDOW ar_standard_deduction: 2_270 ar_itemized_deductions: 500 ar_agi: 26_000 output: - ar_low_income_credit: 13 + ar_low_income_credit: 62 From 26ff2ab99200f0fe5409cf1245e4fa9fa80fa29e Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 17 Nov 2023 13:24:01 -0700 Subject: [PATCH 050/194] testing --- .../states/ar/tax/income/credits/ar_low_income_credit.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index cfc16146e..154353b33 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -57,8 +57,9 @@ def round_to_nearest_50(num): credit_amount = tax_liability * credit_rate # Calculate the phaseout reduction for each $100 over min_income - excess_income = rounded_income - rounded_min_income - phaseout_reduction = excess_income // 100 * phaseout_rate + excess_income = rounded_income - min_income + phaseout_count = where(excess_income % 100 > 0, excess_income // 100 +1, excess_income // 100) + phaseout_reduction = phaseout_count * phaseout_rate # Reduce the credit amount based on the phaseout reduction credit_amount -= phaseout_reduction @@ -67,7 +68,7 @@ def round_to_nearest_50(num): credit_amount = where(credit_amount < 0 or std_ded Date: Fri, 17 Nov 2023 13:30:56 -0700 Subject: [PATCH 051/194] testing again --- .../gov/states/ar/tax/income/credits/ar_low_income_credit.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 154353b33..3428b85d1 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -57,7 +57,7 @@ def round_to_nearest_50(num): credit_amount = tax_liability * credit_rate # Calculate the phaseout reduction for each $100 over min_income - excess_income = rounded_income - min_income + excess_income = agi_less_ded - min_inc_less_ded phaseout_count = where(excess_income % 100 > 0, excess_income // 100 +1, excess_income // 100) phaseout_reduction = phaseout_count * phaseout_rate @@ -68,7 +68,7 @@ def round_to_nearest_50(num): credit_amount = where(credit_amount < 0 or std_ded Date: Fri, 17 Nov 2023 13:52:26 -0700 Subject: [PATCH 052/194] trying again --- .../gov/states/ar/tax/income/credits/ar_low_income_credit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 3428b85d1..6d4cc1abd 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -57,7 +57,7 @@ def round_to_nearest_50(num): credit_amount = tax_liability * credit_rate # Calculate the phaseout reduction for each $100 over min_income - excess_income = agi_less_ded - min_inc_less_ded + excess_income = rounded_income - rounded_min_income phaseout_count = where(excess_income % 100 > 0, excess_income // 100 +1, excess_income // 100) phaseout_reduction = phaseout_count * phaseout_rate From 28c9fd7d49801f9cb7f12a6e8dd02068f8060d05 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 17 Nov 2023 16:16:50 -0700 Subject: [PATCH 053/194] testing something --- .../low_income_credit/high_dep_inc_tax_credit_min_income.yaml | 2 +- .../gov/states/ar/tax/income/ar_high_income_reduction.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml index 6fa5dcd2a..3de8b975d 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml @@ -1,4 +1,4 @@ -description: This is the minimum amount at which an Arkansas Resident is not exempt from taxes, for each filing status, 1 or fewer dependents +description: This is the minimum amount at which an Arkansas Resident is not exempt from taxes, for each filing status, 2 or more dependents metadata: type: single_amount period: year diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index aa077286b..21d3240ab 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -51,8 +51,8 @@ def round_to_nearest_50(num): reduction_amount = full_reduction - phaseout_reduction # Ensure credit_amount does not go below 0 - reduction_amount = where(reduction_amount < 0 or excess_income<0, - 0, reduction_amount) + # reduction_amount = where(reduction_amount < 0 or excess_income<0, + # 0, reduction_amount) reduction_amount = round(reduction_amount,0) From 34a29a0c35959841b4ee466445b4ceeea3196e01 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 17 Nov 2023 16:33:48 -0700 Subject: [PATCH 054/194] Another reduction test --- .../gov/states/ar/tax/income/ar_high_income_reduction.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index 21d3240ab..ce8b72c3c 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -51,10 +51,10 @@ def round_to_nearest_50(num): reduction_amount = full_reduction - phaseout_reduction # Ensure credit_amount does not go below 0 - # reduction_amount = where(reduction_amount < 0 or excess_income<0, - # 0, reduction_amount) + reduction_amount = where(reduction_amount < 0 or excess_income <0 , + 0, reduction_amount) reduction_amount = round(reduction_amount,0) - return reduction_amount \ No newline at end of file + return phaseout_rate \ No newline at end of file From ebda0cd27578583e5a8aca4c1446415f37a3ea40 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 17 Nov 2023 16:39:56 -0700 Subject: [PATCH 055/194] fixing reduction test again --- .../gov/states/ar/tax/income/ar_high_income_reduction.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index ce8b72c3c..26738c904 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -57,4 +57,4 @@ def round_to_nearest_50(num): reduction_amount = round(reduction_amount,0) - return phaseout_rate \ No newline at end of file + return phaseout_reduction \ No newline at end of file From dc8971a93f3c4713cdc09c195c5a7d588c55b243 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 20 Nov 2023 11:43:05 -0700 Subject: [PATCH 056/194] trying to fix a test --- .../gov/states/ar/tax/income/ar_high_income_reduction.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index 26738c904..a37450961 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -57,4 +57,4 @@ def round_to_nearest_50(num): reduction_amount = round(reduction_amount,0) - return phaseout_reduction \ No newline at end of file + return reduction_amount \ No newline at end of file From 466b3ff79d9a87ef01122eb6c84317173d0e5ea9 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 20 Nov 2023 11:49:27 -0700 Subject: [PATCH 057/194] trying again --- .../gov/states/ar/tax/income/ar_high_income_reduction.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index a37450961..581c98d50 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -48,13 +48,12 @@ def round_to_nearest_50(num): phaseout_reduction = excess_income // 100 * phaseout_rate # Reduce the credit amount based on the phaseout reduction - reduction_amount = full_reduction - phaseout_reduction + reduction_amount = phaseout_reduction - full_reduction # Ensure credit_amount does not go below 0 reduction_amount = where(reduction_amount < 0 or excess_income <0 , 0, reduction_amount) reduction_amount = round(reduction_amount,0) - return reduction_amount \ No newline at end of file From f8f73c1a7c58fd0600e442c40b2dc0bc56f070aa Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 20 Nov 2023 12:12:10 -0700 Subject: [PATCH 058/194] fix for high income credit reduction --- .../gov/states/ar/tax/income/ar_high_income_reduction.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index 581c98d50..bcc315866 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -38,20 +38,19 @@ def round_to_nearest_50(num): deduction = where(itm_ded > std_ded, itm_ded, std_ded) agi_less_ded = agi - deduction - min_inc_less_ded = min_income - deduction rounded_income = round_to_nearest_50(agi_less_ded) - rounded_min_income = round_to_nearest_50(min_inc_less_ded) + rounded_min_income = round_to_nearest_50(min_income) # Calculate the phaseout reduction for each $100 over min_income excess_income = rounded_income - rounded_min_income - phaseout_reduction = excess_income // 100 * phaseout_rate + phaseout_reduction = where( excess_income % 1000 < 0, (excess_income // 1000) * phaseout_rate, (excess_income // 1000) * phaseout_rate +1) # Reduce the credit amount based on the phaseout reduction - reduction_amount = phaseout_reduction - full_reduction + reduction_amount = full_reduction - phaseout_reduction # Ensure credit_amount does not go below 0 - reduction_amount = where(reduction_amount < 0 or excess_income <0 , + reduction_amount = where(reduction_amount < 0 or excess_income < 0 , 0, reduction_amount) reduction_amount = round(reduction_amount,0) From a7d38dcce385587d8fd4cc0d2c2e8050b6ffcf8d Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 20 Nov 2023 12:18:52 -0700 Subject: [PATCH 059/194] another fix attempt --- .../gov/states/ar/tax/income/ar_high_income_reduction.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index bcc315866..e4034af46 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -44,7 +44,7 @@ def round_to_nearest_50(num): # Calculate the phaseout reduction for each $100 over min_income excess_income = rounded_income - rounded_min_income - phaseout_reduction = where( excess_income % 1000 < 0, (excess_income // 1000) * phaseout_rate, (excess_income // 1000) * phaseout_rate +1) + phaseout_reduction = where( excess_income % 1000 == 0, (excess_income // 1000) * phaseout_rate, ((excess_income // 1000) + 1) * phaseout_rate) # Reduce the credit amount based on the phaseout reduction reduction_amount = full_reduction - phaseout_reduction From c1b79496cf8d01d754f193d773a62ab6a1c5548a Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 20 Nov 2023 12:32:04 -0700 Subject: [PATCH 060/194] one more test --- .../gov/states/ar/tax/income/ar_high_income_reduction.yaml | 2 +- .../gov/states/ar/tax/income/ar_high_income_reduction.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml index 46e5e42ab..163bfc4c3 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml @@ -23,7 +23,7 @@ - name: AR High Income Reduction if above threshold period: 2022 input: - ar_agi: 90_040 + ar_agi: 90_041 ar_standard_deduction: 4_540 ar_itemized_deductions: 1_000 filing_status: JOINT diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index e4034af46..433e66a7f 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -44,7 +44,7 @@ def round_to_nearest_50(num): # Calculate the phaseout reduction for each $100 over min_income excess_income = rounded_income - rounded_min_income - phaseout_reduction = where( excess_income % 1000 == 0, (excess_income // 1000) * phaseout_rate, ((excess_income // 1000) + 1) * phaseout_rate) + phaseout_reduction = where( excess_income % 100 == 0, (excess_income // 100) * phaseout_rate, ((excess_income // 100) + 1) * phaseout_rate) # Reduce the credit amount based on the phaseout reduction reduction_amount = full_reduction - phaseout_reduction From 60fd2dc40a0ee5647aa74354b14bd40c9e907f52 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 20 Nov 2023 12:40:52 -0700 Subject: [PATCH 061/194] testing low income credit --- .../ar/tax/income/credits/ar_low_income_credit.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml index bf6c7808f..bfb7e9d22 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml @@ -62,3 +62,15 @@ ar_agi: 26_000 output: ar_low_income_credit: 62 +- name: Widow household with $21,000 taxable income - 2 dependents + period: 2022 + input: + state_code: AR + ar_taxable_income: 21_730 + tax_unit_dependents: 2 + filing_status: WIDOW + ar_standard_deduction: 2_270 + ar_itemized_deductions: 500 + ar_agi: 24_000 + output: + ar_low_income_credit: 242 From 71a15a88bc15f00987fb2d17c6f72cb72982ab11 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 20 Nov 2023 12:50:44 -0700 Subject: [PATCH 062/194] trying to fix the credit --- .../gov/states/ar/tax/income/credits/ar_low_income_credit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 6d4cc1abd..e49c1c685 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -47,7 +47,7 @@ def round_to_nearest_50(num): min_inc_less_ded = min_income - deduction rounded_income = round_to_nearest_50(agi_less_ded) - rounded_min_income = round_to_nearest_50(min_inc_less_ded) + rounded_min_income = round_to_nearest_50(min_income) # Calculate the tax liability on min_income tax_liability = tax_rate.calc(rounded_min_income) From ba7ce21f908a2eaaf9e21dd7db08ee03c281da35 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 20 Nov 2023 13:13:43 -0700 Subject: [PATCH 063/194] working of litc --- .../ar/tax/income/credits/ar_low_income_credit.yaml | 11 ++++++----- .../ar/tax/income/credits/ar_low_income_credit.py | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml index bfb7e9d22..1375fad29 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml @@ -28,10 +28,10 @@ period: 2022 input: state_code: AR - ar_taxable_income: 26_000 + ar_taxable_income: 26_460 tax_unit_dependents: 3 filing_status: JOINT - ar_standard_deduction: 4_450 + ar_standard_deduction: 4_540 ar_itemized_deductions: 5_000 ar_agi: 31_000 output: @@ -41,14 +41,14 @@ period: 2022 input: state_code: AR - ar_taxable_income: 26_460 + ar_taxable_income: 21,661 tax_unit_dependents: 3 filing_status: JOINT ar_standard_deduction: 4_540 ar_itemized_deductions: 500 - ar_agi: 31_000 + ar_agi: 26_201 output: - ar_low_income_credit: 149 + ar_low_income_credit: 65 - name: Widow household with $26,000 taxable income - 2 dependents period: 2022 @@ -62,6 +62,7 @@ ar_agi: 26_000 output: ar_low_income_credit: 62 + - name: Widow household with $21,000 taxable income - 2 dependents period: 2022 input: diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index e49c1c685..6d4cc1abd 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -47,7 +47,7 @@ def round_to_nearest_50(num): min_inc_less_ded = min_income - deduction rounded_income = round_to_nearest_50(agi_less_ded) - rounded_min_income = round_to_nearest_50(min_income) + rounded_min_income = round_to_nearest_50(min_inc_less_ded) # Calculate the tax liability on min_income tax_liability = tax_rate.calc(rounded_min_income) From c11f8d5bd39252b4476b026b52052c7881c01f9b Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 20 Nov 2023 16:40:07 -0700 Subject: [PATCH 064/194] working on litc --- .../income/credits/ar_low_income_credit.yaml | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml index 1375fad29..ae977616d 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml @@ -41,14 +41,14 @@ period: 2022 input: state_code: AR - ar_taxable_income: 21,661 + ar_taxable_income: 26_460 tax_unit_dependents: 3 filing_status: JOINT ar_standard_deduction: 4_540 ar_itemized_deductions: 500 - ar_agi: 26_201 + ar_agi: 31_000 output: - ar_low_income_credit: 65 + ar_low_income_credit: 149 - name: Widow household with $26,000 taxable income - 2 dependents period: 2022 @@ -62,7 +62,7 @@ ar_agi: 26_000 output: ar_low_income_credit: 62 - + - name: Widow household with $21,000 taxable income - 2 dependents period: 2022 input: @@ -75,3 +75,16 @@ ar_agi: 24_000 output: ar_low_income_credit: 242 + +- name: Joint household with $21,000 taxable income - 1 dependents + period: 2022 + input: + state_code: AR + ar_taxable_income: 18_310 + tax_unit_dependents: 1 + filing_status: JOINT + ar_standard_deduction: 4_540 + ar_itemized_deductions: 500 + ar_agi: 22_850 + output: + ar_low_income_credit: 268 \ No newline at end of file From 08d7d37ecdfc527553d26a946436ac242fcae0ea Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 27 Nov 2023 11:35:14 -0700 Subject: [PATCH 065/194] added personal credit test --- .../income/credits/ar_personal_credits.yaml | 80 +++++++++++++++++++ .../tax/income/credits/ar_personal_credits.py | 7 +- .../tax/income/credits/ar_qual_dependents.py | 12 +++ .../income/credits/ar_retirement_income.py | 12 +++ 4 files changed, 107 insertions(+), 4 deletions(-) create mode 100644 fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_personal_credits.yaml create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_qual_dependents.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_retirement_income.py diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_personal_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_personal_credits.yaml new file mode 100644 index 000000000..402fda636 --- /dev/null +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_personal_credits.yaml @@ -0,0 +1,80 @@ +- name: Single household, below 65, no dependents or disabilities + period: 2022 + input: + state_code: AR + filing_status: SINGLE + blind_head: 0 + blind_spouse: 0 + age_head: 50 + age_spouse: 0 + ar_retirement_income: 0 + deaf_head: 0 + deaf_spouse: 0 + tax_unit_dependents: 0 + ar_qual_dependents: 0 + output: + ar_personal_credits: 29 +- name: Joint household, below 65, 1 dependent, no disabilities + period: 2022 + input: + state_code: AR + filing_status: JOINT + blind_head: 0 + blind_spouse: 0 + age_head: 50 + age_spouse: 56 + ar_retirement_income: 0 + deaf_head: 0 + deaf_spouse: 0 + tax_unit_dependents: 1 + ar_qual_dependents: 0 + output: + ar_personal_credits: 87 +- name: Joint household, above 65, 0 dependents, no disabilities, no retirement income + period: 2022 + input: + state_code: AR + filing_status: JOINT + blind_head: 0 + blind_spouse: 0 + age_head: 70 + age_spouse: 87 + ar_retirement_income: 0 + deaf_head: 0 + deaf_spouse: 0 + tax_unit_dependents: 0 + ar_qual_dependents: 0 + output: + ar_personal_credits: 174 +- name: Joint household, above 65, 0 dependents, no disabilities, with retirement income + period: 2022 + input: + state_code: AR + filing_status: JOINT + blind_head: 0 + blind_spouse: 0 + age_head: 70 + age_spouse: 87 + ar_retirement_income: 40_000 + deaf_head: 0 + deaf_spouse: 0 + tax_unit_dependents: 0 + ar_qual_dependents: 0 + output: + ar_personal_credits: 116 +- name: Joint household, below 65, 2 dependents, 1 with disabilities, spouse is blind and deaf + period: 2022 + input: + state_code: AR + filing_status: JOINT + blind_head: 0 + blind_spouse: 1 + age_head: 42 + age_spouse: 39 + ar_retirement_income: 0 + deaf_head: 0 + deaf_spouse: 1 + tax_unit_dependents: 2 + ar_qual_dependents: 1 + output: + ar_personal_credits: 645 \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py index b5a73fc82..5962d47b9 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py @@ -27,7 +27,7 @@ def formula(tax_unit, period, parameters): aged_spouse = where(tax_unit("age_spouse", period).astype(int)>age_threshold,1,0) aged_credit = (aged_head + aged_spouse) * personal_credit_amount - retirement_income = parameters(period).gov.states.ar.tax.income.retirement_sources + retirement_income = tax_unit('ar_retirement_income', period) aged_special_head = where(aged_head == 1 and retirement_income > 0, 1, 0) aged_special_spouse = where(aged_spouse == 1 and retirement_income > 0, 1, 0) @@ -40,8 +40,7 @@ def formula(tax_unit, period, parameters): deaf_credit = (deaf_head + deaf_spouse) * personal_credit_amount - #Need to add "surviving spouse" status to this too - hoh_status = filing_status.possible_values.HEAD_OF_HOUSEHOLD + hoh_status = filing_status.possible_values.HEAD_OF_HOUSEHOLD or filing_status.possible_values.WIDOW hoh_credit = where(filing_status == hoh_status, 1, 0) * personal_credit_amount @@ -56,7 +55,7 @@ def formula(tax_unit, period, parameters): dependent_credit = dependents *dependent_credit_amount - qual_dependents = tax_unit("placeholder", period) + qual_dependents = tax_unit("ar_qual_dependents", period) qual_dependent_credit_amount = parameters(period).gov.states.ar.tax.income.credits.personal.qual_dependents qual_dependent_credit = qual_dependent_credit_amount * qual_dependents diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_qual_dependents.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_qual_dependents.py new file mode 100644 index 000000000..088e49dfe --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_qual_dependents.py @@ -0,0 +1,12 @@ +from fiscalsim_us.model_api import * + + +class ar_qual_dependents(Variable): + "Line 7C of form AR1000F" + value_type = float + entity = TaxUnit + label = "Arkansas Qualifying Dependents" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf" + defined_for = StateCode.AR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_retirement_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_retirement_income.py new file mode 100644 index 000000000..3c6fbe142 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_retirement_income.py @@ -0,0 +1,12 @@ +from fiscalsim_us.model_api import * + + +class ar_retirement_income(Variable): + "If zero, mark '65 Special' Line 7A of form AR1000F" + value_type = float + entity = TaxUnit + label = "Arkansas retirement_income" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf" + defined_for = StateCode.AR \ No newline at end of file From 821fc857ecbaea2142a3c59bc6bf41439c5faaba Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 27 Nov 2023 14:58:11 -0700 Subject: [PATCH 066/194] fixing personal credit tests --- .../gov/states/ar/tax/income/credits/ar_personal_credits.yaml | 2 +- .../gov/states/ar/tax/income/credits/ar_personal_credits.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_personal_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_personal_credits.yaml index 402fda636..cef0b16e9 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_personal_credits.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_personal_credits.yaml @@ -77,4 +77,4 @@ tax_unit_dependents: 2 ar_qual_dependents: 1 output: - ar_personal_credits: 645 \ No newline at end of file + ar_personal_credits: 674 \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py index 5962d47b9..18db5a168 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py @@ -28,8 +28,8 @@ def formula(tax_unit, period, parameters): aged_credit = (aged_head + aged_spouse) * personal_credit_amount retirement_income = tax_unit('ar_retirement_income', period) - aged_special_head = where(aged_head == 1 and retirement_income > 0, 1, 0) - aged_special_spouse = where(aged_spouse == 1 and retirement_income > 0, 1, 0) + aged_special_head = where(aged_head == 1 and retirement_income < 0, 1, 0) + aged_special_spouse = where(aged_spouse == 1 and retirement_income < 0, 1, 0) aged_special_credit = (aged_special_head + aged_special_spouse) * personal_credit_amount From a5174b08438b1054960818aea33069f9bd0b4c80 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 28 Nov 2023 09:20:27 -0700 Subject: [PATCH 067/194] fixing rates --- .../parameters/gov/states/ar/tax/income/rates/rates.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml index 851013c6a..ca4378f02 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml @@ -18,22 +18,22 @@ brackets: 2021-01-01: 0 - threshold: 2021-01-01: 4_800 - 2022-01-01: 5_100 + 2022-01-01: 5_000 rate: 2021-01-01: 0.02 - threshold: 2021-01-01: 9_500 - 2022-01-01: 10_300 + 2022-01-01: 10_000 rate: 2021-01-01: 0.03 - threshold: 2021-01-01: 14_300 - 2022-01-01: 14_700 + 2022-01-01: 14_300 rate: 2021-01-01: 0.034 - threshold: 2021-01-01: 23_600 - 2022-01-01: 24_300 + 2022-01-01: 23_600 rate: 2021-01-01: 0.05 2022-01-01: 0.049 From 59a9c3bc9b2752f2689f50c6d7157bedc1b374bf Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 28 Nov 2023 16:24:28 -0700 Subject: [PATCH 068/194] lump sum test 1 --- .../ar/tax/income/ar_lump_sum_dist_tax.yaml | 24 +++++++++++++++++++ .../income/credits/ar_personal_credits.yaml | 15 ++++++++---- ...income.py => ar_head_retirement_income.py} | 7 ++++-- .../tax/income/credits/ar_personal_credits.py | 7 +++--- .../credits/ar_spouse_retirement_income.py | 15 ++++++++++++ .../lump_sum_dist/ar_lump_sum_dist_tax.py | 2 +- 6 files changed, 59 insertions(+), 11 deletions(-) create mode 100644 fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml rename fiscalsim_us/variables/gov/states/ar/tax/income/credits/{ar_retirement_income.py => ar_head_retirement_income.py} (65%) create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_spouse_retirement_income.py diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml new file mode 100644 index 000000000..96ca9eec6 --- /dev/null +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml @@ -0,0 +1,24 @@ +- name: Distribution income of 1000, actuarial value of 100,000 + period: 2022 + input: + state_code: AR + ar_distribution_income: 1_000 + ar_actuarial_value: 100_000 + output: + ar_lump_sum_dist_tax: 140 +- name: Distribution income of 75000, actuarial value of 2,000,000 + period: 2022 + input: + state_code: AR + ar_distribution_income: 1_000 + ar_actuarial_value: 2_000_000 + output: + ar_lump_sum_dist_tax: 22_620 +- name: Distribution income of 80000, actuarial value of 0 + period: 2022 + input: + state_code: AR + ar_distribution_income: 80_000 + ar_actuarial_value: 0 + output: + ar_lump_sum_dist_tax: 580 diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_personal_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_personal_credits.yaml index cef0b16e9..460509d85 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_personal_credits.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_personal_credits.yaml @@ -7,7 +7,8 @@ blind_spouse: 0 age_head: 50 age_spouse: 0 - ar_retirement_income: 0 + ar_head_retirement_income: 0 + ar_spouse_retirement_income: 0 deaf_head: 0 deaf_spouse: 0 tax_unit_dependents: 0 @@ -23,7 +24,8 @@ blind_spouse: 0 age_head: 50 age_spouse: 56 - ar_retirement_income: 0 + ar_head_retirement_income: 0 + ar_spouse_retirement_income: 0 deaf_head: 0 deaf_spouse: 0 tax_unit_dependents: 1 @@ -39,7 +41,8 @@ blind_spouse: 0 age_head: 70 age_spouse: 87 - ar_retirement_income: 0 + ar_head_retirement_income: 0 + ar_spouse_retirement_income: 0 deaf_head: 0 deaf_spouse: 0 tax_unit_dependents: 0 @@ -55,7 +58,8 @@ blind_spouse: 0 age_head: 70 age_spouse: 87 - ar_retirement_income: 40_000 + ar_head_retirement_income: 20_000 + ar_spouse_retirement_income: 20_000 deaf_head: 0 deaf_spouse: 0 tax_unit_dependents: 0 @@ -71,7 +75,8 @@ blind_spouse: 1 age_head: 42 age_spouse: 39 - ar_retirement_income: 0 + ar_head_retirement_income: 0 + ar_spouse_retirement_income: 0 deaf_head: 0 deaf_spouse: 1 tax_unit_dependents: 2 diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_retirement_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_head_retirement_income.py similarity index 65% rename from fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_retirement_income.py rename to fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_head_retirement_income.py index 3c6fbe142..2432d3c92 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_retirement_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_head_retirement_income.py @@ -1,8 +1,11 @@ from fiscalsim_us.model_api import * -class ar_retirement_income(Variable): - "If zero, mark '65 Special' Line 7A of form AR1000F" +class ar_head_retirement_income(Variable): + """If zero, mark '65 Special' Line 7A of form AR1000F + - taxable_pension_income + - qualified_ira_distributions + """ value_type = float entity = TaxUnit label = "Arkansas retirement_income" diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py index 18db5a168..72d461a9b 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py @@ -27,9 +27,10 @@ def formula(tax_unit, period, parameters): aged_spouse = where(tax_unit("age_spouse", period).astype(int)>age_threshold,1,0) aged_credit = (aged_head + aged_spouse) * personal_credit_amount - retirement_income = tax_unit('ar_retirement_income', period) - aged_special_head = where(aged_head == 1 and retirement_income < 0, 1, 0) - aged_special_spouse = where(aged_spouse == 1 and retirement_income < 0, 1, 0) + head_retirement_income = tax_unit('ar_head_retirement_income', period) + spouse_retirement_income = tax_unit('ar_spouse_retirement_income', period) + aged_special_head = where(aged_head == 1 and head_retirement_income <= 0, 1, 0) + aged_special_spouse = where(aged_spouse == 1 and spouse_retirement_income <= 0, 1, 0) aged_special_credit = (aged_special_head + aged_special_spouse) * personal_credit_amount diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_spouse_retirement_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_spouse_retirement_income.py new file mode 100644 index 000000000..076fa2f08 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_spouse_retirement_income.py @@ -0,0 +1,15 @@ +from fiscalsim_us.model_api import * + + +class ar_spouse_retirement_income(Variable): + """ Line 18B, If zero, mark '65 Special' Line 7A of form AR1000F + - taxable_pension_income + - qualified_ira_distributions + """ + value_type = float + entity = TaxUnit + label = "Arkansas Spouse retirement income" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf" + defined_for = StateCode.AR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py index 9d165138b..25f4704b1 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py @@ -17,7 +17,7 @@ def formula(tax_unit, period, parameters): # Pull in distribution amount here income = tax_unit('ar_distribution_income', period) - actuarial_value = tax_unit('ar_actualrial_value', period) + actuarial_value = tax_unit('ar_actuarial_value', period) taxable_dist = income + actuarial_value line_4_max = p.min_allowance_multiple1_max From 153b67dd1b2bfbc9f8e78178ac70af7aceb73075 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 30 Nov 2023 09:44:04 -0700 Subject: [PATCH 069/194] fixing rates once again --- .../gov/states/ar/tax/income/rates/high_income_rates.yaml | 4 ++-- .../parameters/gov/states/ar/tax/income/rates/rates.yaml | 8 ++++---- .../states/ar/tax/income/rates/regular_bracket_max.yaml | 2 +- .../ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py | 2 ++ 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_income_rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_income_rates.yaml index 8349330ad..e6c98ae4a 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_income_rates.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_income_rates.yaml @@ -17,10 +17,10 @@ brackets: rate: 2022-01-01: 0.02 - threshold: - 2022-01-01: 4_301 + 2022-01-01: 4_401 rate: 2022-01-01: 0.04 - threshold: - 2022-01-01: 8_501 + 2022-01-01: 8_801 rate: 2022-01-01: 0.049 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml index ca4378f02..851013c6a 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml @@ -18,22 +18,22 @@ brackets: 2021-01-01: 0 - threshold: 2021-01-01: 4_800 - 2022-01-01: 5_000 + 2022-01-01: 5_100 rate: 2021-01-01: 0.02 - threshold: 2021-01-01: 9_500 - 2022-01-01: 10_000 + 2022-01-01: 10_300 rate: 2021-01-01: 0.03 - threshold: 2021-01-01: 14_300 - 2022-01-01: 14_300 + 2022-01-01: 14_700 rate: 2021-01-01: 0.034 - threshold: 2021-01-01: 23_600 - 2022-01-01: 23_600 + 2022-01-01: 24_300 rate: 2021-01-01: 0.05 2022-01-01: 0.049 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml index a3383f530..67e35b418 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml @@ -1,6 +1,6 @@ description: Amount over which a taxpayer must use the alternative tax table values: - 2022-01-01: 84_500 + 2022-01-01: 87_000 metadata: type: single_amount reference: diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py index 25f4704b1..ab1997cbb 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py @@ -14,6 +14,8 @@ class ar_lump_sum_dist_tax(Variable): def formula(tax_unit, period, parameters): p = parameters(period).gov.states.ar.tax.income.lump_sum_dist + taxable_income = tax_unit('ar_taxable_income', period) + high_income_threshold = parameters(period).gov.states.ar.tax.income # Pull in distribution amount here income = tax_unit('ar_distribution_income', period) From b44ec94af26d9c1b54aefbb50f725ba17b9573c9 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 30 Nov 2023 09:58:26 -0700 Subject: [PATCH 070/194] working on hir --- .../gov/states/ar/tax/income/ar_high_income_reduction.yaml | 4 ++-- .../income/ar_income_tax_before_non_refundable_credits.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml index 163bfc4c3..e90973f6d 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml @@ -12,7 +12,7 @@ - name: AR High Income Reduction if at threshold period: 2022 input: - ar_agi: 89_041 + ar_agi: 91_541 ar_standard_deduction: 4_540 ar_itemized_deductions: 1_000 filing_status: JOINT @@ -23,7 +23,7 @@ - name: AR High Income Reduction if above threshold period: 2022 input: - ar_agi: 90_041 + ar_agi: 94_581 ar_standard_deduction: 4_540 ar_itemized_deductions: 1_000 filing_status: JOINT diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml index 0f99cd3bb..de1692c26 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml @@ -65,7 +65,7 @@ ar_taxable_income: 88_000 filing_status: JOINT ar_low_income_credit: 0 - ar_high_income_reduction: 120 + ar_high_income_reduction: 370 ar_lump_sum_dist_tax: 0 ar_additional_ira_tax: 0 state_code: AR @@ -80,7 +80,7 @@ ar_taxable_income: 89_000 filing_status: JOINT ar_low_income_credit: 0 - ar_high_income_reduction: 20 + ar_high_income_reduction: 270 ar_lump_sum_dist_tax: 0 ar_additional_ira_tax: 0 state_code: AR From bb1d4028b776a796b3a97d006b70a226185976fc Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 30 Nov 2023 10:13:30 -0700 Subject: [PATCH 071/194] working on tests --- .../gov/states/ar/tax/income/ar_high_income_reduction.yaml | 2 +- .../tax/income/ar_income_tax_before_non_refundable_credits.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml index e90973f6d..e0bc632c8 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml @@ -29,4 +29,4 @@ filing_status: JOINT state_code: AR output: - ar_high_income_reduction: 360 \ No newline at end of file + ar_high_income_reduction: 160 \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index babe18fbb..b6b9cd22d 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -28,7 +28,7 @@ def round_to_nearest_50(num): last_two_digits = num % 100 # Determine the closest ending in "50" - if last_two_digits <= 50 and last_two_digits >= 1: + if last_two_digits <= 50: rounded_income = nearest_multiple_of_100 + 50 return rounded_income else: From 53f9810c8b0b877fedcc13df63c5669e3712fb7f Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 30 Nov 2023 12:55:23 -0700 Subject: [PATCH 072/194] working on this more --- .../gov/states/ar/tax/income/ar_high_income_reduction.py | 2 +- .../tax/income/ar_income_tax_before_non_refundable_credits.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index 433e66a7f..5dd258a18 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -26,7 +26,7 @@ def round_to_nearest_50(num): last_two_digits = num % 100 # Determine the closest ending in "50" - if last_two_digits <= 50: + if last_two_digits <= 50 and last_two_digits >= 1: rounded_income = nearest_multiple_of_100 + 50 return rounded_income else: diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index b6b9cd22d..babe18fbb 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -28,7 +28,7 @@ def round_to_nearest_50(num): last_two_digits = num % 100 # Determine the closest ending in "50" - if last_two_digits <= 50: + if last_two_digits <= 50 and last_two_digits >= 1: rounded_income = nearest_multiple_of_100 + 50 return rounded_income else: From ba2525d61d9872600cfa1dc7ce854660a418d517 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 30 Nov 2023 13:44:29 -0700 Subject: [PATCH 073/194] testing something --- .../tax/income/ar_income_tax_before_non_refundable_credits.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index babe18fbb..7e8bb1be3 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -16,7 +16,7 @@ def formula(tax_unit, period, parameters): p = parameters(period).gov.states.ar.tax.income.rates taxable_income = tax_unit("ar_taxable_income", period) - high_income_threshold = p.regular_bracket_max + high_income_threshold = p.regular_bracket_max +1 litc = tax_unit('ar_low_income_credit', period) high_income_reduction = tax_unit('ar_high_income_reduction', period) From 622b8ace5fb6ae6d9553928bd0445d66ae314ef8 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 30 Nov 2023 15:32:01 -0700 Subject: [PATCH 074/194] adding a new test to try a theory --- ..._income_tax_before_non_refundable_credits.yaml | 15 +++++++++++++++ ...ar_income_tax_before_non_refundable_credits.py | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml index de1692c26..287378c50 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml @@ -88,6 +88,21 @@ # ar_income_tax_before_non_refundable_credits: 3_911 +- name: AR income tax rates - high income w/ reduction, joint, 0 dependents, $93540 agi, + period: 2022 + absolute_error_margin: 1 + input: + ar_taxable_income: 87_024 + filing_status: JOINT + ar_low_income_credit: 0 + ar_high_income_reduction: 460 + ar_lump_sum_dist_tax: 0 + ar_additional_ira_tax: 0 + state_code: AR + output: + # + ar_income_tax_before_non_refundable_credits: 3_638 + - name: AR income tax rates - high income w/out reduction, joint, 0 dependents, $94357 agi, period: 2022 absolute_error_margin: 1 diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index 7e8bb1be3..a78c12a65 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -39,7 +39,7 @@ def round_to_nearest_50(num): tax = round(where( - taxable_income < high_income_threshold, + taxable_income <= high_income_threshold, p.rates.calc(rounded_taxable_income), p.high_income_rates.calc(rounded_taxable_income) ) - litc - high_income_reduction,0) From aec95e037295bd82325a12f06b9e21d184fb4843 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 4 Dec 2023 12:07:52 -0700 Subject: [PATCH 075/194] working on lump sum dist --- .../gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml | 2 +- .../tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml index 96ca9eec6..8b01646cc 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml @@ -6,7 +6,7 @@ ar_actuarial_value: 100_000 output: ar_lump_sum_dist_tax: 140 -- name: Distribution income of 75000, actuarial value of 2,000,000 +- name: Distribution income of 1000, actuarial value of 2,000,000 period: 2022 input: state_code: AR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py index ab1997cbb..37f878c11 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py @@ -14,10 +14,8 @@ class ar_lump_sum_dist_tax(Variable): def formula(tax_unit, period, parameters): p = parameters(period).gov.states.ar.tax.income.lump_sum_dist - taxable_income = tax_unit('ar_taxable_income', period) high_income_threshold = parameters(period).gov.states.ar.tax.income - # Pull in distribution amount here income = tax_unit('ar_distribution_income', period) actuarial_value = tax_unit('ar_actuarial_value', period) taxable_dist = income + actuarial_value @@ -43,9 +41,9 @@ def formula(tax_unit, period, parameters): line_9 = line_8 * line_9_multiple - rate = where(taxable_income < high_income_threshold, parameters(period).gov.states.ar.tax.income.rates.rates, parameters(period).gov.states.ar.tax.income.rates.high_income_rates) + rate_line_9 = where(line_9 < high_income_threshold, parameters(period).gov.states.ar.tax.income.rates.rates, parameters(period).gov.states.ar.tax.income.rates.high_income_rates) - line_9_tax = rate.calc(line_9) + line_9_tax = rate_line_9.calc(line_9) line_11_multiple = p.line11_multiple @@ -61,7 +59,9 @@ def formula(tax_unit, period, parameters): line_15 = line_14 * line_15_multiple - line_15_tax = rate.calc(line_15) + rate_line_15 = where(line_15 < high_income_threshold, parameters(period).gov.states.ar.tax.income.rates.rates, parameters(period).gov.states.ar.tax.income.rates.high_income_rates) + + line_15_tax = rate_line_15.calc(line_15) line_17_multiple = p.Line17_multiple From f23ac87048085181ce148a29e8316d01d4de8870 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 4 Dec 2023 16:53:19 -0700 Subject: [PATCH 076/194] trying to fix low income credit --- .../states/ar/tax/income/credits/ar_low_income_credit.yaml | 4 ++-- .../income/ar_income_tax_before_non_refundable_credits.py | 4 ---- .../states/ar/tax/income/credits/ar_low_income_credit.py | 7 +++---- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml index ae977616d..a19dd17a2 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml @@ -63,7 +63,7 @@ output: ar_low_income_credit: 62 -- name: Widow household with $21,000 taxable income - 2 dependents +- name: Widow household with $21,730 taxable income - 2 dependents period: 2022 input: state_code: AR @@ -76,7 +76,7 @@ output: ar_low_income_credit: 242 -- name: Joint household with $21,000 taxable income - 1 dependents +- name: Joint household with $18,310 taxable income - 1 dependents period: 2022 input: state_code: AR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index a78c12a65..3c433af3d 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -43,10 +43,6 @@ def round_to_nearest_50(num): p.rates.calc(rounded_taxable_income), p.high_income_rates.calc(rounded_taxable_income) ) - litc - high_income_reduction,0) - - # rate = where(taxable_income < high_income_threshold, p.rates, p.high_income_rates) - - # tax = rate.calc(rounded_taxable_income) - litc - high_income_reduction lump_sum_dist_tax = tax_unit('ar_lump_sum_dist_tax', period) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 6d4cc1abd..27d2c3299 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -46,13 +46,12 @@ def round_to_nearest_50(num): agi_less_ded = agi - deduction min_inc_less_ded = min_income - deduction - rounded_income = round_to_nearest_50(agi_less_ded) - rounded_min_income = round_to_nearest_50(min_inc_less_ded) + rounded_income = round_to_nearest_50(agi) + rounded_min_income = round_to_nearest_50(min_income) # Calculate the tax liability on min_income tax_liability = tax_rate.calc(rounded_min_income) - # Calculate the credit amount credit_amount = tax_liability * credit_rate @@ -64,7 +63,7 @@ def round_to_nearest_50(num): # Reduce the credit amount based on the phaseout reduction credit_amount -= phaseout_reduction - # Ensure credit_amount does not go below 0 and that those who itemize do not take the credit + # Ensure credit_amount does not go below 0 and that those who itemize or are married filing separately do not take the credit credit_amount = where(credit_amount < 0 or std_ded Date: Tue, 5 Dec 2023 09:51:48 -0700 Subject: [PATCH 077/194] temporary print statements for diagnosis --- .../ar/tax/income/credits/ar_low_income_credit.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 27d2c3299..381aef183 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -46,12 +46,17 @@ def round_to_nearest_50(num): agi_less_ded = agi - deduction min_inc_less_ded = min_income - deduction - rounded_income = round_to_nearest_50(agi) - rounded_min_income = round_to_nearest_50(min_income) + rounded_income = round_to_nearest_50(agi_less_ded) + rounded_min_income = round_to_nearest_50(min_inc_less_ded) + + print('rounded income is:', rounded_income) + print('Rounded min income is: ', rounded_min_income) # Calculate the tax liability on min_income tax_liability = tax_rate.calc(rounded_min_income) + print('Tax liability of minimum: ',tax_liability ) + # Calculate the credit amount credit_amount = tax_liability * credit_rate @@ -60,6 +65,7 @@ def round_to_nearest_50(num): phaseout_count = where(excess_income % 100 > 0, excess_income // 100 +1, excess_income // 100) phaseout_reduction = phaseout_count * phaseout_rate + print('Phaseout reduction is: ', phaseout_reduction) # Reduce the credit amount based on the phaseout reduction credit_amount -= phaseout_reduction @@ -68,6 +74,8 @@ def round_to_nearest_50(num): 0, credit_amount) credit_amount = round(credit_amount, 0) + + print('credit amount is', credit_amount) return credit_amount \ No newline at end of file From 5c6a004b54fe6184aab991c618eda52abdba6f88 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 5 Dec 2023 10:00:09 -0700 Subject: [PATCH 078/194] adding 1 more print statement --- .../gov/states/ar/tax/income/credits/ar_low_income_credit.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 381aef183..4062d108d 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -60,6 +60,8 @@ def round_to_nearest_50(num): # Calculate the credit amount credit_amount = tax_liability * credit_rate + print("highest credit amount is: ", credit_amount) + # Calculate the phaseout reduction for each $100 over min_income excess_income = rounded_income - rounded_min_income phaseout_count = where(excess_income % 100 > 0, excess_income // 100 +1, excess_income // 100) From 2ffef05f2cadecaa60a899692d2b5f88004e3e3b Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 5 Dec 2023 10:05:23 -0700 Subject: [PATCH 079/194] possible fix --- .../gov/states/ar/tax/income/credits/ar_low_income_credit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 4062d108d..42a7e8d11 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -53,7 +53,7 @@ def round_to_nearest_50(num): print('Rounded min income is: ', rounded_min_income) # Calculate the tax liability on min_income - tax_liability = tax_rate.calc(rounded_min_income) + tax_liability = round(tax_rate.calc(rounded_min_income),0) print('Tax liability of minimum: ',tax_liability ) From d31185552c6ebc4b0aec6a0e42846149db3405e5 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 5 Dec 2023 13:45:43 -0700 Subject: [PATCH 080/194] working on tests --- .../states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py index 37f878c11..30a11fb2d 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py @@ -14,7 +14,7 @@ class ar_lump_sum_dist_tax(Variable): def formula(tax_unit, period, parameters): p = parameters(period).gov.states.ar.tax.income.lump_sum_dist - high_income_threshold = parameters(period).gov.states.ar.tax.income + high_income_threshold = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max income = tax_unit('ar_distribution_income', period) actuarial_value = tax_unit('ar_actuarial_value', period) From 2f9bf56787a00afbaec6648360bf1eee56a39e09 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 5 Dec 2023 13:54:55 -0700 Subject: [PATCH 081/194] Working --- .../gov/states/ar/tax/income/credits/ar_low_income_credit.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 42a7e8d11..2d7432382 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -46,8 +46,8 @@ def round_to_nearest_50(num): agi_less_ded = agi - deduction min_inc_less_ded = min_income - deduction - rounded_income = round_to_nearest_50(agi_less_ded) - rounded_min_income = round_to_nearest_50(min_inc_less_ded) + rounded_income = round_to_nearest_50(agi) + rounded_min_income = round_to_nearest_50(min_income) print('rounded income is:', rounded_income) print('Rounded min income is: ', rounded_min_income) From 83b6d8ec106e6faab78e86851b947cf9b1f964e2 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 5 Dec 2023 14:05:10 -0700 Subject: [PATCH 082/194] trying again --- .../gov/states/ar/tax/income/credits/ar_low_income_credit.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 2d7432382..1dba48552 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -48,12 +48,13 @@ def round_to_nearest_50(num): rounded_income = round_to_nearest_50(agi) rounded_min_income = round_to_nearest_50(min_income) + rounded_min_income_less_ded = round_to_nearest_50(min_inc_less_ded) print('rounded income is:', rounded_income) print('Rounded min income is: ', rounded_min_income) # Calculate the tax liability on min_income - tax_liability = round(tax_rate.calc(rounded_min_income),0) + tax_liability = round(tax_rate.calc(rounded_min_income_less_ded),0) print('Tax liability of minimum: ',tax_liability ) From 0191b0244a0c766a9e879363d379d18c01798903 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 5 Dec 2023 14:11:41 -0700 Subject: [PATCH 083/194] testing --- .../gov/states/ar/tax/income/credits/ar_low_income_credit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 1dba48552..abb47c106 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -54,7 +54,7 @@ def round_to_nearest_50(num): print('Rounded min income is: ', rounded_min_income) # Calculate the tax liability on min_income - tax_liability = round(tax_rate.calc(rounded_min_income_less_ded),0) + tax_liability = tax_rate.calc(rounded_min_income_less_ded) print('Tax liability of minimum: ',tax_liability ) From dcad8fd2fde56aac38c411328b9e43ece75685e2 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 5 Dec 2023 14:21:16 -0700 Subject: [PATCH 084/194] trying again --- .../gov/states/ar/tax/income/credits/ar_low_income_credit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index abb47c106..7a19e1f8d 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -65,7 +65,7 @@ def round_to_nearest_50(num): # Calculate the phaseout reduction for each $100 over min_income excess_income = rounded_income - rounded_min_income - phaseout_count = where(excess_income % 100 > 0, excess_income // 100 +1, excess_income // 100) + phaseout_count = where(excess_income % 100 > 0, excess_income // 100, excess_income // 100) phaseout_reduction = phaseout_count * phaseout_rate print('Phaseout reduction is: ', phaseout_reduction) From d6a7b3e5e11113b145f397644ba6c862c0a13d4d Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 5 Dec 2023 14:27:49 -0700 Subject: [PATCH 085/194] Another test --- .../gov/states/ar/tax/income/credits/ar_low_income_credit.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 7a19e1f8d..1dba48552 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -54,7 +54,7 @@ def round_to_nearest_50(num): print('Rounded min income is: ', rounded_min_income) # Calculate the tax liability on min_income - tax_liability = tax_rate.calc(rounded_min_income_less_ded) + tax_liability = round(tax_rate.calc(rounded_min_income_less_ded),0) print('Tax liability of minimum: ',tax_liability ) @@ -65,7 +65,7 @@ def round_to_nearest_50(num): # Calculate the phaseout reduction for each $100 over min_income excess_income = rounded_income - rounded_min_income - phaseout_count = where(excess_income % 100 > 0, excess_income // 100, excess_income // 100) + phaseout_count = where(excess_income % 100 > 0, excess_income // 100 +1, excess_income // 100) phaseout_reduction = phaseout_count * phaseout_rate print('Phaseout reduction is: ', phaseout_reduction) From 5867d53d59629c6d9fcc9aa399be729f15cab740 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 6 Dec 2023 13:23:03 -0700 Subject: [PATCH 086/194] going back to test something --- .../states/ar/tax/income/credits/ar_low_income_credit.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 1dba48552..42a7e8d11 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -46,15 +46,14 @@ def round_to_nearest_50(num): agi_less_ded = agi - deduction min_inc_less_ded = min_income - deduction - rounded_income = round_to_nearest_50(agi) - rounded_min_income = round_to_nearest_50(min_income) - rounded_min_income_less_ded = round_to_nearest_50(min_inc_less_ded) + rounded_income = round_to_nearest_50(agi_less_ded) + rounded_min_income = round_to_nearest_50(min_inc_less_ded) print('rounded income is:', rounded_income) print('Rounded min income is: ', rounded_min_income) # Calculate the tax liability on min_income - tax_liability = round(tax_rate.calc(rounded_min_income_less_ded),0) + tax_liability = round(tax_rate.calc(rounded_min_income),0) print('Tax liability of minimum: ',tax_liability ) From 530f3a163efd81c3d205884fd8718385c316e676 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 7 Dec 2023 14:29:47 -0700 Subject: [PATCH 087/194] trying some tests --- .../income/credits/ar_low_income_credit.py | 2 +- .../lump_sum_dist/ar_lump_sum_dist_tax.py | 64 +++++++++++++++++-- 2 files changed, 59 insertions(+), 7 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 42a7e8d11..4062d108d 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -53,7 +53,7 @@ def round_to_nearest_50(num): print('Rounded min income is: ', rounded_min_income) # Calculate the tax liability on min_income - tax_liability = round(tax_rate.calc(rounded_min_income),0) + tax_liability = tax_rate.calc(rounded_min_income) print('Tax liability of minimum: ',tax_liability ) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py index 30a11fb2d..2eda492e0 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py @@ -13,8 +13,54 @@ class ar_lump_sum_dist_tax(Variable): def formula(tax_unit, period, parameters): + def high_income_reduction(income): + + full_reduction= parameters(period).gov.states.ar.tax.income.high_income_reduction.high_income_reduction_amount + min_income = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max + 1 + phaseout_rate = parameters(period).gov.states.ar.tax.income.high_income_reduction.high_income_reduction_phaseout + + def round_to_nearest_50(num): + # Calculate the nearest multiple of 100 + nearest_multiple_of_100 = round(num / 100,0) * 100 + + # Get the last two digits + last_two_digits = num % 100 + + # Determine the closest ending in "50" + if last_two_digits <= 50 and last_two_digits >= 1: + rounded_income = nearest_multiple_of_100 + 50 + return rounded_income + else: + rounded_income = nearest_multiple_of_100 - 50 + return rounded_income + + std_ded = tax_unit("ar_standard_deduction", period) + itm_ded = tax_unit("ar_itemized_deductions", period) + deduction = where(itm_ded > std_ded, itm_ded, std_ded) + + income_less_ded = income - deduction + + rounded_income = round_to_nearest_50(income_less_ded) + rounded_min_income = round_to_nearest_50(min_income) + + # Calculate the phaseout reduction for each $100 over min_income + excess_income = rounded_income - rounded_min_income + phaseout_reduction = where( excess_income % 100 == 0, (excess_income // 100) * phaseout_rate, ((excess_income // 100) + 1) * phaseout_rate) + + # Reduce the credit amount based on the phaseout reduction + reduction_amount = full_reduction - phaseout_reduction + + # Ensure credit_amount does not go below 0 + reduction_amount = where(reduction_amount < 0 or excess_income < 0 , + 0, reduction_amount) + + reduction_amount = round(reduction_amount,0) + + return reduction_amount + + p = parameters(period).gov.states.ar.tax.income.lump_sum_dist - high_income_threshold = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max + high_income_threshold = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max +1 income = tax_unit('ar_distribution_income', period) actuarial_value = tax_unit('ar_actuarial_value', period) @@ -41,9 +87,12 @@ def formula(tax_unit, period, parameters): line_9 = line_8 * line_9_multiple - rate_line_9 = where(line_9 < high_income_threshold, parameters(period).gov.states.ar.tax.income.rates.rates, parameters(period).gov.states.ar.tax.income.rates.high_income_rates) - - line_9_tax = rate_line_9.calc(line_9) + line_9_reduction = high_income_reduction(line_9) + + line_9_tax = round(where( + line_9 <= high_income_threshold, + parameters(period).gov.states.ar.tax.income.rates.rates.calc(line_9), + parameters(period).gov.states.ar.tax.income.rates.high_income_rates.calc(line_9)) - line_9_reduction,0) line_11_multiple = p.line11_multiple @@ -59,9 +108,12 @@ def formula(tax_unit, period, parameters): line_15 = line_14 * line_15_multiple - rate_line_15 = where(line_15 < high_income_threshold, parameters(period).gov.states.ar.tax.income.rates.rates, parameters(period).gov.states.ar.tax.income.rates.high_income_rates) + line_15_reduction = high_income_reduction(line_15) - line_15_tax = rate_line_15.calc(line_15) + line_15_tax =round(where( + line_15 <= high_income_threshold, + parameters(period).gov.states.ar.tax.income.rates.rates.calc(line_15), + parameters(period).gov.states.ar.tax.income.rates.high_income_rates.calc(line_15)) - line_15_reduction,0) line_17_multiple = p.Line17_multiple From ea6912704f0f08120748f113902ed926ede0decc Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 8 Jan 2024 10:23:36 -0700 Subject: [PATCH 088/194] Added college to itemized deductions --- .../deductions/itemized/tuition/rate.yaml | 17 +++++++++++ .../four_year_college.yaml | 18 +++++++++++ .../technical_institutes.yaml | 16 ++++++++++ .../two_year_college.yaml | 18 +++++++++++ .../ar/tax/income/ar_lump_sum_dist_tax.yaml | 8 ++++- .../income/credits/ar_low_income_credit.yaml | 4 +-- .../itemized/ar_itemized_deductions.py | 4 ++- ...t_secondary_education_tuition_deduction.py | 13 ++++++++ ...dary_education_tuition_deduction_person.py | 30 +++++++++++++++++++ 9 files changed, 124 insertions(+), 4 deletions(-) create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/rate.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/four_year_college.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/technical_institutes.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/two_year_college.yaml create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/post_secondary_education/ar_post_secondary_education_tuition_deduction.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/post_secondary_education/ar_post_secondary_education_tuition_deduction_person.py diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/rate.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/rate.yaml new file mode 100644 index 000000000..0f34bdf2e --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/rate.yaml @@ -0,0 +1,17 @@ +description: Arkansas calculates this rate of education tuition expenses under the post secondary eduction tuition deduction. +values: + 2021-01-01: 0.5 + +metadata: + unit: /1 + period: year + label: Arkansas post-secondary education deduction tuition expense rate + reference: + - title: Arkansas 2022 Individual Income Tax Forms and Instructions + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=21 + - title: Arkansas Individual Income Tax Return Deduction for Tution Paid to Post-Secondary Educational Institutions AR1075 Rev.2022 + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2022.pdf#page=1 + - title: Arkansas Individual Income Tax Return Deduction for Tution Paid to Post-Secondary Educational Institutions AR1075 Rev.2021 + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2021.pdf#page=1 + - title: Code of Arkansas Public Access A.C.A. Subchapter 4. § 26-51-447.(a) + href: https://advance.lexis.com/documentpage/?pdmfid=1000516&crid=0954ab2a-1066-40fc-aa88-6afd57a184fa&nodeid=ABAAAFAACAAFABU&nodepath=%2FROOT%2FABA%2FABAAAF%2FABAAAFAAC%2FABAAAFAACAAF%2FABAAAFAACAAFABU&level=5&haschildren=&populated=false&title=26-51-447.+Deductions+%E2%80%94+Tuition+to+postsecondary+educational+institutions+%E2%80%94+Definition.&config=00JAA2ZjZiM2VhNS0wNTVlLTQ3NzUtYjQzYy0yYWZmODJiODRmMDYKAFBvZENhdGFsb2fXiYCnsel0plIgqpYkw9PK&pddocfullpath=%2Fshared%2Fdocument%2Fstatutes-legislation%2Furn%3AcontentItem%3A4WVP-0VS0-R03J-S4PK-00008-00&ecomp=7gf5kkk&prid=408f4fea-f101-4bf2-8722-f2b4fb0ba181 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/four_year_college.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/four_year_college.yaml new file mode 100644 index 000000000..c22a7f2d9 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/four_year_college.yaml @@ -0,0 +1,18 @@ +description: Arkansas defines the weighted average tuition for four-year colleges at this amount under the post secondary education tuition deduction. +values: + 2021-01-01: 4_602 + 2022-01-01: 4_712 + + +metadata: + period: year + unit: currency-USD + label: Arkansas post secondary eduction tuition deduction four-year college weighted average tuition + reference: + - title: Arkansas Individual Income Tax Return Deduction for Tution Paid to Post-Secondary Educational Institutions AR1075 Rev.2022 + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2022.pdf#page=1 + - title: Arkansas Individual Income Tax Return Deduction for Tution Paid to Post-Secondary Educational Institutions AR1075 Rev.2021 + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2021.pdf#page=1 + # The legal code gives three classifications of post-secondary institutions but doesn't give the exact values of weighted average tuition for each one of them + - title: Code of Arkansas Public Access A.C.A. Subchapter 4. § 26-51-447. + href: https://advance.lexis.com/documentpage/?pdmfid=1000516&crid=0954ab2a-1066-40fc-aa88-6afd57a184fa&nodeid=ABAAAFAACAAFABU&nodepath=%2FROOT%2FABA%2FABAAAF%2FABAAAFAAC%2FABAAAFAACAAF%2FABAAAFAACAAFABU&level=5&haschildren=&populated=false&title=26-51-447.+Deductions+%E2%80%94+Tuition+to+postsecondary+educational+institutions+%E2%80%94+Definition.&config=00JAA2ZjZiM2VhNS0wNTVlLTQ3NzUtYjQzYy0yYWZmODJiODRmMDYKAFBvZENhdGFsb2fXiYCnsel0plIgqpYkw9PK&pddocfullpath=%2Fshared%2Fdocument%2Fstatutes-legislation%2Furn%3AcontentItem%3A4WVP-0VS0-R03J-S4PK-00008-00&ecomp=7gf5kkk&prid=408f4fea-f101-4bf2-8722-f2b4fb0ba181 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/technical_institutes.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/technical_institutes.yaml new file mode 100644 index 000000000..30fe99263 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/technical_institutes.yaml @@ -0,0 +1,16 @@ +description: Arkansas defines the weighted average tuition for technical institutes at this amount under the post secondary education tuition deduction. +values: + 2021-01-01: 780 + +metadata: + period: year + unit: currency-USD + label: Arkansas post secondary eduction tuition deduction technical institutes weighted average tuition + reference: + - title: Arkansas Individual Income Tax Return Deduction for Tution Paid to Post-Secondary Educational Institutions AR1075 Rev.2022 + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2022.pdf#page=1 + - title: Arkansas Individual Income Tax Return Deduction for Tution Paid to Post-Secondary Educational Institutions AR1075 Rev.2021 + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2021.pdf#page=1 + # The legal code gives three classifications of post-secondary institutions but doesn't give the exact values of weighted average tuition for each one of them + - title: Code of Arkansas Public Access A.C.A. Subchapter 4. § 26-51-447. + href: https://advance.lexis.com/documentpage/?pdmfid=1000516&crid=0954ab2a-1066-40fc-aa88-6afd57a184fa&nodeid=ABAAAFAACAAFABU&nodepath=%2FROOT%2FABA%2FABAAAF%2FABAAAFAAC%2FABAAAFAACAAF%2FABAAAFAACAAFABU&level=5&haschildren=&populated=false&title=26-51-447.+Deductions+%E2%80%94+Tuition+to+postsecondary+educational+institutions+%E2%80%94+Definition.&config=00JAA2ZjZiM2VhNS0wNTVlLTQ3NzUtYjQzYy0yYWZmODJiODRmMDYKAFBvZENhdGFsb2fXiYCnsel0plIgqpYkw9PK&pddocfullpath=%2Fshared%2Fdocument%2Fstatutes-legislation%2Furn%3AcontentItem%3A4WVP-0VS0-R03J-S4PK-00008-00&ecomp=7gf5kkk&prid=408f4fea-f101-4bf2-8722-f2b4fb0ba181 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/two_year_college.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/two_year_college.yaml new file mode 100644 index 000000000..de2ff596a --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/two_year_college.yaml @@ -0,0 +1,18 @@ +description: Arkansas defines the weighted average tuition for four-year colleges at this amount under the post secondary education tuition deduction. +values: + 2021-01-01: 2_141 + 2022-01-01: 2_272 + + +metadata: + period: year + unit: currency-USD + label: Arkansas post secondary eduction tuition deduction two-year college weighted average tuition + reference: + - title: Arkansas Individual Income Tax Return Deduction for Tution Paid to Post-Secondary Educational Institutions AR1075 Rev.2022 + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2022.pdf#page=1 + - title: Arkansas Individual Income Tax Return Deduction for Tution Paid to Post-Secondary Educational Institutions AR1075 Rev.2021 + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2021.pdf#page=1 + # The legal code gives three classifications of post-secondary institutions but doesn't give the exact values of weighted average tuition for each one of them + - title: Code of Arkansas Public Access A.C.A. Subchapter 4. § 26-51-447. + href: https://advance.lexis.com/documentpage/?pdmfid=1000516&crid=0954ab2a-1066-40fc-aa88-6afd57a184fa&nodeid=ABAAAFAACAAFABU&nodepath=%2FROOT%2FABA%2FABAAAF%2FABAAAFAAC%2FABAAAFAACAAF%2FABAAAFAACAAFABU&level=5&haschildren=&populated=false&title=26-51-447.+Deductions+%E2%80%94+Tuition+to+postsecondary+educational+institutions+%E2%80%94+Definition.&config=00JAA2ZjZiM2VhNS0wNTVlLTQ3NzUtYjQzYy0yYWZmODJiODRmMDYKAFBvZENhdGFsb2fXiYCnsel0plIgqpYkw9PK&pddocfullpath=%2Fshared%2Fdocument%2Fstatutes-legislation%2Furn%3AcontentItem%3A4WVP-0VS0-R03J-S4PK-00008-00&ecomp=7gf5kkk&prid=408f4fea-f101-4bf2-8722-f2b4fb0ba181 \ No newline at end of file diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml index 8b01646cc..fc7b823d4 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml @@ -1,9 +1,11 @@ -- name: Distribution income of 1000, actuarial value of 100,000 +- name: Distribution income of 1000, actuarial value of 100,000 period: 2022 input: state_code: AR ar_distribution_income: 1_000 ar_actuarial_value: 100_000 + ar_standard_deduction: 4_540 + ar_itemized_deductions: 0 output: ar_lump_sum_dist_tax: 140 - name: Distribution income of 1000, actuarial value of 2,000,000 @@ -12,6 +14,8 @@ state_code: AR ar_distribution_income: 1_000 ar_actuarial_value: 2_000_000 + ar_standard_deduction: 4_540 + ar_itemized_deductions: 0 output: ar_lump_sum_dist_tax: 22_620 - name: Distribution income of 80000, actuarial value of 0 @@ -20,5 +24,7 @@ state_code: AR ar_distribution_income: 80_000 ar_actuarial_value: 0 + ar_standard_deduction: 4_540 + ar_itemized_deductions: 0 output: ar_lump_sum_dist_tax: 580 diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml index a19dd17a2..b1f138c82 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml @@ -61,7 +61,7 @@ ar_itemized_deductions: 500 ar_agi: 26_000 output: - ar_low_income_credit: 62 + ar_low_income_credit: 60 - name: Widow household with $21,730 taxable income - 2 dependents period: 2022 @@ -74,7 +74,7 @@ ar_itemized_deductions: 500 ar_agi: 24_000 output: - ar_low_income_credit: 242 + ar_low_income_credit: 240 - name: Joint household with $18,310 taxable income - 1 dependents period: 2022 diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py index 409b61dc7..2c3e702e3 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py @@ -37,6 +37,8 @@ def formula(tax_unit, period, parameters): line_22 = employee_expenses + other_limited_expenses + education_deduction = tax_unit('ar_post_secondary_education_tuition_deduction', period) + misc_limit_pct = parameters(period).gov.states.ar.tax.income.deductions.itemized.miscellaneous misc_limit = agi - misc_limit_pct @@ -45,4 +47,4 @@ def formula(tax_unit, period, parameters): other_misc_deductions = tax_unit('ar_other_misc_deductions', period) - return medical_deduction +real_estate_taxes+ other_taxes + interest_expense + charitable_deduction + casualty_loss + misc_deductions + other_misc_deductions \ No newline at end of file + return medical_deduction +real_estate_taxes+ other_taxes + interest_expense + education_deduction + charitable_deduction + casualty_loss + misc_deductions + other_misc_deductions \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/post_secondary_education/ar_post_secondary_education_tuition_deduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/post_secondary_education/ar_post_secondary_education_tuition_deduction.py new file mode 100644 index 000000000..043511b3a --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/post_secondary_education/ar_post_secondary_education_tuition_deduction.py @@ -0,0 +1,13 @@ +from fiscalsim_us.model_api import * + + +class ar_post_secondary_education_tuition_deduction(Variable): + value_type = float + entity = TaxUnit + label = "Arkansas post-secondary education tuition deduction" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2022.pdf#page=1" + defined_for = StateCode.AR + + adds = ["ar_post_secondary_education_tuition_deduction_person"] \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/post_secondary_education/ar_post_secondary_education_tuition_deduction_person.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/post_secondary_education/ar_post_secondary_education_tuition_deduction_person.py new file mode 100644 index 000000000..631746179 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/post_secondary_education/ar_post_secondary_education_tuition_deduction_person.py @@ -0,0 +1,30 @@ +from fiscalsim_us.model_api import * + + +class ar_post_secondary_education_tuition_deduction_person(Variable): + value_type = float + entity = Person + label = "Arkansas person post-secondary education tuition deduction" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2022.pdf#page=1" + defined_for = StateCode.AR + + def formula(person, period, parameters): + p = parameters( + period + ).gov.states.ar.tax.income.deductions.itemized.tuition + tuition_expenses = person("qualified_tuition_expenses", period) + uncapped = p.rate * tuition_expenses + cap = select( + [ + person("technical_institution_student", period), + person("four_year_college_student", period), + ], + [ + p.weighted_average_tuition.technical_institutes, + p.weighted_average_tuition.four_year_college, + ], + default=p.weighted_average_tuition.two_year_college, + ) + return min_(uncapped, cap) \ No newline at end of file From 38d1777d303e80f8eafa2dd6c58e0e3a7319126a Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 8 Jan 2024 11:07:59 -0700 Subject: [PATCH 089/194] fixed an error in the lump sum var --- .../ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py index 2eda492e0..0660073e9 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py @@ -1,4 +1,5 @@ from fiscalsim_us.model_api import * +from numpy import round class ar_lump_sum_dist_tax(Variable): @@ -65,6 +66,7 @@ def round_to_nearest_50(num): income = tax_unit('ar_distribution_income', period) actuarial_value = tax_unit('ar_actuarial_value', period) taxable_dist = income + actuarial_value + min_allowance_threshold = p.min_allowance_threshold line_4_max = p.min_allowance_multiple1_max line_4_multiple = p.min_allowance_multiple1 @@ -81,7 +83,7 @@ def round_to_nearest_50(num): min_allowance = line_6 - line_4 - line_8 = taxable_dist - min_allowance + line_8 = where(taxable_dist < min_allowance_threshold,taxable_dist - min_allowance, min_allowance_threshold) line_9_multiple = p.Line9_multiple From 3d02098032ca79740fc0644eb33c18c58c017883 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 8 Jan 2024 11:14:53 -0700 Subject: [PATCH 090/194] A minor fix --- .../states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py index 0660073e9..a2445c525 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py @@ -96,7 +96,7 @@ def round_to_nearest_50(num): parameters(period).gov.states.ar.tax.income.rates.rates.calc(line_9), parameters(period).gov.states.ar.tax.income.rates.high_income_rates.calc(line_9)) - line_9_reduction,0) - line_11_multiple = p.line11_multiple + line_11_multiple = p.Line11_multiple line_11 = line_9_tax * line_11_multiple From d09299bf11dcad27d120313b9b521a44e474b0fb Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 8 Jan 2024 12:03:21 -0700 Subject: [PATCH 091/194] tryimg to fix lump sum --- .../baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml | 2 +- .../states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml index fc7b823d4..f4709eee0 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml @@ -7,7 +7,7 @@ ar_standard_deduction: 4_540 ar_itemized_deductions: 0 output: - ar_lump_sum_dist_tax: 140 + ar_lump_sum_dist_tax: 20 - name: Distribution income of 1000, actuarial value of 2,000,000 period: 2022 input: diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py index a2445c525..45003df5b 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py @@ -81,7 +81,7 @@ def round_to_nearest_50(num): line_6 = line_5 * line_6_multiple - min_allowance = line_6 - line_4 + min_allowance = where(taxable_dist < min_allowance_threshold,line_6 - line_4,0) line_8 = where(taxable_dist < min_allowance_threshold,taxable_dist - min_allowance, min_allowance_threshold) From de1577a60df5b6a949a845626b98ad7faa448d53 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 8 Jan 2024 12:17:36 -0700 Subject: [PATCH 092/194] added print statements for diagnostics --- .../ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py index 45003df5b..78b2f661d 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py @@ -95,6 +95,8 @@ def round_to_nearest_50(num): line_9 <= high_income_threshold, parameters(period).gov.states.ar.tax.income.rates.rates.calc(line_9), parameters(period).gov.states.ar.tax.income.rates.high_income_rates.calc(line_9)) - line_9_reduction,0) + + print("tax on Line 9", line_9_tax) line_11_multiple = p.Line11_multiple @@ -116,6 +118,8 @@ def round_to_nearest_50(num): line_15 <= high_income_threshold, parameters(period).gov.states.ar.tax.income.rates.rates.calc(line_15), parameters(period).gov.states.ar.tax.income.rates.high_income_rates.calc(line_15)) - line_15_reduction,0) + + print("tax on Line 15", line_15_tax) line_17_multiple = p.Line17_multiple From a9e0b04601515d175ff9402a3f37e4ddc83e6afe Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 8 Jan 2024 12:29:51 -0700 Subject: [PATCH 093/194] fixed error --- .../states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py index 78b2f661d..6d37462a0 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py @@ -83,7 +83,7 @@ def round_to_nearest_50(num): min_allowance = where(taxable_dist < min_allowance_threshold,line_6 - line_4,0) - line_8 = where(taxable_dist < min_allowance_threshold,taxable_dist - min_allowance, min_allowance_threshold) + line_8 = where(taxable_dist < min_allowance_threshold,taxable_dist - min_allowance, taxable_dist) line_9_multiple = p.Line9_multiple From ea2e36f633e7d7fb7bf7f9050d051e5416ed221a Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 8 Jan 2024 15:56:10 -0700 Subject: [PATCH 094/194] working on lump sum --- .../income/lump_sum_dist/ar_lump_sum_dist_tax.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py index 6d37462a0..125d3f3d1 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py @@ -68,10 +68,14 @@ def round_to_nearest_50(num): taxable_dist = income + actuarial_value min_allowance_threshold = p.min_allowance_threshold + std_ded = tax_unit("ar_standard_deduction", period) + itm_ded = tax_unit("ar_itemized_deductions", period) + deduction = where(itm_ded > std_ded, itm_ded, std_ded) + line_4_max = p.min_allowance_multiple1_max line_4_multiple = p.min_allowance_multiple1 - line_4 = max(line_4_max, taxable_dist * line_4_multiple) + line_4 = min(line_4_max, taxable_dist * line_4_multiple) min_allowance_subtraction = p.min_allowance_subtract @@ -81,7 +85,7 @@ def round_to_nearest_50(num): line_6 = line_5 * line_6_multiple - min_allowance = where(taxable_dist < min_allowance_threshold,line_6 - line_4,0) + min_allowance = where(taxable_dist < min_allowance_threshold,line_4 - line_6,0) line_8 = where(taxable_dist < min_allowance_threshold,taxable_dist - min_allowance, taxable_dist) @@ -93,8 +97,8 @@ def round_to_nearest_50(num): line_9_tax = round(where( line_9 <= high_income_threshold, - parameters(period).gov.states.ar.tax.income.rates.rates.calc(line_9), - parameters(period).gov.states.ar.tax.income.rates.high_income_rates.calc(line_9)) - line_9_reduction,0) + parameters(period).gov.states.ar.tax.income.rates.rates.calc(line_9 - deduction), + parameters(period).gov.states.ar.tax.income.rates.high_income_rates.calc(line_9 - deduction)) - line_9_reduction,0) print("tax on Line 9", line_9_tax) @@ -116,8 +120,8 @@ def round_to_nearest_50(num): line_15_tax =round(where( line_15 <= high_income_threshold, - parameters(period).gov.states.ar.tax.income.rates.rates.calc(line_15), - parameters(period).gov.states.ar.tax.income.rates.high_income_rates.calc(line_15)) - line_15_reduction,0) + parameters(period).gov.states.ar.tax.income.rates.rates.calc(line_15 - deduction), + parameters(period).gov.states.ar.tax.income.rates.high_income_rates.calc(line_15 - deduction)) - line_15_reduction,0) print("tax on Line 15", line_15_tax) From 998b0eede0d15b1db0bca3ac4b48038f36044dc0 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 10 Jan 2024 13:04:23 -0700 Subject: [PATCH 095/194] added print statements to test --- .../ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py index 125d3f3d1..8717576fe 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py @@ -88,17 +88,19 @@ def round_to_nearest_50(num): min_allowance = where(taxable_dist < min_allowance_threshold,line_4 - line_6,0) line_8 = where(taxable_dist < min_allowance_threshold,taxable_dist - min_allowance, taxable_dist) + print("Line 8 value: ", line_8) line_9_multiple = p.Line9_multiple line_9 = line_8 * line_9_multiple + print("Line 9 value: ", line_9) line_9_reduction = high_income_reduction(line_9) line_9_tax = round(where( line_9 <= high_income_threshold, - parameters(period).gov.states.ar.tax.income.rates.rates.calc(line_9 - deduction), - parameters(period).gov.states.ar.tax.income.rates.high_income_rates.calc(line_9 - deduction)) - line_9_reduction,0) + parameters(period).gov.states.ar.tax.income.rates.rates.calc((line_9 - deduction)), + parameters(period).gov.states.ar.tax.income.rates.high_income_rates.calc((line_9 - deduction))) - line_9_reduction,0) print("tax on Line 9", line_9_tax) @@ -107,6 +109,7 @@ def round_to_nearest_50(num): line_11 = line_9_tax * line_11_multiple line_12 = actuarial_value / taxable_dist + print("Line 12 value: ", line_12) line_13 = min_allowance * line_12 @@ -115,6 +118,7 @@ def round_to_nearest_50(num): line_15_multiple = p.Line15_multiple line_15 = line_14 * line_15_multiple + print("Line 15 value: ", line_15) line_15_reduction = high_income_reduction(line_15) @@ -128,6 +132,7 @@ def round_to_nearest_50(num): line_17_multiple = p.Line17_multiple line_17 = line_15_tax * line_17_multiple + print("Line 17 value: ", line_17) tax = where(actuarial_value > 0,line_17 - line_11,0) From c72db7d41d7456cab825c8534332c4517b629f28 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 10 Jan 2024 14:07:21 -0700 Subject: [PATCH 096/194] Fixed --- .../income/credits/low_income_credit_test.py | 35 ------------------- .../lump_sum_dist/ar_lump_sum_dist_tax.py | 2 +- 2 files changed, 1 insertion(+), 36 deletions(-) delete mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/low_income_credit_test.py diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/low_income_credit_test.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/low_income_credit_test.py deleted file mode 100644 index a0215e242..000000000 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/low_income_credit_test.py +++ /dev/null @@ -1,35 +0,0 @@ -def calculate_credit_amount(tax_rate, adjustment, credit_rate, min_income, phaseout_rate, taxable_income, deduction): - # Calculate the tax liability on min_income - tax_liability = ((min_income-deduction) * tax_rate) - adjustment - - # Calculate the credit amount - credit_amount = tax_liability * credit_rate - print(credit_amount) - - # Calculate the phaseout reduction for each $100 over min_income - excess_income = taxable_income - min_income - phaseout_reduction = excess_income // 100 * phaseout_rate - - # Reduce the credit amount based on the phaseout reduction - credit_amount -= phaseout_reduction - - # Ensure credit_amount does not go below 0 - if credit_amount < 0: - credit_amount = 0 - - return credit_amount - -# Example usage: -tax_rate = 0.03 -adjustment = 204.97 -credit_rate = 0.8 -min_income = 13450 -phaseout_rate = 4 -taxable_income = 13550 -deduction = 2270 - -# test = (((min_income-2270) * tax_rate) - adjustment) * credit_rate -# print('test: ', test) - -credit_amount = round(calculate_credit_amount(tax_rate, adjustment, credit_rate, min_income, phaseout_rate, taxable_income, deduction),0) -print(f"Credit Amount: ${credit_amount:.2f}") \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py index 8717576fe..d09242b7f 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py @@ -134,6 +134,6 @@ def round_to_nearest_50(num): line_17 = line_15_tax * line_17_multiple print("Line 17 value: ", line_17) - tax = where(actuarial_value > 0,line_17 - line_11,0) + tax = where(actuarial_value > 0,line_11 - line_17,0) return tax \ No newline at end of file From 64801cf11bfad27dd76d60be0343c4dfbf9d68f6 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 10 Jan 2024 14:29:29 -0700 Subject: [PATCH 097/194] added second test --- .../gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml index f4709eee0..9e3eb76fc 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml @@ -12,12 +12,12 @@ period: 2022 input: state_code: AR - ar_distribution_income: 1_000 + ar_distribution_income: 10_000 ar_actuarial_value: 2_000_000 ar_standard_deduction: 4_540 ar_itemized_deductions: 0 output: - ar_lump_sum_dist_tax: 22_620 + ar_lump_sum_dist_tax: 440 - name: Distribution income of 80000, actuarial value of 0 period: 2022 input: From 663f47040db47cef060928a87e1dfa31b8abadd1 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 11 Jan 2024 13:53:37 -0700 Subject: [PATCH 098/194] Final tests for lump sum --- .../ar/tax/income/ar_lump_sum_dist_tax.yaml | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml index 9e3eb76fc..b5019ed46 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_lump_sum_dist_tax.yaml @@ -17,7 +17,7 @@ ar_standard_deduction: 4_540 ar_itemized_deductions: 0 output: - ar_lump_sum_dist_tax: 440 + ar_lump_sum_dist_tax: 490 - name: Distribution income of 80000, actuarial value of 0 period: 2022 input: @@ -27,4 +27,24 @@ ar_standard_deduction: 4_540 ar_itemized_deductions: 0 output: - ar_lump_sum_dist_tax: 580 + ar_lump_sum_dist_tax: 0 +- name: Distribution income of 15_000, actuarial value of 20_000 + period: 2022 + input: + state_code: AR + ar_distribution_income: 15_000 + ar_actuarial_value: 20_000 + ar_standard_deduction: 4_540 + ar_itemized_deductions: 0 + output: + ar_lump_sum_dist_tax: 0 +- name: Distribution income of 50_000, actuarial value of 15_000 + period: 2022 + input: + state_code: AR + ar_distribution_income: 50_000 + ar_actuarial_value: 15_000 + ar_standard_deduction: 4_540 + ar_itemized_deductions: 0 + output: + ar_lump_sum_dist_tax: 0 From 7d52482043d3c0991fcbf53678e483a46af9bff1 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 16 Jan 2024 12:46:08 -0700 Subject: [PATCH 099/194] Fixed ccdc --- .../ar/tax/income/credits/cdcc/child_age.yaml | 11 ++++++ .../income/credits/cdcc/childcare_rates.yaml | 2 +- .../ar/tax/income/credits/cdcc/match.yaml | 12 ++++++ .../states/ar/tax/income/credits/ar_cdcc.py | 16 -------- .../ar/tax/income/credits/cdcc/ar_cdcc.py | 39 +++++++++++++++++++ .../credits/cdcc/ar_cdcc_earned_income_head | 11 ++++++ .../credits/cdcc/ar_cdcc_earned_income_spouse | 11 ++++++ .../cdcc/ar_cdcc_qualified_dependent.py | 18 +++++++++ .../credits/cdcc/ar_cdcc_qualified_expenses | 11 ++++++ 9 files changed, 114 insertions(+), 17 deletions(-) create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/child_age.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/match.yaml delete mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_cdcc.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_earned_income_head create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_earned_income_spouse create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_qualified_dependent.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_qualified_expenses diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/child_age.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/child_age.yaml new file mode 100644 index 000000000..efa211be1 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/child_age.yaml @@ -0,0 +1,11 @@ +description: Multiply the amount in Line 9 by this amount +values: + 2022-01-01: 13 +metadata: + type: single_amount + reference: + - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES Instructions + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses_Instructions.pdf + unit: currency-USD + period: year + label: AR child care tax credit multiple \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_rates.yaml index 1b5bed769..08a8c6045 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_rates.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_rates.yaml @@ -1,6 +1,6 @@ description: AGI thresholds and rates for the Arkansas Child Care Tax Credit metadata: - type: single_amount + type: marginal_rate threshold_unit: currency-USD rate_unit: /1 label: Arkansas Child and Dependent Care Tax Credit diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/match.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/match.yaml new file mode 100644 index 000000000..266e0e256 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/match.yaml @@ -0,0 +1,12 @@ +description: Arkansas matches this percentage of the federal child and dependent care credit. +metadata: + unit: /1 + period: year + label: Arkansas household and dependents care credit match + reference: + - title: Ark. Code R. § 26-51-502(c)(1)(A)(ii) + href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-502/ + - title: Arkansas 2022 AR2441 | line 10 + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf#page=1 +values: + 2013-01-01: 0.2 \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_cdcc.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_cdcc.py deleted file mode 100644 index 71c6a11d2..000000000 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_cdcc.py +++ /dev/null @@ -1,16 +0,0 @@ -from fiscalsim_us.model_api import * - - -class ar_cdcc(Variable): - value_type = float - entity = TaxUnit - label = "Arkansas Child and Dependent Care Credit" - unit = USD - documentation = "https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-502/" - definition_period = YEAR - defined_for = StateCode.AR - - def formula(tax_unit, period, parameters): - p = parameters(period).gov.states.ar.tax.income.credits.cdcc - cdcc = tax_unit("cdcc", period) - return cdcc * p.match diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc.py new file mode 100644 index 000000000..ea21a3e39 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc.py @@ -0,0 +1,39 @@ +from fiscalsim_us.model_api import * + + +class ar_cdcc(Variable): + value_type = float + entity = TaxUnit + label = "Arkansas Child and Dependent Care Credit" + unit = USD + documentation = "https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-502/" + definition_period = YEAR + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + p = parameters(period).gov.states.ar.tax.income.credits.cdcc + cdcc = tax_unit("cdcc", period) + return cdcc * p.match + + # filing_status = tax_unit('filing_status',period) #Needed? + + # gross_num_eligible = tax_unit.sum( + # tax_unit.members("ar_cdcc_qualified_dependent", period) + # ) + + # max_qual_expenses = where(gross_num_eligible >= 2, p.childcare_qual_max *2, p.childcare_qual_max) + + # qualified_expenses = min(tax_unit('tax_unit_qualified_expenses', period), max_qual_expenses) + + # earned_income_head = tax_unit('ar_cdcc_earned_income_head', period) #NOT FINALIZED + # earned_income_spouse = tax_unit('ar_cdcc_earned_income_spouse', period) #NOT FINALIZED + + # base_amount = min(qualified_expenses, earned_income_head, earned_income_spouse) + + # fed_agi = tax_unit('adjusted_gross_income', period) + + # childcare_credit = p.childcare_rates[fed_agi] * base_amount + + + + # return childcare_credit \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_earned_income_head b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_earned_income_head new file mode 100644 index 000000000..ee3693201 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_earned_income_head @@ -0,0 +1,11 @@ +from fiscalsim_us.model_api import * + +class ar_cdcc_earned_income_head(Variable): + "Line 4 of Arkansas CHILD AND DEPENDENT CARE EXPENSES Form AR2441" + value_type = float + entity = TaxUnit + label = "Qualified Child and Dependent Care Expenses" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf" + defined_for = StateCode.AR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_earned_income_spouse b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_earned_income_spouse new file mode 100644 index 000000000..ee3693201 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_earned_income_spouse @@ -0,0 +1,11 @@ +from fiscalsim_us.model_api import * + +class ar_cdcc_earned_income_head(Variable): + "Line 4 of Arkansas CHILD AND DEPENDENT CARE EXPENSES Form AR2441" + value_type = float + entity = TaxUnit + label = "Qualified Child and Dependent Care Expenses" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf" + defined_for = StateCode.AR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_qualified_dependent.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_qualified_dependent.py new file mode 100644 index 000000000..d97318f97 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_qualified_dependent.py @@ -0,0 +1,18 @@ +class ar_cdcc_qualified_dependent(Variable): + value_type = bool + entity = Person + label = "Qualifying dependent for Arkansas CDCC" + documentation = "Whether this person qualifies as a dependent for the child and dependent care credit." + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses_Instructions.pdf" + + def formula(person, period, parameters): + p = parameters(period).gov.states.ar.tax.income.credits.cdcc + meets_age_criteria = person("age", period) < p.child_age + incapable_of_self_care = person("incapable_of_self_care", period) + is_dependent = person("is_tax_unit_dependent", period) + is_spouse = person("is_tax_unit_spouse", period) + dependent_or_spouse = is_dependent | is_spouse + return meets_age_criteria | ( + dependent_or_spouse & incapable_of_self_care + ) \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_qualified_expenses b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_qualified_expenses new file mode 100644 index 000000000..e67f8a320 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_qualified_expenses @@ -0,0 +1,11 @@ +from fiscalsim_us.model_api import * + +class ar_cdcc_qualified_expenses(Variable): + "Line 2c of Arkansas CHILD AND DEPENDENT CARE EXPENSES Form AR2441" + value_type = float + entity = TaxUnit + label = "Qualified Child and Dependent Care Expenses" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf" + defined_for = StateCode.AR \ No newline at end of file From 0b343a48772794faa0334bc08d794eb59f70bd01 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 22 Jan 2024 10:29:19 -0700 Subject: [PATCH 100/194] removed unnecessary parameters for child care credit --- .../ar/tax/income/credits/cdcc/child_age.yaml | 11 --- .../credits/cdcc/childcare_multiple.yaml | 11 --- .../credits/cdcc/childcare_qual_max.yaml | 12 --- .../income/credits/cdcc/childcare_rates.yaml | 76 ------------------- .../credits/cdcc/dependent_care_max.yaml | 11 --- .../separate_diff_dependent_care_max.yaml | 11 --- .../credits/personal/qual_dependents.yaml | 2 +- .../high_income_reduction_amount.yaml | 2 +- .../ar/tax/income/ar_high_income_reduction.py | 2 +- ...ncome_tax_before_non_refundable_credits.py | 2 +- .../states/ar/tax/income/ar_total_income.py | 2 +- .../tax/income/credits/ar_personal_credits.py | 12 +-- .../credits/cdcc/ar_cdcc_earned_income_head | 11 --- .../credits/cdcc/ar_cdcc_earned_income_spouse | 11 --- .../cdcc/ar_cdcc_qualified_dependent.py | 18 ----- .../credits/cdcc/ar_cdcc_qualified_expenses | 11 --- 16 files changed, 11 insertions(+), 194 deletions(-) delete mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/child_age.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_multiple.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_qual_max.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_rates.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/dependent_care_max.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/separate_diff_dependent_care_max.yaml delete mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_earned_income_head delete mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_earned_income_spouse delete mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_qualified_dependent.py delete mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_qualified_expenses diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/child_age.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/child_age.yaml deleted file mode 100644 index efa211be1..000000000 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/child_age.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: Multiply the amount in Line 9 by this amount -values: - 2022-01-01: 13 -metadata: - type: single_amount - reference: - - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES Instructions - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses_Instructions.pdf - unit: currency-USD - period: year - label: AR child care tax credit multiple \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_multiple.yaml deleted file mode 100644 index 9c17f1c6b..000000000 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_multiple.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: Multiply the amount in Line 9 by this amount -values: - 2022-01-01: 0.20 -metadata: - type: single_amount - reference: - - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES Line 10 - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf - unit: currency-USD - period: year - label: AR child care tax credit multiple \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_qual_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_qual_max.yaml deleted file mode 100644 index 75427543f..000000000 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_qual_max.yaml +++ /dev/null @@ -1,12 +0,0 @@ -description: Arkansas Qualifying Childcare Expense Max. -values: - 2021-01-01: 3_000 - 2022-01-01: 3_000 -metadata: - type: single_amount - reference: - - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES (Line 3) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf - unit: currency-USD - period: year - label: Arkansas Qualifying Childcare Expense Max. \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_rates.yaml deleted file mode 100644 index 08a8c6045..000000000 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/childcare_rates.yaml +++ /dev/null @@ -1,76 +0,0 @@ -description: AGI thresholds and rates for the Arkansas Child Care Tax Credit -metadata: - type: marginal_rate - threshold_unit: currency-USD - rate_unit: /1 - label: Arkansas Child and Dependent Care Tax Credit - reference: - - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf - - -brackets: - - threshold: - 2022-01-01: 0 - amount: - 2022-01-01: 0.35 - - threshold: - 2022-01-01: 15_000 - amount: - 2022-01-01: 0.34 - - threshold: - 2022-01-01: 17_000 - amount: - 2022-01-01: 0.33 - - threshold: - 2022-01-01: 19_000 - amount: - 2022-01-01: 0.32 - - threshold: - 2022-01-01: 21_000 - amount: - 2022-01-01: 0.31 - - threshold: - 2022-01-01: 23_000 - amount: - 2022-01-01: 0.30 - - threshold: - 2022-01-01: 25_000 - amount: - 2022-01-01: 0.29 - - threshold: - 2022-01-01: 27_000 - amount: - 2022-01-01: 0.28 - - threshold: - 2022-01-01: 29_000 - amount: - 2022-01-01: 0.27 - - threshold: - 2022-01-01: 31_000 - amount: - 2022-01-01: 0.26 - - threshold: - 2022-01-01: 33_000 - amount: - 2022-01-01: 0.25 - - threshold: - 2022-01-01: 35_000 - amount: - 2022-01-01: 0.24 - - threshold: - 2022-01-01: 37_000 - amount: - 2022-01-01: 0.23 - - threshold: - 2022-01-01: 39_000 - amount: - 2022-01-01: 0.22 - - threshold: - 2022-01-01: 41_000 - amount: - 2022-01-01: 0.21 - - threshold: - 2022-01-01: 43_000 - amount: - 2022-01-01: 0.20 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/dependent_care_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/dependent_care_max.yaml deleted file mode 100644 index bd47cb8bd..000000000 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/dependent_care_max.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: Arkansas Dependent Care Deductible Benefits Max. -values: - 2022-01-01: 5_000 -metadata: - type: single_amount - reference: - - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES (Line 20) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf - unit: currency-USD - period: year - label: Arkansas Dependent Care Deductible Benefits Max. \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/separate_diff_dependent_care_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/separate_diff_dependent_care_max.yaml deleted file mode 100644 index 55133a4da..000000000 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/separate_diff_dependent_care_max.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: Arkansas Dependent Care Deductible Benefits Max for married filing separately on different returns. -values: - 2022-01-01: 2_500 -metadata: - type: single_amount - reference: - - title: 2022 ARKANSAS INDIVIDUAL INCOME TAX CHILD AND DEPENDENT CARE EXPENSES (Line 20) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf - unit: currency-USD - period: year - label: Arkansas Dependent Care Deductible Benefits Max for married filing separately on different returns. \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/qual_dependents.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/qual_dependents.yaml index 03658be32..c95c1ce67 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/qual_dependents.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/qual_dependents.yaml @@ -1,4 +1,4 @@ -description: AR qualifying dependents tax credit amount. +description: AR qualifying dependents with disabilities tax credit amount. values: 2021-01-01: 500 2022-01-01: 500 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml index 2c6285ff1..21a846c08 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml @@ -1,4 +1,4 @@ -description: Arkansas reduces the tax liability of taxpayers using the high income tax tables, stating at this amount +description: Arkansas reduces the tax liability of taxpayers using the high income tax tables, starting at this amount values: 2022-01-01: 460 metadata: diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index 5dd258a18..b06a08aa8 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -5,7 +5,7 @@ class ar_high_income_reduction(Variable): value_type = float entity = TaxUnit - label = "Arkansas low income tax credit" + label = "Arkansas high income reduction" unit = USD definition_period = YEAR reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_TaxTables.pdf" diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index 3c433af3d..f29d1e717 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -16,7 +16,7 @@ def formula(tax_unit, period, parameters): p = parameters(period).gov.states.ar.tax.income.rates taxable_income = tax_unit("ar_taxable_income", period) - high_income_threshold = p.regular_bracket_max +1 + high_income_threshold = p.regular_bracket_max litc = tax_unit('ar_low_income_credit', period) high_income_reduction = tax_unit('ar_high_income_reduction', period) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index 00d5775bf..cc0bfc1cd 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -15,7 +15,7 @@ class ar_total_income(Variable): def formula(person, period, parameters): sources = parameters(period).gov.states.ar.tax.income.income_sources total = 0 - not_dependent = ~person("is_tax_unit_dependent", period) + not_dependent = ~person("is_tax_unit_dependent", period) #Is this necessary here? for source in sources: # Add positive values only - losses are deducted later. total += not_dependent * max_(0, add(person, period, [source])) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py index 72d461a9b..b1df90290 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py @@ -19,15 +19,15 @@ def formula(tax_unit, period, parameters): blind_head = tax_unit("blind_head", period).astype(int) - blind_spouse = tax_unit("blind_spouse", period) * 1 + blind_spouse = tax_unit("blind_spouse", period).astype(int) * 1 blind_credit = (blind_head + blind_spouse) * personal_credit_amount age_threshold = parameters(period).gov.states.ar.tax.income.credits.personal.age_threshold - aged_head = where(tax_unit("age_head", period).astype(int)>age_threshold,1,0) - aged_spouse = where(tax_unit("age_spouse", period).astype(int)>age_threshold,1,0) + aged_head = where(tax_unit("age_head", period).astype(int)>=age_threshold,1,0) + aged_spouse = where(tax_unit("age_spouse", period).astype(int)>=age_threshold,1,0) aged_credit = (aged_head + aged_spouse) * personal_credit_amount - head_retirement_income = tax_unit('ar_head_retirement_income', period) + head_retirement_income = tax_unit('ar_head_retirement_income', period) # Probably not implemented correctly spouse_retirement_income = tax_unit('ar_spouse_retirement_income', period) aged_special_head = where(aged_head == 1 and head_retirement_income <= 0, 1, 0) aged_special_spouse = where(aged_spouse == 1 and spouse_retirement_income <= 0, 1, 0) @@ -37,7 +37,7 @@ def formula(tax_unit, period, parameters): # I created "is_deaf", "deaf_head", and "deaf_spouse" myself deaf_head = tax_unit("deaf_head", period).astype(int) - deaf_spouse = tax_unit("deaf_spouse", period) * 1 + deaf_spouse = tax_unit("deaf_spouse", period).astype(int) * 1 deaf_credit = (deaf_head + deaf_spouse) * personal_credit_amount @@ -56,7 +56,7 @@ def formula(tax_unit, period, parameters): dependent_credit = dependents *dependent_credit_amount - qual_dependents = tax_unit("ar_qual_dependents", period) + qual_dependents = tax_unit("ar_qual_dependents", period) # Probably not implemented correctly qual_dependent_credit_amount = parameters(period).gov.states.ar.tax.income.credits.personal.qual_dependents qual_dependent_credit = qual_dependent_credit_amount * qual_dependents diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_earned_income_head b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_earned_income_head deleted file mode 100644 index ee3693201..000000000 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_earned_income_head +++ /dev/null @@ -1,11 +0,0 @@ -from fiscalsim_us.model_api import * - -class ar_cdcc_earned_income_head(Variable): - "Line 4 of Arkansas CHILD AND DEPENDENT CARE EXPENSES Form AR2441" - value_type = float - entity = TaxUnit - label = "Qualified Child and Dependent Care Expenses" - unit = USD - definition_period = YEAR - reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf" - defined_for = StateCode.AR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_earned_income_spouse b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_earned_income_spouse deleted file mode 100644 index ee3693201..000000000 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_earned_income_spouse +++ /dev/null @@ -1,11 +0,0 @@ -from fiscalsim_us.model_api import * - -class ar_cdcc_earned_income_head(Variable): - "Line 4 of Arkansas CHILD AND DEPENDENT CARE EXPENSES Form AR2441" - value_type = float - entity = TaxUnit - label = "Qualified Child and Dependent Care Expenses" - unit = USD - definition_period = YEAR - reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf" - defined_for = StateCode.AR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_qualified_dependent.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_qualified_dependent.py deleted file mode 100644 index d97318f97..000000000 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_qualified_dependent.py +++ /dev/null @@ -1,18 +0,0 @@ -class ar_cdcc_qualified_dependent(Variable): - value_type = bool - entity = Person - label = "Qualifying dependent for Arkansas CDCC" - documentation = "Whether this person qualifies as a dependent for the child and dependent care credit." - definition_period = YEAR - reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses_Instructions.pdf" - - def formula(person, period, parameters): - p = parameters(period).gov.states.ar.tax.income.credits.cdcc - meets_age_criteria = person("age", period) < p.child_age - incapable_of_self_care = person("incapable_of_self_care", period) - is_dependent = person("is_tax_unit_dependent", period) - is_spouse = person("is_tax_unit_spouse", period) - dependent_or_spouse = is_dependent | is_spouse - return meets_age_criteria | ( - dependent_or_spouse & incapable_of_self_care - ) \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_qualified_expenses b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_qualified_expenses deleted file mode 100644 index e67f8a320..000000000 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_qualified_expenses +++ /dev/null @@ -1,11 +0,0 @@ -from fiscalsim_us.model_api import * - -class ar_cdcc_qualified_expenses(Variable): - "Line 2c of Arkansas CHILD AND DEPENDENT CARE EXPENSES Form AR2441" - value_type = float - entity = TaxUnit - label = "Qualified Child and Dependent Care Expenses" - unit = USD - definition_period = YEAR - reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf" - defined_for = StateCode.AR \ No newline at end of file From 5e5e227d2f9611b7ee3a056b6f3f1aff97266b54 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 22 Jan 2024 12:12:28 -0700 Subject: [PATCH 101/194] working in rounding issues --- .../ar/tax/income/credits/ar_low_income_credit.py | 10 +++++++--- .../tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py | 9 --------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 4062d108d..88e88823e 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -53,12 +53,15 @@ def round_to_nearest_50(num): print('Rounded min income is: ', rounded_min_income) # Calculate the tax liability on min_income - tax_liability = tax_rate.calc(rounded_min_income) + min_tax_liability = tax_rate.calc(rounded_min_income) + print('unrounded tax liability of min', min_tax_liability) + + min_tax_liability = round(min_tax_liability,1) - print('Tax liability of minimum: ',tax_liability ) + print('Tax liability of minimum: ', min_tax_liability ) # Calculate the credit amount - credit_amount = tax_liability * credit_rate + credit_amount = min_tax_liability * credit_rate print("highest credit amount is: ", credit_amount) @@ -76,6 +79,7 @@ def round_to_nearest_50(num): 0, credit_amount) credit_amount = round(credit_amount, 0) + print('credit amount is', credit_amount) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py index d09242b7f..0a6a9f418 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py @@ -88,12 +88,10 @@ def round_to_nearest_50(num): min_allowance = where(taxable_dist < min_allowance_threshold,line_4 - line_6,0) line_8 = where(taxable_dist < min_allowance_threshold,taxable_dist - min_allowance, taxable_dist) - print("Line 8 value: ", line_8) line_9_multiple = p.Line9_multiple line_9 = line_8 * line_9_multiple - print("Line 9 value: ", line_9) line_9_reduction = high_income_reduction(line_9) @@ -101,15 +99,12 @@ def round_to_nearest_50(num): line_9 <= high_income_threshold, parameters(period).gov.states.ar.tax.income.rates.rates.calc((line_9 - deduction)), parameters(period).gov.states.ar.tax.income.rates.high_income_rates.calc((line_9 - deduction))) - line_9_reduction,0) - - print("tax on Line 9", line_9_tax) line_11_multiple = p.Line11_multiple line_11 = line_9_tax * line_11_multiple line_12 = actuarial_value / taxable_dist - print("Line 12 value: ", line_12) line_13 = min_allowance * line_12 @@ -118,7 +113,6 @@ def round_to_nearest_50(num): line_15_multiple = p.Line15_multiple line_15 = line_14 * line_15_multiple - print("Line 15 value: ", line_15) line_15_reduction = high_income_reduction(line_15) @@ -126,13 +120,10 @@ def round_to_nearest_50(num): line_15 <= high_income_threshold, parameters(period).gov.states.ar.tax.income.rates.rates.calc(line_15 - deduction), parameters(period).gov.states.ar.tax.income.rates.high_income_rates.calc(line_15 - deduction)) - line_15_reduction,0) - - print("tax on Line 15", line_15_tax) line_17_multiple = p.Line17_multiple line_17 = line_15_tax * line_17_multiple - print("Line 17 value: ", line_17) tax = where(actuarial_value > 0,line_11 - line_17,0) From 23c8e11efe92313618dd3c25f6792e4601f6c588 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 22 Jan 2024 12:25:40 -0700 Subject: [PATCH 102/194] Another litc test 1/22/24 --- .../gov/states/ar/tax/income/credits/ar_low_income_credit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 88e88823e..4949d581e 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -56,7 +56,7 @@ def round_to_nearest_50(num): min_tax_liability = tax_rate.calc(rounded_min_income) print('unrounded tax liability of min', min_tax_liability) - min_tax_liability = round(min_tax_liability,1) + min_tax_liability = round(min_tax_liability,0) print('Tax liability of minimum: ', min_tax_liability ) From e5004e1c76e24ef2468917d329be84e5abf9d6d4 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 23 Jan 2024 13:21:01 -0700 Subject: [PATCH 103/194] working on total income --- .../inflationary_relief/reduction/start.yaml | 5 ++++ .../other_credits/additional_amount.yaml | 12 ++++++++ .../states/ar/tax/income/income_sources.yaml | 2 +- .../tax/income/rates/high_income_rates.yaml | 5 +++- .../gov/states/ar/tax/income/rates/rates.yaml | 8 ++++- .../tax/income/rates/regular_bracket_max.yaml | 1 + .../ar/tax/income/retirement_sources.yaml | 4 +-- .../states/ar/tax/income/ar_total_income.yaml | 30 +++++++++++++++++++ .../states/ar/tax/income/ar_total_income.py | 7 +++-- 9 files changed, 67 insertions(+), 7 deletions(-) create mode 100644 fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/reduction/start.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/reduction/start.yaml index c0f7196d4..4ed79606d 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/reduction/start.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/inflationary_relief/reduction/start.yaml @@ -17,11 +17,16 @@ metadata: - filing_status JOINT: 2022-01-01: 174_000 + 2023-01-01: 179_200 WIDOW: 2022-01-01: 87_000 + 2023-01-01: 89_600 HEAD_OF_HOUSEHOLD: 2022-01-01: 87_000 + 2023-01-01: 89_600 SINGLE: 2022-01-01: 87_000 + 2023-01-01: 89_600 SEPARATE: 2022-01-01: 87_000 + 2023-01-01: 89_600 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_amount.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_amount.yaml index 72f3d4f59..a803e1902 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_amount.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_amount.yaml @@ -17,49 +17,61 @@ brackets: 2022-01-01: 60 - threshold: 2022-01-01: 24_301 + 2023-01-01: 25_001 amount: 2022-01-01: 55 - threshold: 2022-01-01: 24_401 + 2023-01-01: 25_101 amount: 2022-01-01: 50 - threshold: 2022-01-01: 24_501 + 2023-01-01: 25_201 amount: 2022-01-01: 45 - threshold: 2022-01-01: 24_601 + 2023-01-01: 25_301 amount: 2022-01-01: 40 - threshold: 2022-01-01: 24_701 + 2023-01-01: 25_401 amount: 2022-01-01: 35 - threshold: 2022-01-01: 24_801 + 2023-01-01: 25_501 amount: 2022-01-01: 30 - threshold: 2022-01-01: 24_901 + 2023-01-01: 25_601 amount: 2022-01-01: 25 - threshold: 2022-01-01: 25_001 + 2023-01-01: 25_701 amount: 2022-01-01: 20 - threshold: 2022-01-01: 25_101 + 2023-01-01: 25_801 amount: 2022-01-01: 15 - threshold: 2022-01-01: 25_201 + 2023-01-01: 25_901 amount: 2022-01-01: 10 - threshold: 2022-01-01: 25_301 + 2023-01-01: 26_001 amount: 2022-01-01: 5 - threshold: 2022-01-01: 25_401 + 2023-01-01: 26_101 amount: 2022-01-01: 0 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index be3b03b05..e6581bdb3 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -11,7 +11,7 @@ values: - capital_gains - other_gains - taxable_pension_income - # Pension income includes annuities and endowment contracts, non-qualified IRAs + # Pension income includes annuities and endowment contracts, non-qualified IRAs, Line 16 - military_retirement - primary_pension_qual_ira - spouse_pension_qual_ira diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_income_rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_income_rates.yaml index e6c98ae4a..2575da263 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_income_rates.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_income_rates.yaml @@ -18,9 +18,12 @@ brackets: 2022-01-01: 0.02 - threshold: 2022-01-01: 4_401 + 2023-01-01: 4_501 rate: 2022-01-01: 0.04 - threshold: 2022-01-01: 8_801 + 2023-01-01: 9_101 rate: - 2022-01-01: 0.049 \ No newline at end of file + 2022-01-01: 0.049 + 2023-01-01: 0.047 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml index 851013c6a..480f0d965 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml @@ -19,27 +19,33 @@ brackets: - threshold: 2021-01-01: 4_800 2022-01-01: 5_100 + 2023-01-01: 5_300 rate: 2021-01-01: 0.02 - threshold: 2021-01-01: 9_500 2022-01-01: 10_300 + 2023-01-01: 10_600 rate: 2021-01-01: 0.03 - threshold: 2021-01-01: 14_300 2022-01-01: 14_700 + 2023-01-01: 15_100 rate: 2021-01-01: 0.034 - threshold: 2021-01-01: 23_600 2022-01-01: 24_300 + 2023-01-01: 25_000 rate: 2021-01-01: 0.05 2022-01-01: 0.049 + 2023-01-01: 0.047 - threshold: 2021-01-01: 39_700 2022-01-01: .inf rate: 2021-01-01: 0.059 - 2022-01-01: 0.049 \ No newline at end of file + 2022-01-01: 0.049 + 2023-01-01: 0.047 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml index 67e35b418..6cf2bbd35 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml @@ -1,6 +1,7 @@ description: Amount over which a taxpayer must use the alternative tax table values: 2022-01-01: 87_000 + 2023-01-01: 89_600 metadata: type: single_amount reference: diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml index 6e998e21a..5950b0740 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml @@ -1,8 +1,8 @@ description: Arkansas counts these income sources for in line 18 values: 2022-01-01: - - taxable_pension_income - - qualified_ira_distributions + - primary_pension_qual_ira + - spouse_pension_qual_ira metadata: unit: list label: Arkansas Retirement Income Sources Line 18 diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml new file mode 100644 index 000000000..28f9eb4c7 --- /dev/null +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml @@ -0,0 +1,30 @@ +- name: AR gross income unit test 1 + period: 2022 + input: + employment_income: 600 + primary_pension_qual_ira: 6_000 + spouse_pension_qual_ira: 6_000 + state_code: AR + output: + ar_gross_income: 600 +- name: AR gross income unit test 2 + period: 2022 + input: + employment_income: 50_000 + primary_pension_qual_ira: 0 + spouse_pension_qual_ira: 6_000 + state_code: AR + output: + ar_gross_income: 50_000 +- name: AR gross income unit test 2 + period: 2022 + input: + employment_income: 600_000 + primary_pension_qual_ira: 0 + spouse_pension_qual_ira: 0 + farm_income: 20_000 + capital_gains: 5_678 + state_code: AR + output: + ar_gross_income: 625_678 + diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index cc0bfc1cd..183903c56 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -14,10 +14,13 @@ class ar_total_income(Variable): def formula(person, period, parameters): sources = parameters(period).gov.states.ar.tax.income.income_sources + ira_exemption = parameters(period).gov.states.ar.tax.income.rates.ira_exemption + retirement_sources = parameters(period).gov.states.ar.tax.income.retirement_sources total = 0 - not_dependent = ~person("is_tax_unit_dependent", period) #Is this necessary here? + not_dependent = ~person("is_tax_unit_dependent", period) for source in sources: # Add positive values only - losses are deducted later. - total += not_dependent * max_(0, add(person, period, [source])) + total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) + return total \ No newline at end of file From ec569d1d8725ce7cddcb6288dda0331f9d5cd014 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 23 Jan 2024 13:58:05 -0700 Subject: [PATCH 104/194] testing --- .../states/ar/tax/income/income_sources.yaml | 17 ++++++++--------- .../ar/tax/income/retirement_sources.yaml | 3 +-- .../states/ar/tax/income/ar_total_income.yaml | 10 +++------- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index e6581bdb3..6187ace5f 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -1,3 +1,9 @@ +metadata: + unit: currency-USD + label: Gross income sources + reference: + - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (lines 8 - 22) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf description: Income sources counted as gross income for tax purposes. values: 2010-01-01: @@ -13,17 +19,10 @@ values: - taxable_pension_income # Pension income includes annuities and endowment contracts, non-qualified IRAs, Line 16 - military_retirement - - primary_pension_qual_ira - - spouse_pension_qual_ira + - pension_qual_ira - rental_income # Royalties included in rental income - farm_income - farm_rent_income - taxable_unemployment_compensation - - miscellaneous_income -metadata: - unit: currency-USD - label: Gross income sources - reference: - - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (lines 8 - 22) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf \ No newline at end of file + - miscellaneous_income \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml index 5950b0740..d9928c543 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml @@ -1,8 +1,7 @@ description: Arkansas counts these income sources for in line 18 values: 2022-01-01: - - primary_pension_qual_ira - - spouse_pension_qual_ira + - pension_qual_ira metadata: unit: list label: Arkansas Retirement Income Sources Line 18 diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml index 28f9eb4c7..573631def 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml @@ -3,7 +3,6 @@ input: employment_income: 600 primary_pension_qual_ira: 6_000 - spouse_pension_qual_ira: 6_000 state_code: AR output: ar_gross_income: 600 @@ -11,17 +10,14 @@ period: 2022 input: employment_income: 50_000 - primary_pension_qual_ira: 0 - spouse_pension_qual_ira: 6_000 + pension_qual_ira: 12_000 state_code: AR output: - ar_gross_income: 50_000 -- name: AR gross income unit test 2 + ar_gross_income: 56_000 +- name: AR gross income unit test 3 period: 2022 input: employment_income: 600_000 - primary_pension_qual_ira: 0 - spouse_pension_qual_ira: 0 farm_income: 20_000 capital_gains: 5_678 state_code: AR From cf1a90b33545fd828cf38229e52e8260cfb78d3b Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 23 Jan 2024 14:08:26 -0700 Subject: [PATCH 105/194] changed gross to total --- .../gov/states/ar/tax/income/ar_total_income.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml index 573631def..5db1e8469 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml @@ -2,10 +2,10 @@ period: 2022 input: employment_income: 600 - primary_pension_qual_ira: 6_000 + pension_qual_ira: 6_000 state_code: AR output: - ar_gross_income: 600 + ar_total_income: 600 - name: AR gross income unit test 2 period: 2022 input: @@ -13,7 +13,7 @@ pension_qual_ira: 12_000 state_code: AR output: - ar_gross_income: 56_000 + ar_total_income: 56_000 - name: AR gross income unit test 3 period: 2022 input: @@ -22,5 +22,5 @@ capital_gains: 5_678 state_code: AR output: - ar_gross_income: 625_678 + ar_total_income: 625_678 From d3b866ff0820a2ed2df847f5a4462c9f354ee28c Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 23 Jan 2024 14:32:55 -0700 Subject: [PATCH 106/194] working on metadata --- .../gov/states/ar/tax/income/income_sources.yaml | 14 +++++++------- .../states/ar/tax/income/retirement_sources.yaml | 1 - 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index 6187ace5f..b916ea4af 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -1,9 +1,3 @@ -metadata: - unit: currency-USD - label: Gross income sources - reference: - - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (lines 8 - 22) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf description: Income sources counted as gross income for tax purposes. values: 2010-01-01: @@ -25,4 +19,10 @@ values: - farm_income - farm_rent_income - taxable_unemployment_compensation - - miscellaneous_income \ No newline at end of file + - miscellaneous_income + +metadata: + label: Gross income sources + reference: + - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (lines 8 - 22) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml index d9928c543..90958f0ac 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml @@ -3,7 +3,6 @@ values: 2022-01-01: - pension_qual_ira metadata: - unit: list label: Arkansas Retirement Income Sources Line 18 reference: - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 18) From 6f0744e9ba62f4ca574fbc35799833da767de3fa Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 24 Jan 2024 09:39:08 -0700 Subject: [PATCH 107/194] testing military pay --- .../baseline/gov/states/ar/tax/income/ar_total_income.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml index 5db1e8469..3e3c6e7b6 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml @@ -3,9 +3,10 @@ input: employment_income: 600 pension_qual_ira: 6_000 + military_pay: 1 state_code: AR output: - ar_total_income: 600 + ar_total_income: 601 - name: AR gross income unit test 2 period: 2022 input: From 5bcf19f110ea8c546aecb69744203984ab950403 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 24 Jan 2024 09:45:36 -0700 Subject: [PATCH 108/194] Testing military pay again --- .../baseline/gov/states/ar/tax/income/ar_total_income.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml index 3e3c6e7b6..d1efc2163 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml @@ -2,8 +2,8 @@ period: 2022 input: employment_income: 600 - pension_qual_ira: 6_000 military_pay: 1 + pension_qual_ira: 6_000 state_code: AR output: ar_total_income: 601 From 0a621bf6fc14826002f3917ffff8d91c596c57af Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 24 Jan 2024 10:56:12 -0700 Subject: [PATCH 109/194] testing new high income reduction --- .../high_income_reduction.yaml | 203 ++++++++++++++++++ .../states/ar/tax/income/income_sources.yaml | 6 +- .../income/ar_test_high_income_reduction.yaml | 32 +++ .../income/ar_test_high_income_reduction.py | 48 +++++ 4 files changed, 285 insertions(+), 4 deletions(-) create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml create mode 100644 fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_test_high_income_reduction.yaml create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml new file mode 100644 index 000000000..da46ed5a4 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml @@ -0,0 +1,203 @@ +description: Arkansas reduces the tax liability of taxpayers using the high income tax tables, starting at this amount +brackets: + - threshold: + 2022-01-01: 0 + - amount: + 2022-01-01: 0 + - threshold: + 2022-01-01: 87_001 + - amount: + 2022-01-01: 460 + - threshold: + 2022-01-01: 87_101 + - amount: + 2022-01-01: 450 + - threshold: + 2022-01-01: 87_201 + - amount: + 2022-01-01: 440 + - threshold: + 2022-01-01: 87_301 + - amount: + 2022-01-01: 430 + - threshold: + 2022-01-01: 87_401 + - amount: + 2022-01-01: 420 + - threshold: + 2022-01-01: 87_601 + - amount: + 2022-01-01: 410 + - threshold: + 2022-01-01: 87_701 + - amount: + 2022-01-01: 400 + - threshold: + 2022-01-01: 87_801 + - amount: + 2022-01-01: 390 + - threshold: + 2022-01-01: 87_901 + - amount: + 2022-01-01: 380 + - threshold: + 2022-01-01: 88_001 + - amount: + 2022-01-01: 370 + - threshold: + 2022-01-01: 88_101 + - amount: + 2022-01-01: 360 + - threshold: + 2022-01-01: 88_201 + - amount: + 2022-01-01: 350 + - threshold: + 2022-01-01: 88_301 + - amount: + 2022-01-01: 340 + - threshold: + 2022-01-01: 88_401 + - amount: + 2022-01-01: 330 + - threshold: + 2022-01-01: 88_501 + - amount: + 2022-01-01: 320 + - threshold: + 2022-01-01: 88_601 + - amount: + 2022-01-01: 310 + - threshold: + 2022-01-01: 88_701 + - amount: + 2022-01-01: 300 + - threshold: + 2022-01-01: 88_801 + - amount: + 2022-01-01: 290 + - threshold: + 2022-01-01: 88_901 + - amount: + 2022-01-01: 280 + - threshold: + 2022-01-01: 89_001 + - amount: + 2022-01-01: 270 + - threshold: + 2022-01-01: 89_101 + - amount: + 2022-01-01: 260 + - threshold: + 2022-01-01: 89_201 + - amount: + 2022-01-01: 250 + - threshold: + 2022-01-01: 89_301 + - amount: + 2022-01-01: 240 + - threshold: + 2022-01-01: 89_401 + - amount: + 2022-01-01: 230 + - threshold: + 2022-01-01: 89_501 + - amount: + 2022-01-01: 220 + - threshold: + 2022-01-01: 89_601 + - amount: + 2022-01-01: 210 + - threshold: + 2022-01-01: 89_701 + - amount: + 2022-01-01: 200 + - threshold: + 2022-01-01: 89_801 + - amount: + 2022-01-01: 190 + - threshold: + 2022-01-01: 89_901 + - amount: + 2022-01-01: 180 + - threshold: + 2022-01-01: 90_001 + - amount: + 2022-01-01: 170 + - threshold: + 2022-01-01: 90_101 + - amount: + 2022-01-01: 160 + - threshold: + 2022-01-01: 90_201 + - amount: + 2022-01-01: 150 + - threshold: + 2022-01-01: 90_301 + - amount: + 2022-01-01: 140 + - threshold: + 2022-01-01: 90_401 + - amount: + 2022-01-01: 130 + - threshold: + 2022-01-01: 90_501 + - amount: + 2022-01-01: 120 + - threshold: + 2022-01-01: 90_601 + - amount: + 2022-01-01: 110 + - threshold: + 2022-01-01: 90_701 + - amount: + 2022-01-01: 100 + - threshold: + 2022-01-01: 90_801 + - amount: + 2022-01-01: 90 + - threshold: + 2022-01-01: 90_901 + - amount: + 2022-01-01: 80 + - threshold: + 2022-01-01: 91_001 + - amount: + 2022-01-01: 70 + - threshold: + 2022-01-01: 91_101 + - amount: + 2022-01-01: 60 + - threshold: + 2022-01-01: 91_201 + - amount: + 2022-01-01: 50 + - threshold: + 2022-01-01: 91_301 + - amount: + 2022-01-01: 40 + - threshold: + 2022-01-01: 91_401 + - amount: + 2022-01-01: 30 + - threshold: + 2022-01-01: 91_501 + - amount: + 2022-01-01: 20 + - threshold: + 2022-01-01: 91_601 + - amount: + 2022-01-01: 10 + - threshold: + 2022-01-01: 91_701 + - amount: + 2022-01-01: 0 + type: single_amount + period: year + threshold_unit: currency-USD + amount_unit: currency-USD + label: Arkansas high income tax reduction amount + name: high_income_reduction_amount + reference: + - title: Arkansas Code Title 26. Taxation § 26-51-201. Subsection a 10 + href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FACTS%2F2022S3%2FPublic%2FACT2.pdf \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index b916ea4af..9d1ab76b1 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -10,12 +10,10 @@ values: - partnership_s_corp_income - capital_gains - other_gains - - taxable_pension_income - # Pension income includes annuities and endowment contracts, non-qualified IRAs, Line 16 + - taxable_pension_income # Pension income includes annuities and endowment contracts, non-qualified IRAs, Line 16 - military_retirement - - pension_qual_ira + - pension_qual_ira # Royalties included in rental income - rental_income - # Royalties included in rental income - farm_income - farm_rent_income - taxable_unemployment_compensation diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_test_high_income_reduction.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_test_high_income_reduction.yaml new file mode 100644 index 000000000..e1abb9e7e --- /dev/null +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_test_high_income_reduction.yaml @@ -0,0 +1,32 @@ +- name: AR High Income Reduction if Below Threshold + period: 2022 + input: + ar_agi: 80_000 + ar_standard_deduction: 2_270 + ar_itemized_deductions: 1_000 + filing_status: SINGLE + state_code: AR + output: + ar_test_high_income_reduction: 0 + +- name: AR High Income Reduction if at threshold + period: 2022 + input: + ar_agi: 91_541 + ar_standard_deduction: 4_540 + ar_itemized_deductions: 1_000 + filing_status: JOINT + state_code: AR + output: + ar_test_high_income_reduction: 460 + +- name: AR High Income Reduction if above threshold + period: 2022 + input: + ar_agi: 94_581 + ar_standard_deduction: 4_540 + ar_itemized_deductions: 1_000 + filing_status: JOINT + state_code: AR + output: + ar_test_high_income_reduction: 160 \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py new file mode 100644 index 000000000..4c409465a --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py @@ -0,0 +1,48 @@ +from fiscalsim_us.model_api import * +from numpy import round + +class ar_high_income_reduction(Variable): + + value_type = float + entity = TaxUnit + label = "Arkansas high income reduction" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_TaxTables.pdf" + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + + reduction = parameters(period).gov.states.ar.tax.income.high_income_reduction.high_income_reduction + min_income = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max + 1 + agi = tax_unit('ar_agi', period) + + def round_to_nearest_50(num): + # Calculate the nearest multiple of 100 + nearest_multiple_of_100 = round(num / 100,0) * 100 + + # Get the last two digits + last_two_digits = num % 100 + + # Determine the closest ending in "50" + if last_two_digits <= 50 and last_two_digits >= 1: + rounded_income = nearest_multiple_of_100 + 50 + return rounded_income + else: + rounded_income = nearest_multiple_of_100 - 50 + return rounded_income + + std_ded = tax_unit("ar_standard_deduction", period) + itm_ded = tax_unit("ar_itemized_deductions", period) + deduction = where(itm_ded > std_ded, itm_ded, std_ded) + + agi_less_ded = agi - deduction + + rounded_income = round_to_nearest_50(agi_less_ded) + rounded_min_income = round_to_nearest_50(min_income) + + reduction_amount = reduction.calc(rounded_income, right = True) + + + + return reduction_amount \ No newline at end of file From 7d257c84889d4b87b856a9925b6f6e9baa211b7b Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 24 Jan 2024 10:59:25 -0700 Subject: [PATCH 110/194] working on yaml file --- .../gov/states/ar/tax/income/ar_test_high_income_reduction.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_test_high_income_reduction.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_test_high_income_reduction.yaml index e1abb9e7e..87ef14fa7 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_test_high_income_reduction.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_test_high_income_reduction.yaml @@ -8,7 +8,6 @@ state_code: AR output: ar_test_high_income_reduction: 0 - - name: AR High Income Reduction if at threshold period: 2022 input: @@ -19,7 +18,6 @@ state_code: AR output: ar_test_high_income_reduction: 460 - - name: AR High Income Reduction if above threshold period: 2022 input: From 28450178691a2b62424634d7cd98a907d790244e Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 24 Jan 2024 11:05:39 -0700 Subject: [PATCH 111/194] fixing metadata --- .../tax/income/high_income_reduction/high_income_reduction.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml index da46ed5a4..09bce3088 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml @@ -192,6 +192,7 @@ brackets: 2022-01-01: 91_701 - amount: 2022-01-01: 0 +metadata: type: single_amount period: year threshold_unit: currency-USD From 99ec836f6660beaf0e6a1602c0c7a44304994e81 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 24 Jan 2024 11:07:35 -0700 Subject: [PATCH 112/194] fixed var name --- .../gov/states/ar/tax/income/ar_test_high_income_reduction.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py index 4c409465a..58e3ef338 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py @@ -1,11 +1,11 @@ from fiscalsim_us.model_api import * from numpy import round -class ar_high_income_reduction(Variable): +class ar_test_high_income_reduction(Variable): value_type = float entity = TaxUnit - label = "Arkansas high income reduction" + label = "Arkansas test high income reduction" unit = USD definition_period = YEAR reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_TaxTables.pdf" From f525a289e10eb8c7fe93e293af72146c0f574fb5 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 24 Jan 2024 11:17:00 -0700 Subject: [PATCH 113/194] working on calc --- .../gov/states/ar/tax/income/ar_test_high_income_reduction.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py index 58e3ef338..16ffbd10b 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py @@ -41,7 +41,7 @@ def round_to_nearest_50(num): rounded_income = round_to_nearest_50(agi_less_ded) rounded_min_income = round_to_nearest_50(min_income) - reduction_amount = reduction.calc(rounded_income, right = True) + reduction_amount = reduction.calc(rounded_income) From 809cf23ff5c12a56e73be56878fc9533600107c3 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 24 Jan 2024 11:24:28 -0700 Subject: [PATCH 114/194] tryng something else --- .../gov/states/ar/tax/income/ar_test_high_income_reduction.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py index 16ffbd10b..1d57da86c 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py @@ -41,7 +41,7 @@ def round_to_nearest_50(num): rounded_income = round_to_nearest_50(agi_less_ded) rounded_min_income = round_to_nearest_50(min_income) - reduction_amount = reduction.calc(rounded_income) + reduction_amount = reduction[rounded_income] From d8ca8a030ba4d7938ad2ba6c8e3217bce367a505 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 24 Jan 2024 11:42:57 -0700 Subject: [PATCH 115/194] testing something --- .../states/ar/tax/income/ar_test_high_income_reduction.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py index 1d57da86c..55bf035ed 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py @@ -41,8 +41,7 @@ def round_to_nearest_50(num): rounded_income = round_to_nearest_50(agi_less_ded) rounded_min_income = round_to_nearest_50(min_income) - reduction_amount = reduction[rounded_income] - - + # reduction_amount = reduction[rounded_income] + reduction_amount = where(rounded_income <= reduction[::2]['threshold'][period],reduction[1::2]['amount'][period],0).max() return reduction_amount \ No newline at end of file From 9b3bbe689549b27f19f8fad9918e769ecfe5543f Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 24 Jan 2024 11:51:27 -0700 Subject: [PATCH 116/194] testing --- .../income/high_income_reduction/high_income_reduction.yaml | 4 ++-- .../gov/states/ar/tax/income/ar_test_high_income_reduction.py | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml index 09bce3088..7b31b7121 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml @@ -5,11 +5,11 @@ brackets: - amount: 2022-01-01: 0 - threshold: - 2022-01-01: 87_001 + 2022-01-01: 87_000 - amount: 2022-01-01: 460 - threshold: - 2022-01-01: 87_101 + 2022-01-01: 87_100 - amount: 2022-01-01: 450 - threshold: diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py index 55bf035ed..d2589d585 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py @@ -41,7 +41,6 @@ def round_to_nearest_50(num): rounded_income = round_to_nearest_50(agi_less_ded) rounded_min_income = round_to_nearest_50(min_income) - # reduction_amount = reduction[rounded_income] - reduction_amount = where(rounded_income <= reduction[::2]['threshold'][period],reduction[1::2]['amount'][period],0).max() + reduction_amount = reduction.calc(rounded_income) return reduction_amount \ No newline at end of file From bd3f2863cf03bd57c0ecb72f3eaa1191308a13d9 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 24 Jan 2024 12:29:31 -0700 Subject: [PATCH 117/194] added threshold year --- .../income/high_income_reduction/high_income_reduction.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml index 7b31b7121..34e410d87 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml @@ -5,11 +5,11 @@ brackets: - amount: 2022-01-01: 0 - threshold: - 2022-01-01: 87_000 + 2022-01-01: 87_001 - amount: 2022-01-01: 460 - threshold: - 2022-01-01: 87_100 + 2022-01-01: 87_101 - amount: 2022-01-01: 450 - threshold: @@ -197,6 +197,7 @@ metadata: period: year threshold_unit: currency-USD amount_unit: currency-USD + threshold_period: year label: Arkansas high income tax reduction amount name: high_income_reduction_amount reference: From 6020f92131702ca29be4ad91210ee01e69b709d3 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 24 Jan 2024 14:53:54 -0700 Subject: [PATCH 118/194] added print statements to diagnose --- .../states/ar/tax/income/ar_test_high_income_reduction.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py index d2589d585..684fad3fa 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py @@ -41,6 +41,10 @@ def round_to_nearest_50(num): rounded_income = round_to_nearest_50(agi_less_ded) rounded_min_income = round_to_nearest_50(min_income) - reduction_amount = reduction.calc(rounded_income) + print("Rounded income: ", rounded_income) + + reduction_amount = reduction.calc(rounded_income, right = True) + + print("reduction amount: ", reduction_amount) return reduction_amount \ No newline at end of file From 36e76b36894412efe2000c47b7a972d498cf526b Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 24 Jan 2024 15:06:19 -0700 Subject: [PATCH 119/194] fixed yaml --- .../high_income_reduction.yaml | 96 +++++++++---------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml index 34e410d87..3ab5af551 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml @@ -2,195 +2,195 @@ description: Arkansas reduces the tax liability of taxpayers using the high inco brackets: - threshold: 2022-01-01: 0 - - amount: + amount: 2022-01-01: 0 - threshold: 2022-01-01: 87_001 - - amount: + amount: 2022-01-01: 460 - threshold: 2022-01-01: 87_101 - - amount: + amount: 2022-01-01: 450 - threshold: 2022-01-01: 87_201 - - amount: + amount: 2022-01-01: 440 - threshold: 2022-01-01: 87_301 - - amount: + amount: 2022-01-01: 430 - threshold: 2022-01-01: 87_401 - - amount: + amount: 2022-01-01: 420 - threshold: 2022-01-01: 87_601 - - amount: + amount: 2022-01-01: 410 - threshold: 2022-01-01: 87_701 - - amount: + amount: 2022-01-01: 400 - threshold: 2022-01-01: 87_801 - - amount: + amount: 2022-01-01: 390 - threshold: 2022-01-01: 87_901 - - amount: + amount: 2022-01-01: 380 - threshold: 2022-01-01: 88_001 - - amount: + amount: 2022-01-01: 370 - threshold: 2022-01-01: 88_101 - - amount: + amount: 2022-01-01: 360 - threshold: 2022-01-01: 88_201 - - amount: + amount: 2022-01-01: 350 - threshold: 2022-01-01: 88_301 - - amount: + amount: 2022-01-01: 340 - threshold: 2022-01-01: 88_401 - - amount: + amount: 2022-01-01: 330 - threshold: 2022-01-01: 88_501 - - amount: + amount: 2022-01-01: 320 - threshold: 2022-01-01: 88_601 - - amount: + amount: 2022-01-01: 310 - threshold: 2022-01-01: 88_701 - - amount: + amount: 2022-01-01: 300 - threshold: 2022-01-01: 88_801 - - amount: + amount: 2022-01-01: 290 - threshold: 2022-01-01: 88_901 - - amount: + amount: 2022-01-01: 280 - threshold: 2022-01-01: 89_001 - - amount: + amount: 2022-01-01: 270 - threshold: 2022-01-01: 89_101 - - amount: + amount: 2022-01-01: 260 - threshold: 2022-01-01: 89_201 - - amount: + amount: 2022-01-01: 250 - threshold: 2022-01-01: 89_301 - - amount: + amount: 2022-01-01: 240 - threshold: 2022-01-01: 89_401 - - amount: + amount: 2022-01-01: 230 - threshold: 2022-01-01: 89_501 - - amount: + amount: 2022-01-01: 220 - threshold: 2022-01-01: 89_601 - - amount: + amount: 2022-01-01: 210 - threshold: 2022-01-01: 89_701 - - amount: + amount: 2022-01-01: 200 - threshold: 2022-01-01: 89_801 - - amount: + amount: 2022-01-01: 190 - threshold: 2022-01-01: 89_901 - - amount: + amount: 2022-01-01: 180 - threshold: 2022-01-01: 90_001 - - amount: + amount: 2022-01-01: 170 - threshold: 2022-01-01: 90_101 - - amount: + amount: 2022-01-01: 160 - threshold: 2022-01-01: 90_201 - - amount: + amount: 2022-01-01: 150 - threshold: 2022-01-01: 90_301 - - amount: + amount: 2022-01-01: 140 - threshold: 2022-01-01: 90_401 - - amount: + amount: 2022-01-01: 130 - threshold: 2022-01-01: 90_501 - - amount: + amount: 2022-01-01: 120 - threshold: 2022-01-01: 90_601 - - amount: + amount: 2022-01-01: 110 - threshold: 2022-01-01: 90_701 - - amount: + amount: 2022-01-01: 100 - threshold: 2022-01-01: 90_801 - - amount: + amount: 2022-01-01: 90 - threshold: 2022-01-01: 90_901 - - amount: + amount: 2022-01-01: 80 - threshold: 2022-01-01: 91_001 - - amount: + amount: 2022-01-01: 70 - threshold: 2022-01-01: 91_101 - - amount: + amount: 2022-01-01: 60 - threshold: 2022-01-01: 91_201 - - amount: + amount: 2022-01-01: 50 - threshold: 2022-01-01: 91_301 - - amount: + amount: 2022-01-01: 40 - threshold: 2022-01-01: 91_401 - - amount: + amount: 2022-01-01: 30 - threshold: 2022-01-01: 91_501 - - amount: + amount: 2022-01-01: 20 - threshold: 2022-01-01: 91_601 - - amount: + amount: 2022-01-01: 10 - threshold: 2022-01-01: 91_701 - - amount: + amount: 2022-01-01: 0 metadata: type: single_amount From 6b3a58fe6070c2fef6f0b37aa35002eedfc6b37b Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 24 Jan 2024 15:41:39 -0700 Subject: [PATCH 120/194] testing another set of sources --- .../states/ar/tax/income/income_sources.yaml | 47 ++++++++++++------- .../income/ar_test_high_income_reduction.yaml | 2 +- 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index 9d1ab76b1..59bfea1b9 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -1,23 +1,36 @@ description: Income sources counted as gross income for tax purposes. values: 2010-01-01: - - employment_income - - military_pay - - taxable_interest_income - - dividend_income - - alimony_income - - self_employment_income - - partnership_s_corp_income - - capital_gains - - other_gains - - taxable_pension_income # Pension income includes annuities and endowment contracts, non-qualified IRAs, Line 16 - - military_retirement - - pension_qual_ira # Royalties included in rental income - - rental_income - - farm_income - - farm_rent_income - - taxable_unemployment_compensation - - miscellaneous_income + # - employment_income + # - military_pay + # - taxable_interest_income + # - dividend_income + # - alimony_income + # - self_employment_income + # - partnership_s_corp_income + # - capital_gains + # - other_gains + # - taxable_pension_income # Pension income includes annuities and endowment contracts, non-qualified IRAs, Line 16 + # - military_retirement + # - pension_qual_ira # Royalties included in rental income + # - rental_income + # - farm_income + # - farm_rent_income + # - taxable_unemployment_compensation + # - miscellaneous_income + - employment_income # Line 8 + - self_employment_income # Line 8 + - military_service_income # Line 9 + - interest_income # Line 10 + - dividend_income # Line 11 + - alimony_income # Line 12 + - capital_gains # Line 13 + - regular_ira_distributions # Line 16 + # - ar_military_retirement_income_person # Line 17 + - taxable_pension_income # Line 18 + - rental_income # Line 19 + - farm_rent_income # Line 20 + - unemployment_compensation # Line 21 metadata: label: Gross income sources diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_test_high_income_reduction.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_test_high_income_reduction.yaml index 87ef14fa7..29ef0d040 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_test_high_income_reduction.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_test_high_income_reduction.yaml @@ -27,4 +27,4 @@ filing_status: JOINT state_code: AR output: - ar_test_high_income_reduction: 160 \ No newline at end of file + ar_test_high_income_reduction: 170 \ No newline at end of file From 0785cd72c2365efb82dd4c318c94dc73daa09af0 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 24 Jan 2024 15:57:44 -0700 Subject: [PATCH 121/194] adjusting tests --- .../gov/states/ar/tax/income/retirement_sources.yaml | 2 +- .../gov/states/ar/tax/income/ar_total_income.yaml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml index 90958f0ac..34a4edc18 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml @@ -1,7 +1,7 @@ description: Arkansas counts these income sources for in line 18 values: 2022-01-01: - - pension_qual_ira + - taxable_pension_income metadata: label: Arkansas Retirement Income Sources Line 18 reference: diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml index d1efc2163..15ff9a982 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml @@ -2,8 +2,8 @@ period: 2022 input: employment_income: 600 - military_pay: 1 - pension_qual_ira: 6_000 + military_service_income: 1 + taxable_pension_income: 6_000 state_code: AR output: ar_total_income: 601 @@ -11,7 +11,7 @@ period: 2022 input: employment_income: 50_000 - pension_qual_ira: 12_000 + taxable_pension_income: 12_000 state_code: AR output: ar_total_income: 56_000 @@ -19,7 +19,7 @@ period: 2022 input: employment_income: 600_000 - farm_income: 20_000 + farm_rent_income: 20_000 capital_gains: 5_678 state_code: AR output: From 5a4117f719d0e9c08e6b2bbc93b118360e05f63c Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 24 Jan 2024 16:28:52 -0700 Subject: [PATCH 122/194] test without ira exemption --- .../variables/gov/states/ar/tax/income/ar_total_income.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index 183903c56..5f324d1b6 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -20,7 +20,7 @@ def formula(person, period, parameters): not_dependent = ~person("is_tax_unit_dependent", period) for source in sources: # Add positive values only - losses are deducted later. - total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) + total += not_dependent * max_(0, add(person, period, [source])) + # total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) - return total - \ No newline at end of file + return total \ No newline at end of file From 6b6570a81389fc20b63f42eb167b31dd1a08aff8 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 25 Jan 2024 12:22:44 -0700 Subject: [PATCH 123/194] first test 1/25/24 --- .../states/ar/tax/income/ar_total_income.py | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index 5f324d1b6..7808990d7 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -13,14 +13,20 @@ class ar_total_income(Variable): defined_for = StateCode.AR def formula(person, period, parameters): - sources = parameters(period).gov.states.ar.tax.income.income_sources - ira_exemption = parameters(period).gov.states.ar.tax.income.rates.ira_exemption - retirement_sources = parameters(period).gov.states.ar.tax.income.retirement_sources - total = 0 - not_dependent = ~person("is_tax_unit_dependent", period) - for source in sources: - # Add positive values only - losses are deducted later. - total += not_dependent * max_(0, add(person, period, [source])) - # total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) + p = parameters(period).gov.states.ar.tax.income + income = 0 + for source in p.income_sources: + # gross income includes only positive amounts (i.e., no losses) + income += max_(0, add(person, period, [source])) + return income + + # sources = parameters(period).gov.states.ar.tax.income.income_sources + # ira_exemption = parameters(period).gov.states.ar.tax.income.rates.ira_exemption + # retirement_sources = parameters(period).gov.states.ar.tax.income.retirement_sources + # total = 0 + # not_dependent = ~person("is_tax_unit_dependent", period) + # for source in sources: + # # Add positive values only - losses are deducted later. + # total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) - return total \ No newline at end of file + # return total \ No newline at end of file From a5a24bb0c321df69282cc4c02e1c124bce0a3375 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 25 Jan 2024 12:30:35 -0700 Subject: [PATCH 124/194] test 2 1/25/24 --- .../variables/gov/states/ar/tax/income/ar_total_income.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index 7808990d7..e6394ef1b 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -13,13 +13,9 @@ class ar_total_income(Variable): defined_for = StateCode.AR def formula(person, period, parameters): - p = parameters(period).gov.states.ar.tax.income - income = 0 - for source in p.income_sources: - # gross income includes only positive amounts (i.e., no losses) - income += max_(0, add(person, period, [source])) - return income + adds = "gov.states.ar.tax.income.gross_income_sources" + # sources = parameters(period).gov.states.ar.tax.income.income_sources # ira_exemption = parameters(period).gov.states.ar.tax.income.rates.ira_exemption # retirement_sources = parameters(period).gov.states.ar.tax.income.retirement_sources From 5506190f777f0bf593e542290160d0152cb7110b Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 25 Jan 2024 12:48:12 -0700 Subject: [PATCH 125/194] test 3 1/25/24 --- .../states/ar/tax/income/ar_total_income.py | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index e6394ef1b..34843c3da 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -13,16 +13,14 @@ class ar_total_income(Variable): defined_for = StateCode.AR def formula(person, period, parameters): - - adds = "gov.states.ar.tax.income.gross_income_sources" - # sources = parameters(period).gov.states.ar.tax.income.income_sources - # ira_exemption = parameters(period).gov.states.ar.tax.income.rates.ira_exemption - # retirement_sources = parameters(period).gov.states.ar.tax.income.retirement_sources - # total = 0 - # not_dependent = ~person("is_tax_unit_dependent", period) - # for source in sources: - # # Add positive values only - losses are deducted later. - # total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) + sources = parameters(period).gov.states.ar.tax.income.income_sources + ira_exemption = parameters(period).gov.states.ar.tax.income.rates.ira_exemption + retirement_sources = parameters(period).gov.states.ar.tax.income.retirement_sources + total = 0 + not_dependent = ~person("is_tax_unit_dependent", period) + for source in sources: + # Add positive values only - losses are deducted later. + total += where(source in retirement_sources, 1* max_(0, add(person, period, [source])-ira_exemption),1 * max_(0, add(person, period, [source]))) - # return total \ No newline at end of file + return total \ No newline at end of file From b5bc022ddc6392195083bcc0d3488929893fe1b4 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 25 Jan 2024 12:56:09 -0700 Subject: [PATCH 126/194] added a print statement for diagnosis --- .../variables/gov/states/ar/tax/income/ar_total_income.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index 34843c3da..16cbb2942 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -20,7 +20,8 @@ def formula(person, period, parameters): total = 0 not_dependent = ~person("is_tax_unit_dependent", period) for source in sources: + print(source) # Add positive values only - losses are deducted later. - total += where(source in retirement_sources, 1* max_(0, add(person, period, [source])-ira_exemption),1 * max_(0, add(person, period, [source]))) + total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) return total \ No newline at end of file From 04c2187de346fb10c89d94a962b0a02d91374c80 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 25 Jan 2024 13:01:49 -0700 Subject: [PATCH 127/194] test 4 1/25/24 --- .../parameters/gov/states/ar/tax/income/income_sources.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index 59bfea1b9..9b14d17f8 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -26,11 +26,11 @@ values: - alimony_income # Line 12 - capital_gains # Line 13 - regular_ira_distributions # Line 16 - # - ar_military_retirement_income_person # Line 17 - taxable_pension_income # Line 18 - rental_income # Line 19 - farm_rent_income # Line 20 - unemployment_compensation # Line 21 + # - ar_military_retirement_income_person # Line 17 metadata: label: Gross income sources From 01c26146bd164ab94f68382bed1f533be38df904 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 25 Jan 2024 13:10:17 -0700 Subject: [PATCH 128/194] test 5 1/15/24 --- .../parameters/gov/states/ar/tax/income/income_sources.yaml | 2 +- .../variables/gov/states/ar/tax/income/ar_total_income.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index 9b14d17f8..726336c7d 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -26,7 +26,7 @@ values: - alimony_income # Line 12 - capital_gains # Line 13 - regular_ira_distributions # Line 16 - - taxable_pension_income # Line 18 + #- taxable_pension_income # Line 18 - rental_income # Line 19 - farm_rent_income # Line 20 - unemployment_compensation # Line 21 diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index 16cbb2942..9a0f506fc 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -23,5 +23,7 @@ def formula(person, period, parameters): print(source) # Add positive values only - losses are deducted later. total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) + print("total: ", total) + return total \ No newline at end of file From e28973255b2cc1d9504bb528f9d0076a1bd8bd07 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 25 Jan 2024 13:18:15 -0700 Subject: [PATCH 129/194] More print Statements --- .../parameters/gov/states/ar/tax/income/income_sources.yaml | 2 +- .../variables/gov/states/ar/tax/income/ar_total_income.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index 726336c7d..9b14d17f8 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -26,7 +26,7 @@ values: - alimony_income # Line 12 - capital_gains # Line 13 - regular_ira_distributions # Line 16 - #- taxable_pension_income # Line 18 + - taxable_pension_income # Line 18 - rental_income # Line 19 - farm_rent_income # Line 20 - unemployment_compensation # Line 21 diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index 9a0f506fc..309cfd7b2 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -21,6 +21,8 @@ def formula(person, period, parameters): not_dependent = ~person("is_tax_unit_dependent", period) for source in sources: print(source) + print("Processing source:", source) + print("Is source in retirement_sources?", source in retirement_sources) # Add positive values only - losses are deducted later. total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) print("total: ", total) From 51352dfe3115b7249236c47d12f96b326e7e0716 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 25 Jan 2024 13:23:25 -0700 Subject: [PATCH 130/194] test 6 1/25/24 --- .../variables/gov/states/ar/tax/income/ar_total_income.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index 309cfd7b2..d8effd50f 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -24,7 +24,7 @@ def formula(person, period, parameters): print("Processing source:", source) print("Is source in retirement_sources?", source in retirement_sources) # Add positive values only - losses are deducted later. - total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) + #total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) print("total: ", total) From 7bfc9a57e0bc108f72b841a24c4029b445c85e2d Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 25 Jan 2024 13:30:27 -0700 Subject: [PATCH 131/194] Test 7 1/25/24 --- .../variables/gov/states/ar/tax/income/ar_total_income.py | 1 + 1 file changed, 1 insertion(+) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index d8effd50f..9d9ae8b94 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -24,6 +24,7 @@ def formula(person, period, parameters): print("Processing source:", source) print("Is source in retirement_sources?", source in retirement_sources) # Add positive values only - losses are deducted later. + total += not_dependent * max_(0, add(person, period, [source]) - ira_exemption * (source in retirement_sources)) + not_dependent * max_(0, add(person, period, [source])) * (1 - (source in retirement_sources)) #total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) print("total: ", total) From 4cff5edf24283d1443199777277c8a35bf47b5f4 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 25 Jan 2024 13:39:49 -0700 Subject: [PATCH 132/194] test 8 1/25/24 --- .../gov/states/ar/tax/income/ar_total_income.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index 9d9ae8b94..beb8a3023 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -20,13 +20,11 @@ def formula(person, period, parameters): total = 0 not_dependent = ~person("is_tax_unit_dependent", period) for source in sources: - print(source) - print("Processing source:", source) - print("Is source in retirement_sources?", source in retirement_sources) + print(source) + print("Processing source:", source) + print("Is source in retirement_sources?", source in retirement_sources) # Add positive values only - losses are deducted later. - total += not_dependent * max_(0, add(person, period, [source]) - ira_exemption * (source in retirement_sources)) + not_dependent * max_(0, add(person, period, [source])) * (1 - (source in retirement_sources)) - #total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) - print("total: ", total) + total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) + print("total: ", total) - return total \ No newline at end of file From ae5676b6e0e20755ad22a4d305f2ba9f0436c796 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 26 Jan 2024 13:17:06 -0700 Subject: [PATCH 133/194] test 1 1/26/24 --- .../variables/gov/states/ar/tax/income/ar_total_income.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index beb8a3023..ca8224b74 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -24,7 +24,11 @@ def formula(person, period, parameters): print("Processing source:", source) print("Is source in retirement_sources?", source in retirement_sources) # Add positive values only - losses are deducted later. - total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) + if source in retirement_sources: + total += not_dependent * max_(0, add(person, period, [source])-ira_exemption) + else: + not_dependent * max_(0, add(person, period, [source])) + #total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) print("total: ", total) return total \ No newline at end of file From f66f97ccf9dffbc3f73521da9127b780b6a45f11 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 26 Jan 2024 13:24:36 -0700 Subject: [PATCH 134/194] test 2 1/16/24 --- .../gov/states/ar/tax/income/ar_total_income.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index ca8224b74..9045e1906 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -20,15 +20,14 @@ def formula(person, period, parameters): total = 0 not_dependent = ~person("is_tax_unit_dependent", period) for source in sources: + income = 0 print(source) print("Processing source:", source) print("Is source in retirement_sources?", source in retirement_sources) # Add positive values only - losses are deducted later. - if source in retirement_sources: - total += not_dependent * max_(0, add(person, period, [source])-ira_exemption) - else: - not_dependent * max_(0, add(person, period, [source])) - #total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) + income = where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) + print(source, " income: ", income) + total += income print("total: ", total) return total \ No newline at end of file From 955c0e0818699c023dd95790ab00a67d58d122c4 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 26 Jan 2024 13:30:38 -0700 Subject: [PATCH 135/194] test 3 1/26/24 --- .../variables/gov/states/ar/tax/income/ar_total_income.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index 9045e1906..133265c7e 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -20,14 +20,11 @@ def formula(person, period, parameters): total = 0 not_dependent = ~person("is_tax_unit_dependent", period) for source in sources: - income = 0 print(source) print("Processing source:", source) print("Is source in retirement_sources?", source in retirement_sources) # Add positive values only - losses are deducted later. - income = where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) - print(source, " income: ", income) - total += income + total += where(True, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) print("total: ", total) return total \ No newline at end of file From 7c0943b8d8e4d4c7b86a04817a18a9eb30a22940 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 26 Jan 2024 13:41:35 -0700 Subject: [PATCH 136/194] test 4 1/26/24 --- .../variables/gov/states/ar/tax/income/ar_total_income.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index 133265c7e..b1b0bdc4c 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -24,7 +24,8 @@ def formula(person, period, parameters): print("Processing source:", source) print("Is source in retirement_sources?", source in retirement_sources) # Add positive values only - losses are deducted later. - total += where(True, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) + total += not_dependent * max_(0, add(person, period, [source])) + #total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) print("total: ", total) return total \ No newline at end of file From 622934baaeb897a496ae24096684ca9bf3bf1b67 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 26 Jan 2024 13:47:04 -0700 Subject: [PATCH 137/194] test 5 1/26/24 --- .../variables/gov/states/ar/tax/income/ar_total_income.py | 1 - 1 file changed, 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index b1b0bdc4c..f9a3abc50 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -24,7 +24,6 @@ def formula(person, period, parameters): print("Processing source:", source) print("Is source in retirement_sources?", source in retirement_sources) # Add positive values only - losses are deducted later. - total += not_dependent * max_(0, add(person, period, [source])) #total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) print("total: ", total) From 6bef49213ded1de5642216058580afbe3f0be6c6 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 26 Jan 2024 13:53:10 -0700 Subject: [PATCH 138/194] test 6 1/26/24 --- .../parameters/gov/states/ar/tax/income/retirement_sources.yaml | 2 +- .../variables/gov/states/ar/tax/income/ar_total_income.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml index 34a4edc18..16c8879f7 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml @@ -1,7 +1,7 @@ description: Arkansas counts these income sources for in line 18 values: 2022-01-01: - - taxable_pension_income + # - taxable_pension_income metadata: label: Arkansas Retirement Income Sources Line 18 reference: diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index f9a3abc50..beb8a3023 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -24,7 +24,7 @@ def formula(person, period, parameters): print("Processing source:", source) print("Is source in retirement_sources?", source in retirement_sources) # Add positive values only - losses are deducted later. - #total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) + total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) print("total: ", total) return total \ No newline at end of file From 5f989009eb5f1fa2eadd53ee1dcbea442e5d8596 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 26 Jan 2024 14:02:08 -0700 Subject: [PATCH 139/194] test 7 1/26/24 --- .../parameters/gov/states/ar/tax/income/retirement_sources.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml index 16c8879f7..ad51cd3b6 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml @@ -2,6 +2,7 @@ description: Arkansas counts these income sources for in line 18 values: 2022-01-01: # - taxable_pension_income + - unemployment_compensation metadata: label: Arkansas Retirement Income Sources Line 18 reference: From baf91d2bb457503a36c4df805d1c70cb5d9c52a2 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 26 Jan 2024 14:09:57 -0700 Subject: [PATCH 140/194] test 7 1/26/24 --- .../parameters/gov/states/ar/tax/income/income_sources.yaml | 1 + .../gov/states/ar/tax/income/retirement_sources.yaml | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index 9b14d17f8..4ee903825 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -33,6 +33,7 @@ values: # - ar_military_retirement_income_person # Line 17 metadata: + unit: currency-USD label: Gross income sources reference: - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (lines 8 - 22) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml index ad51cd3b6..ba5a1e11d 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/retirement_sources.yaml @@ -1,9 +1,9 @@ description: Arkansas counts these income sources for in line 18 values: 2022-01-01: - # - taxable_pension_income - - unemployment_compensation + - taxable_pension_income metadata: + unit: currency-USD label: Arkansas Retirement Income Sources Line 18 reference: - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 18) From 9ba21e04241341d44f9fc5479ed2a85aa8d3593c Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 26 Jan 2024 14:20:36 -0700 Subject: [PATCH 141/194] test 8 1/26/24 --- .../parameters/gov/states/ar/tax/income/income_sources.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index 4ee903825..7ea8cf295 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -26,7 +26,7 @@ values: - alimony_income # Line 12 - capital_gains # Line 13 - regular_ira_distributions # Line 16 - - taxable_pension_income # Line 18 + #- taxable_pension_income # Line 18 - rental_income # Line 19 - farm_rent_income # Line 20 - unemployment_compensation # Line 21 From 6f0c33bb608a9b786d682e8f44081e047ed0094c Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 26 Jan 2024 14:50:35 -0700 Subject: [PATCH 142/194] income tax test --- .../gov/states/ar/tax/income/income_sources.yaml | 2 +- ...income_tax_before_non_refundable_credits.yaml | 16 ++++++++-------- ...r_income_tax_before_non_refundable_credits.py | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index 7ea8cf295..4ee903825 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -26,7 +26,7 @@ values: - alimony_income # Line 12 - capital_gains # Line 13 - regular_ira_distributions # Line 16 - #- taxable_pension_income # Line 18 + - taxable_pension_income # Line 18 - rental_income # Line 19 - farm_rent_income # Line 20 - unemployment_compensation # Line 21 diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml index 287378c50..9e1b53fd3 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml @@ -5,7 +5,7 @@ ar_taxable_income: 5_100 filing_status: JOINT ar_low_income_credit: 0 - ar_high_income_reduction: 0 + ar_test_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 ar_additional_ira_tax: 0 state_code: AR @@ -20,7 +20,7 @@ ar_taxable_income: 11_180 filing_status: SINGLE ar_low_income_credit: 104 - ar_high_income_reduction: 0 + ar_test_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 ar_additional_ira_tax: 0 state_code: AR @@ -35,7 +35,7 @@ ar_taxable_income: 22_962 filing_status: JOINT ar_low_income_credit: 384 - ar_high_income_reduction: 0 + ar_test_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 ar_additional_ira_tax: 0 state_code: AR @@ -50,7 +50,7 @@ ar_taxable_income: 51_075 filing_status: HEAD_OF_HOUSEHOLD ar_low_income_credit: 0 - ar_high_income_reduction: 0 + ar_test_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 ar_additional_ira_tax: 0 state_code: AR @@ -65,7 +65,7 @@ ar_taxable_income: 88_000 filing_status: JOINT ar_low_income_credit: 0 - ar_high_income_reduction: 370 + ar_test_high_income_reduction: 380 ar_lump_sum_dist_tax: 0 ar_additional_ira_tax: 0 state_code: AR @@ -80,7 +80,7 @@ ar_taxable_income: 89_000 filing_status: JOINT ar_low_income_credit: 0 - ar_high_income_reduction: 270 + ar_test_high_income_reduction: 280 ar_lump_sum_dist_tax: 0 ar_additional_ira_tax: 0 state_code: AR @@ -95,7 +95,7 @@ ar_taxable_income: 87_024 filing_status: JOINT ar_low_income_credit: 0 - ar_high_income_reduction: 460 + ar_test_high_income_reduction: 460 ar_lump_sum_dist_tax: 0 ar_additional_ira_tax: 0 state_code: AR @@ -110,7 +110,7 @@ ar_taxable_income: 92_087 filing_status: SINGLE ar_low_income_credit: 0 - ar_high_income_reduction: 0 + ar_test_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 ar_additional_ira_tax: 0 state_code: AR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index f29d1e717..e4307077b 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -18,7 +18,7 @@ def formula(tax_unit, period, parameters): taxable_income = tax_unit("ar_taxable_income", period) high_income_threshold = p.regular_bracket_max litc = tax_unit('ar_low_income_credit', period) - high_income_reduction = tax_unit('ar_high_income_reduction', period) + high_income_reduction = tax_unit('ar_test_high_income_reduction', period) def round_to_nearest_50(num): # Calculate the nearest multiple of 100 From 079a4a9db207173f13ef8c1cd36804ccd6cd0633 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 29 Jan 2024 10:38:38 -0700 Subject: [PATCH 143/194] added itemized tests --- ...llaneous.yaml => miscellaneous_limit.yaml} | 0 .../deductions/ar_itemized_deductions.yaml | 36 +++++++++++++++++++ ...ry_education_tuition_deduction_person.yaml | 30 ++++++++++++++++ .../itemized/ar_itemized_deductions.py | 8 ++--- 4 files changed, 70 insertions(+), 4 deletions(-) rename fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/{miscellaneous.yaml => miscellaneous_limit.yaml} (100%) create mode 100644 fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml create mode 100644 fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/tuition/ar_post_secondary_education_tuition_deduction_person.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/miscellaneous.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/miscellaneous_limit.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/miscellaneous.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/miscellaneous_limit.yaml diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml new file mode 100644 index 000000000..60f1706f7 --- /dev/null +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml @@ -0,0 +1,36 @@ +- name: AR Itemized deductions test 1 + period: 2022 + input: + medical_expense: 1_000 + ar_agi: 50_000 + real_estate_taxes: 1_500 + ar_other_taxes: 0 + interest_expense: 1_000 + charitable_deduction: 1_300 + casualty_loss: 0 + ar_post_secondary_education_tuition_deduction: 4_712 + ar_unreimbursed_employee_expenses: 500 + ar_other_limited_expenses: 200 + ar_other_misc_deductions: 100 + filing_status: SINGLE + state_code: AR + output: + ar_itemized_deductions: 0 + 1_500 + 1_000 + 1_300 + 4_712 + 100 +- name: AR Itemized deductions test 2 + period: 2022 + input: + medical_expense: 10_000 + ar_agi: 60_000 + real_estate_taxes: 1_000 + ar_other_taxes: 0 + interest_expense: 5_000 + charitable_deduction: 0 + casualty_loss: 100 + ar_post_secondary_education_tuition_deduction: 0 + ar_unreimbursed_employee_expenses: 1_500 + ar_other_limited_expenses: 200 + ar_other_misc_deductions: 100 + filing_status: SINGLE + state_code: AR + output: + ar_itemized_deductions: 4_000 + 1_000 + 5_000 + 100 + 500 + 100 \ No newline at end of file diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/tuition/ar_post_secondary_education_tuition_deduction_person.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/tuition/ar_post_secondary_education_tuition_deduction_person.yaml new file mode 100644 index 000000000..67447c5d2 --- /dev/null +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/tuition/ar_post_secondary_education_tuition_deduction_person.yaml @@ -0,0 +1,30 @@ +- name: AR post secondary tuition deduction tech + period: 2022 + input: + qualified_tuition_expenses: 8_000 + technical_institution_student: true + four_year_college_student: false + filing_status: SINGLE + state_code: AR + output: + ar_post_secondary_education_tuition_deduction_person: 780 +- name: AR post secondary tuition deduction four year + period: 2022 + input: + qualified_tuition_expenses: 10_000 + technical_institution_student: false + four_year_college_student: true + filing_status: SINGLE + state_code: AR + output: + ar_post_secondary_education_tuition_deduction_person: 4_712 +- name: AR post secondary tuition deduction two year + period: 2022 + input: + qualified_tuition_expenses: 1_000 + technical_institution_student: false + four_year_college_student: false + filing_status: SINGLE + state_code: AR + output: + ar_post_secondary_education_tuition_deduction_person: 500 \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py index 2c3e702e3..7a6e9bb20 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py @@ -31,17 +31,17 @@ def formula(tax_unit, period, parameters): casualty_loss = add(tax_unit, period, ["casualty_loss"]) + education_deduction = tax_unit('ar_post_secondary_education_tuition_deduction', period) + # Miscellaneous deductions subject to AGI limit employee_expenses = tax_unit('ar_unreimbursed_employee_expenses', period) other_limited_expenses = tax_unit('ar_other_limited_expenses', period) line_22 = employee_expenses + other_limited_expenses - education_deduction = tax_unit('ar_post_secondary_education_tuition_deduction', period) - - misc_limit_pct = parameters(period).gov.states.ar.tax.income.deductions.itemized.miscellaneous + misc_limit_pct = parameters(period).gov.states.ar.tax.income.deductions.itemized.miscellaneous_limit - misc_limit = agi - misc_limit_pct + misc_limit = agi * misc_limit_pct misc_deductions = max(0, line_22 - misc_limit) From 7a4197e338875b461dbf9b2f1c2a29199b540822 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 29 Jan 2024 10:52:49 -0700 Subject: [PATCH 144/194] added necessary demographic categories --- .../deductions/itemized/ar_other_misc_deductions.py | 2 +- .../demographic/person/four_year_college_student.py | 8 ++++++++ .../demographic/person/technical_institution_student.py | 8 ++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 fiscalsim_us/variables/household/demographic/person/four_year_college_student.py create mode 100644 fiscalsim_us/variables/household/demographic/person/technical_institution_student.py diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_misc_deductions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_misc_deductions.py index ccfa8b951..4ab0b1cb0 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_misc_deductions.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_misc_deductions.py @@ -1,7 +1,7 @@ from fiscalsim_us.model_api import * -class ar_other_misc_expenses(Variable): +class ar_other_misc_deductions(Variable): """ Line 29 of 2022 AR3, Arkansas Itemized Deductions diff --git a/fiscalsim_us/variables/household/demographic/person/four_year_college_student.py b/fiscalsim_us/variables/household/demographic/person/four_year_college_student.py new file mode 100644 index 000000000..2a729fb49 --- /dev/null +++ b/fiscalsim_us/variables/household/demographic/person/four_year_college_student.py @@ -0,0 +1,8 @@ +from fiscalsim_us.model_api import * + + +class four_year_college_student(Variable): + value_type = bool + entity = Person + label = "Is a four year university/college student" + definition_period = YEAR diff --git a/fiscalsim_us/variables/household/demographic/person/technical_institution_student.py b/fiscalsim_us/variables/household/demographic/person/technical_institution_student.py new file mode 100644 index 000000000..e54dc64a2 --- /dev/null +++ b/fiscalsim_us/variables/household/demographic/person/technical_institution_student.py @@ -0,0 +1,8 @@ +from fiscalsim_us.model_api import * + + +class technical_institution_student(Variable): + value_type = bool + entity = Person + label = "Is a student of a technical institute" + definition_period = YEAR From 8f7aabb7756830874942538b0f39c08d82eaafae Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 29 Jan 2024 11:00:21 -0700 Subject: [PATCH 145/194] fixed interest deduction --- .../ar/tax/income/deductions/itemized/ar_itemized_deductions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py index 7a6e9bb20..93067d121 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py @@ -25,7 +25,7 @@ def formula(tax_unit, period, parameters): # Line 6 other_taxes = tax_unit('ar_other_taxes', period) - interest_expense = tax_unit('interest_expense', period) + interest_expense = tax_unit('interest_deduction', period) charitable_deduction = tax_unit("charitable_deduction", period) From ee3cf3b56d9b2a53516d3a1ec3d3952c2236abb2 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 29 Jan 2024 11:08:26 -0700 Subject: [PATCH 146/194] Itemized test 1 --- .../ar/tax/income/deductions/ar_itemized_deductions.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml index 60f1706f7..d0a22a29a 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml @@ -5,7 +5,7 @@ ar_agi: 50_000 real_estate_taxes: 1_500 ar_other_taxes: 0 - interest_expense: 1_000 + interest_deduction: 1_000 charitable_deduction: 1_300 casualty_loss: 0 ar_post_secondary_education_tuition_deduction: 4_712 @@ -23,7 +23,7 @@ ar_agi: 60_000 real_estate_taxes: 1_000 ar_other_taxes: 0 - interest_expense: 5_000 + interest_deduction: 5_000 charitable_deduction: 0 casualty_loss: 100 ar_post_secondary_education_tuition_deduction: 0 From 880a385a624174b2d6c122eab8dc083dda8b6b09 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 29 Jan 2024 11:18:28 -0700 Subject: [PATCH 147/194] itemized test 2 --- .../tax/income/deductions/itemized/ar_itemized_deductions.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py index 93067d121..2d151fe0f 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py @@ -47,4 +47,6 @@ def formula(tax_unit, period, parameters): other_misc_deductions = tax_unit('ar_other_misc_deductions', period) - return medical_deduction +real_estate_taxes+ other_taxes + interest_expense + education_deduction + charitable_deduction + casualty_loss + misc_deductions + other_misc_deductions \ No newline at end of file + print(medical_deduction +''+ real_estate_taxes +''+ other_taxes +''+ interest_expense +''+ education_deduction +''+ charitable_deduction +''+ casualty_loss +''+ misc_deductions +''+ other_misc_deductions) + + return medical_deduction + real_estate_taxes + other_taxes + interest_expense + education_deduction + charitable_deduction + casualty_loss + misc_deductions + other_misc_deductions \ No newline at end of file From d52850cd096beb1b7be04e0705ec940f5ae41f64 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 29 Jan 2024 11:26:40 -0700 Subject: [PATCH 148/194] itemized test 3 --- .../ar/tax/income/deductions/ar_itemized_deductions.yaml | 2 +- .../income/deductions/itemized/ar_itemized_deductions.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml index d0a22a29a..740082724 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml @@ -15,7 +15,7 @@ filing_status: SINGLE state_code: AR output: - ar_itemized_deductions: 0 + 1_500 + 1_000 + 1_300 + 4_712 + 100 + ar_itemized_deductions: 1_500 + 1_000 + 1_300 + 4_712 + 100 - name: AR Itemized deductions test 2 period: 2022 input: diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py index 2d151fe0f..fe51acace 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py @@ -20,7 +20,7 @@ def formula(tax_unit, period, parameters): medical_deduction = medical_expense - agi_portion - real_estate_taxes = add(tax_unit, period, ["real_estate_taxes"]) + real_estate_tax = add(tax_unit, period, ["real_estate_taxes"]) # Line 6 other_taxes = tax_unit('ar_other_taxes', period) @@ -47,6 +47,6 @@ def formula(tax_unit, period, parameters): other_misc_deductions = tax_unit('ar_other_misc_deductions', period) - print(medical_deduction +''+ real_estate_taxes +''+ other_taxes +''+ interest_expense +''+ education_deduction +''+ charitable_deduction +''+ casualty_loss +''+ misc_deductions +''+ other_misc_deductions) + print(medical_deduction +''+ real_estate_tax +''+ other_taxes +''+ interest_expense +''+ education_deduction +''+ charitable_deduction +''+ casualty_loss +''+ misc_deductions +''+ other_misc_deductions) - return medical_deduction + real_estate_taxes + other_taxes + interest_expense + education_deduction + charitable_deduction + casualty_loss + misc_deductions + other_misc_deductions \ No newline at end of file + return medical_deduction + real_estate_tax + other_taxes + interest_expense + education_deduction + charitable_deduction + casualty_loss + misc_deductions + other_misc_deductions \ No newline at end of file From ce12bb803ebf6918139d38046876e6b9a750f221 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 29 Jan 2024 11:32:22 -0700 Subject: [PATCH 149/194] itemized test 4 --- .../ar/tax/income/deductions/itemized/ar_itemized_deductions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py index fe51acace..1189f1ae8 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py @@ -47,6 +47,6 @@ def formula(tax_unit, period, parameters): other_misc_deductions = tax_unit('ar_other_misc_deductions', period) - print(medical_deduction +''+ real_estate_tax +''+ other_taxes +''+ interest_expense +''+ education_deduction +''+ charitable_deduction +''+ casualty_loss +''+ misc_deductions +''+ other_misc_deductions) + print(medical_deduction, '', real_estate_tax, '', other_taxes, '', interest_expense, '', education_deduction, '',charitable_deduction, '',casualty_loss, '',misc_deductions, '',other_misc_deductions) return medical_deduction + real_estate_tax + other_taxes + interest_expense + education_deduction + charitable_deduction + casualty_loss + misc_deductions + other_misc_deductions \ No newline at end of file From c316bdce88504ce67f48f09135a1afd071400f64 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Mon, 29 Jan 2024 11:42:13 -0700 Subject: [PATCH 150/194] itemized test 5 --- .../ar/tax/income/deductions/itemized/ar_itemized_deductions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py index 1189f1ae8..aeecc0d8e 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py @@ -18,7 +18,7 @@ def formula(tax_unit, period, parameters): agi_portion = max(0, agi * medical_threshold) - medical_deduction = medical_expense - agi_portion + medical_deduction = max(0,medical_expense - agi_portion) real_estate_tax = add(tax_unit, period, ["real_estate_taxes"]) From 03c451eae4f13b01c5214d7fc80504d5a1a2735a Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 31 Jan 2024 10:16:27 -0700 Subject: [PATCH 151/194] added other credits --- .../additional_credit_joint_multiple.yaml | 14 ++++++++ .../other_credits/political_contrib.yaml | 14 +++++++- ...credit_max.yaml => stillbirth_credit.yaml} | 2 +- .../credits/ar_additional_tax_credit.yaml | 32 ++++++++++++++++++ .../other_credits/ar_additional_tax_credit.py | 33 +++++++++++++++++++ .../ar_adoption_expense_credit.py | 24 ++++++++++++++ .../ar_inflationary_relief_tax_credit.py | 0 .../ar_metabolic_disorder_credit.py | 23 +++++++++++++ .../ar_metabolic_disorder_expenses.py | 12 +++++++ .../other_credits/ar_other_state_credit.py | 13 ++++++++ .../ar_political_contribution_credit.py | 21 ++++++++++++ .../ar_political_contributions.py | 12 +++++++ .../ar_stillborn_child_credit.py | 23 +++++++++++++ .../itemized/ar_itemized_deductions.py | 2 -- 14 files changed, 221 insertions(+), 4 deletions(-) create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_credit_joint_multiple.yaml rename fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/{stillbirth_credit_max.yaml => stillbirth_credit.yaml} (95%) create mode 100644 fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_additional_tax_credit.yaml create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_additional_tax_credit.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_adoption_expense_credit.py rename fiscalsim_us/variables/gov/states/ar/tax/income/credits/{ => other_credits}/ar_inflationary_relief_tax_credit.py (100%) create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_credit.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_expenses.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_other_state_credit.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_political_contribution_credit.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_political_contributions.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_stillborn_child_credit.py diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_credit_joint_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_credit_joint_multiple.yaml new file mode 100644 index 000000000..5ecbed21a --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_credit_joint_multiple.yaml @@ -0,0 +1,14 @@ +description: Arkansas multiplies the additional tax credit for qualifying individuals by this amount if the filing status is JOINT. +values: + 2022-01-01: 2 +metadata: + type: single_amount + reference: + - title: AR1000TC Arkansas Individual Income Tax Credits (Line 6) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf + - title: ADDITIONAL TAX CREDIT FOR QUALIFIED INDIVIDUALS WORKSHEET + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_Final_AdditionalTaxCreditforQualifiedIndividuals_FI.pdf + unit: /1 + period: year + name: additional_credit_joint_multiple + label: AR additional credit joint multiple \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/political_contrib.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/political_contrib.yaml index 3d0a6aaf9..e1a0ef82c 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/political_contrib.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/political_contrib.yaml @@ -10,4 +10,16 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits_Instructions.pdf unit: currency-USD period: year - label: Arkansas Other Tax Credits - Political Contribution Credit \ No newline at end of file + label: Arkansas Other Tax Credits - Political Contribution Credit + breakdown: + - filing_status +JOINT: + 2022-01-01: 100 +WIDOW: + 2022-01-01: 50 +HEAD_OF_HOUSEHOLD: + 2022-01-01: 50 +SINGLE: + 2022-01-01: 50 +SEPARATE: + 2022-01-01: 50 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit.yaml similarity index 95% rename from fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit_max.yaml rename to fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit.yaml index 8140b10c4..543ef4272 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit_max.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit.yaml @@ -10,5 +10,5 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits_Instructions.pdf unit: /1 period: year - name: ar_stillbirth_credit_max + name: ar_stillbirth_credit label: AR Max Allowable Stillbirth Tax Credit Amount \ No newline at end of file diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_additional_tax_credit.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_additional_tax_credit.yaml new file mode 100644 index 000000000..44a622462 --- /dev/null +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_additional_tax_credit.yaml @@ -0,0 +1,32 @@ +- name: Joint, $18,000 income + period: 2022 + input: + filing_status: JOINT + ar_taxable_income: 18_000 + state_code: AR + output: + ar_cdcc: 120 +- name: Single, $18,000 income + period: 2022 + input: + filing_status: SINGLE + ar_taxable_income: 18_000 + state_code: AR + output: + ar_cdcc: 60 +- name: Single, $25,201 income + period: 2022 + input: + filing_status: SINGLE + ar_taxable_income: 25_201 + state_code: AR + output: + ar_cdcc: 10 +- name: Single, $26,000 income + period: 2022 + input: + filing_status: SINGLE + ar_taxable_income: 26_000 + state_code: AR + output: + ar_cdcc: 0 \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_additional_tax_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_additional_tax_credit.py new file mode 100644 index 000000000..e7ed876c4 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_additional_tax_credit.py @@ -0,0 +1,33 @@ +from fiscalsim_us.model_api import * + + +class ar_inflation_relief_credit(Variable): + value_type = float + entity = TaxUnit + label = "Arkansas additional tax credit for qualified individuals" + unit = USD + definition_period = YEAR + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + filing_status= tax_unit('filing_status', period) + + income = tax_unit("ar_taxable_income", period) + p = parameters( + period + ).gov.states.ar.tax.income.credits.other_credits + + amount = p.additional_amount + + joint_multiple = p.additional_credit_joint_multiple + + credit = amount.calc(income) + + credit = where(filing_status == filing_status.possible_values.JOINT, credit * joint_multiple, credit) + + return credit + + + + + diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_adoption_expense_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_adoption_expense_credit.py new file mode 100644 index 000000000..91ff1f4c0 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_adoption_expense_credit.py @@ -0,0 +1,24 @@ +from fiscalsim_us.model_api import * + + +class ar_adoption_expense_credit(Variable): + "Line 3 of form AR1000TC" + value_type = float + entity = TaxUnit + label = "Arkansas Adoption Expense Credit" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf" + defined_for = StateCode.AR + +def formula(tax_unit, period, parameters): + p = parameters( + period + ).gov.states.ar.income.credits.other_credits + + match = p.adoption_credit + + return match * tax_unit('qualified_adoption_expenses', period) + + + \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_inflationary_relief_tax_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_inflationary_relief_tax_credit.py similarity index 100% rename from fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_inflationary_relief_tax_credit.py rename to fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_inflationary_relief_tax_credit.py diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_credit.py new file mode 100644 index 000000000..9f4753bd4 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_credit.py @@ -0,0 +1,23 @@ +from fiscalsim_us.model_api import * + + +class ar_metabolic_disorder_credit(Variable): + "Line 4 of form AR1000TC" + value_type = float + entity = TaxUnit + label = "Arkansas Phenylketonuria Disorder Credit" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf" + defined_for = StateCode.AR + +def formula(tax_unit, period, parameters): + p = parameters( + period + ).gov.states.ar.income.credits.other_credits + + maximum_credit = p.metabolic + + tax_due = tax_unit('ar_income_tax_before_non_refundable_credits', period) + - tax_unit('ar_personal_credits', period) - tax_unit('ar_political_contribution_credit',period) + - tax_unit('ar_other_state_credit', period) - tax_unit('ar_adoption_expense_credit', period) - tax_unit('ar_stillborn_child_credit') \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_expenses.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_expenses.py new file mode 100644 index 000000000..92e0d2284 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_expenses.py @@ -0,0 +1,12 @@ +from fiscalsim_us.model_api import * + + +class ar_metabolic_disorder_expenses(Variable): + "Line 4 of form AR1000TC" + value_type = float + entity = TaxUnit + label = "Arkansas Phenylketonuria Disorder expenses" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf" + defined_for = StateCode.AR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_other_state_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_other_state_credit.py new file mode 100644 index 000000000..859dfde39 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_other_state_credit.py @@ -0,0 +1,13 @@ +from fiscalsim_us.model_api import * + + +class ar_other_state_credit(Variable): + "Line 2 of form AR1000TC" + "Credit for taxes paid to other states on income earned outside of AR" + value_type = float + entity = TaxUnit + label = "Arkansas other state tax credit" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf" + defined_for = StateCode.AR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_political_contribution_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_political_contribution_credit.py new file mode 100644 index 000000000..79d1607ce --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_political_contribution_credit.py @@ -0,0 +1,21 @@ +from fiscalsim_us.model_api import * + + +class ar_political_contribution_credit(Variable): + "Line 1 of form AR1000TC" + value_type = float + entity = TaxUnit + label = "Arkansas political contribution tax credit" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf" + defined_for = StateCode.AR + +def formula(tax_unit, period, parameters): + p = parameters( + period + ).gov.states.ar.tax.income.credits.other_credits + cap = p.political_contrib + contributions = tax_unit("ar_political_contributions") + + return min_(cap, contributions) \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_political_contributions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_political_contributions.py new file mode 100644 index 000000000..b9c330d93 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_political_contributions.py @@ -0,0 +1,12 @@ +from fiscalsim_us.model_api import * + + +class ar_political_contributions(Variable): + "Line 1 of form AR1000TC" + value_type = float + entity = TaxUnit + label = "Arkansas political contributions" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf" + defined_for = StateCode.AR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_stillborn_child_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_stillborn_child_credit.py new file mode 100644 index 000000000..a3f7ff4dc --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_stillborn_child_credit.py @@ -0,0 +1,23 @@ +from fiscalsim_us.model_api import * + + +class ar_stillborn_child_credit(Variable): + "Line 5 of form AR1000TC" + value_type = float + entity = TaxUnit + label = "Arkansas Stillborn Child Tax Credit" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf" + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + p = parameters( + period + ).gov.states.ar.income.credits.other_credits + + amount = p.stillbirth_credit + + num = tax_unit("tax_unit_stillborn_children", period) + + return amount * num \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py index aeecc0d8e..906bf9a2d 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py @@ -47,6 +47,4 @@ def formula(tax_unit, period, parameters): other_misc_deductions = tax_unit('ar_other_misc_deductions', period) - print(medical_deduction, '', real_estate_tax, '', other_taxes, '', interest_expense, '', education_deduction, '',charitable_deduction, '',casualty_loss, '',misc_deductions, '',other_misc_deductions) - return medical_deduction + real_estate_tax + other_taxes + interest_expense + education_deduction + charitable_deduction + casualty_loss + misc_deductions + other_misc_deductions \ No newline at end of file From a97e889d533555aaa57bd4bf88035d2122b6ca79 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 31 Jan 2024 10:18:32 -0700 Subject: [PATCH 152/194] fixed class name --- .../income/credits/other_credits/ar_additional_tax_credit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_additional_tax_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_additional_tax_credit.py index e7ed876c4..3a93eee88 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_additional_tax_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_additional_tax_credit.py @@ -1,7 +1,7 @@ from fiscalsim_us.model_api import * -class ar_inflation_relief_credit(Variable): +class ar_additional_tax_credit(Variable): value_type = float entity = TaxUnit label = "Arkansas additional tax credit for qualified individuals" From a28cbce8d3e3c2611fbbc318c604d18fec3cfe4c Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 31 Jan 2024 10:29:44 -0700 Subject: [PATCH 153/194] fixed test --- .../ar/tax/income/credits/ar_additional_tax_credit.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_additional_tax_credit.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_additional_tax_credit.yaml index 44a622462..dcbf4c5f6 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_additional_tax_credit.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_additional_tax_credit.yaml @@ -5,7 +5,7 @@ ar_taxable_income: 18_000 state_code: AR output: - ar_cdcc: 120 + ar_additional_tax_credit: 120 - name: Single, $18,000 income period: 2022 input: @@ -13,7 +13,7 @@ ar_taxable_income: 18_000 state_code: AR output: - ar_cdcc: 60 + ar_additional_tax_credit: 60 - name: Single, $25,201 income period: 2022 input: @@ -21,7 +21,7 @@ ar_taxable_income: 25_201 state_code: AR output: - ar_cdcc: 10 + ar_additional_tax_credit: 10 - name: Single, $26,000 income period: 2022 input: @@ -29,4 +29,4 @@ ar_taxable_income: 26_000 state_code: AR output: - ar_cdcc: 0 \ No newline at end of file + ar_additional_tax_credit: 0 \ No newline at end of file From 8db4d37db6e984a342ec16f32123e076664228ca Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 31 Jan 2024 14:55:05 -0700 Subject: [PATCH 154/194] added metabolic credit and employee expenses --- ...reimbursed_employee_expenses_multiple.yaml | 12 ++++++++++ .../deductions/ar_itemized_deductions.yaml | 4 ++-- .../other_credits/ar_business_credits.py | 12 ++++++++++ .../ar_metabolic_credit_carryover.py | 16 +++++++++++++ .../ar_metabolic_disorder_credit.py | 17 +++++++++++-- .../itemized/ar_itemized_deductions.py | 2 +- .../ar_unreimbursed_employee_expenses.py | 2 +- ...nreimbursed_employee_expenses_deduction.py | 24 +++++++++++++++++++ 8 files changed, 83 insertions(+), 6 deletions(-) create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/unreimbursed_employee_expenses_multiple.yaml create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_business_credits.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_credit_carryover.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses_deduction.py diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/unreimbursed_employee_expenses_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/unreimbursed_employee_expenses_multiple.yaml new file mode 100644 index 000000000..6270f841c --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/unreimbursed_employee_expenses_multiple.yaml @@ -0,0 +1,12 @@ +description: AR allows taxpayers to deduct this percentage of unreimbursed employee expenses +values: + 2022-01-01: 0.5 +metadata: + type: single_amount + reference: + - title: AR3 Arkansas Individual income Tax Itemized Deductions (Line 24) + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf + - title: AR2106 ARKANSAS INDIVIDUAL INCOME TAX EMPLOYEE BUSINESS EXPENSES + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2106_EmployeeBusinessExpenses.pdf + period: year + label: AR Unreimbursed employee expenses multiple \ No newline at end of file diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml index 740082724..10e13e720 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml @@ -9,7 +9,7 @@ charitable_deduction: 1_300 casualty_loss: 0 ar_post_secondary_education_tuition_deduction: 4_712 - ar_unreimbursed_employee_expenses: 500 + ar_unreimbursed_employee_expenses_deduction: 500 ar_other_limited_expenses: 200 ar_other_misc_deductions: 100 filing_status: SINGLE @@ -27,7 +27,7 @@ charitable_deduction: 0 casualty_loss: 100 ar_post_secondary_education_tuition_deduction: 0 - ar_unreimbursed_employee_expenses: 1_500 + ar_unreimbursed_employee_expenses_deduction: 1_500 ar_other_limited_expenses: 200 ar_other_misc_deductions: 100 filing_status: SINGLE diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_business_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_business_credits.py new file mode 100644 index 000000000..be86bd854 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_business_credits.py @@ -0,0 +1,12 @@ +from fiscalsim_us.model_api import * + + +class ar_business_credits(Variable): + "Line 8 of form AR1000TC" + value_type = float + entity = TaxUnit + label = "Arkansas Business Incentive Credits" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf" + defined_for = StateCode.AR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_credit_carryover.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_credit_carryover.py new file mode 100644 index 000000000..eae7ed34f --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_credit_carryover.py @@ -0,0 +1,16 @@ +from fiscalsim_us.model_api import * + + +class mt_charitable_carryover_deduction(Variable): + """ + Line 2 on AR1113 PHENYLKETONURIA DISORDER AND OTHER METABOLIC DISORDERS CREDIT + """ + + value_type = float + entity = TaxUnit + label = ( + "Arkansas metabolic credit carryover from previous year" + ) + unit = USD + definition_period = YEAR + defined_for = StateCode.MT \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_credit.py index 9f4753bd4..677e1a45f 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_credit.py @@ -18,6 +18,19 @@ def formula(tax_unit, period, parameters): maximum_credit = p.metabolic + expenses = tax_unit("ar_metabolic_disorder_expenses", period) + + carryover = tax_unit('ar_metabolic_credit_carryover', period) + + total_available = expenses + carryover + + total_allowable_credit = min(maximum_credit, total_available) + tax_due = tax_unit('ar_income_tax_before_non_refundable_credits', period) - - tax_unit('ar_personal_credits', period) - tax_unit('ar_political_contribution_credit',period) - - tax_unit('ar_other_state_credit', period) - tax_unit('ar_adoption_expense_credit', period) - tax_unit('ar_stillborn_child_credit') \ No newline at end of file + - tax_unit('ar_personal_credits', period) - tax_unit('ar_political_contribution_credit', period) + - tax_unit('ar_other_state_credit', period) - tax_unit('ar_adoption_expense_credit', period) - tax_unit('ar_stillborn_child_credit') + - tax_unit('ar_additional_tax_credit')- tax_unit('ar_inflationary_relief_credit') - tax_unit('ar_cdcc', period) + + credit = min(total_allowable_credit, tax_due) + + return credit \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py index 906bf9a2d..7d13f29f6 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py @@ -34,7 +34,7 @@ def formula(tax_unit, period, parameters): education_deduction = tax_unit('ar_post_secondary_education_tuition_deduction', period) # Miscellaneous deductions subject to AGI limit - employee_expenses = tax_unit('ar_unreimbursed_employee_expenses', period) + employee_expenses = tax_unit('ar_unreimbursed_employee_expenses_deduction', period) other_limited_expenses = tax_unit('ar_other_limited_expenses', period) line_22 = employee_expenses + other_limited_expenses diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses.py index 23d82e5db..426d882ef 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses.py @@ -10,6 +10,6 @@ class ar_unreimbursed_employee_expenses(Variable): entity = TaxUnit label = "AR unreimbursed employee expenses" unit = USD - reference = 'https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf' + reference = 'https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2106_EmployeeBusinessExpenses.pdf' definition_period = YEAR defined_for = StateCode.AR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses_deduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses_deduction.py new file mode 100644 index 000000000..6ae97bfd2 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses_deduction.py @@ -0,0 +1,24 @@ +from fiscalsim_us.model_api import * + + +class ar_unreimbursed_employee_expenses_deduction(Variable): + """ + Line 20 of 2022 AR3, Arkansas Itemized Deductions + """ + + value_type = float + entity = TaxUnit + label = "AR unreimbursed employee expenses deduction" + unit = USD + reference = 'https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2106_EmployeeBusinessExpenses.pdf' + definition_period = YEAR + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + expenses = tax_unit('ar_unreimbursed_employee_expenses', period) + + p = parameters(period).gov.states.ar.tax.income.deductions.itemized + + multiple = p.unreimbursed_employee_expenses_multiple + + return expenses * multiple \ No newline at end of file From e130f1842d895aa22137714f9b8e49ee32b302c6 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 31 Jan 2024 14:57:12 -0700 Subject: [PATCH 155/194] fixed variable --- .../credits/other_credits/ar_metabolic_credit_carryover.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_credit_carryover.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_credit_carryover.py index eae7ed34f..fb9b6f768 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_credit_carryover.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_credit_carryover.py @@ -1,7 +1,7 @@ from fiscalsim_us.model_api import * -class mt_charitable_carryover_deduction(Variable): +class ar_metabolic_credit_carryover(Variable): """ Line 2 on AR1113 PHENYLKETONURIA DISORDER AND OTHER METABOLIC DISORDERS CREDIT """ @@ -13,4 +13,4 @@ class mt_charitable_carryover_deduction(Variable): ) unit = USD definition_period = YEAR - defined_for = StateCode.MT \ No newline at end of file + defined_for = StateCode.AR \ No newline at end of file From 7dff97b07e7912f6a234f978c3ae8ba28d332f19 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 31 Jan 2024 15:07:26 -0700 Subject: [PATCH 156/194] added another test --- .../deductions/ar_itemized_deductions.yaml | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml index 10e13e720..a38d6b133 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml @@ -33,4 +33,22 @@ filing_status: SINGLE state_code: AR output: - ar_itemized_deductions: 4_000 + 1_000 + 5_000 + 100 + 500 + 100 \ No newline at end of file + ar_itemized_deductions: 4_000 + 1_000 + 5_000 + 100 + 500 + 100 + - name: AR Itemized deductions test 3 + period: 2022 + input: + medical_expense: 10_000 + ar_agi: 60_000 + real_estate_taxes: 1_000 + ar_other_taxes: 0 + interest_deduction: 5_000 + charitable_deduction: 0 + casualty_loss: 100 + ar_post_secondary_education_tuition_deduction: 0 + ar_unreimbursed_employee_expenses_deduction: 3_000 + ar_other_limited_expenses: 200 + ar_other_misc_deductions: 100 + filing_status: SINGLE + state_code: AR + output: + ar_itemized_deductions: 4_000 + 1_000 + 5_000 + 100 + 500 + 2000 + 100 \ No newline at end of file From 2c60243ccc7c56e778e7c28852d55028e01fbe52 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 31 Jan 2024 15:08:54 -0700 Subject: [PATCH 157/194] fixed test --- .../states/ar/tax/income/deductions/ar_itemized_deductions.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml index a38d6b133..9aa739233 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml @@ -34,7 +34,7 @@ state_code: AR output: ar_itemized_deductions: 4_000 + 1_000 + 5_000 + 100 + 500 + 100 - - name: AR Itemized deductions test 3 +- name: AR Itemized deductions test 3 period: 2022 input: medical_expense: 10_000 From ae7e83750452b094c39bb976aa4cd9fb50263712 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 31 Jan 2024 15:16:20 -0700 Subject: [PATCH 158/194] fixed the test again --- .../states/ar/tax/income/deductions/ar_itemized_deductions.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml index 9aa739233..363625f82 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml @@ -51,4 +51,4 @@ filing_status: SINGLE state_code: AR output: - ar_itemized_deductions: 4_000 + 1_000 + 5_000 + 100 + 500 + 2000 + 100 \ No newline at end of file + ar_itemized_deductions: 4_000 + 1_000 + 5_000 + 100 + 2000 + 100 \ No newline at end of file From c7519e471c8d9080a6bb252c16fe707fc7c68d7f Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 1 Feb 2024 14:40:03 -0700 Subject: [PATCH 159/194] added taxable gains logic --- .../capital_gains/capital_loss_cap.yaml | 22 ++++++ .../long_term_cap_gain_taxable_pct.yaml | 10 +++ .../max_taxable_capital_gain.yaml | 10 +++ .../income/capital_gains/ar_capital_gains.py | 69 +++++++++++++++++++ .../capital_gains/ar_lt_dep_adjustment.py | 12 ++++ .../capital_gains/ar_st_dep_adjustment.py | 12 ++++ 6 files changed, 135 insertions(+) create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/capital_loss_cap.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/long_term_cap_gain_taxable_pct.yaml create mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/max_taxable_capital_gain.yaml create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_lt_dep_adjustment.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_st_dep_adjustment.py diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/capital_loss_cap.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/capital_loss_cap.yaml new file mode 100644 index 000000000..3dbd2c34b --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/capital_loss_cap.yaml @@ -0,0 +1,22 @@ +description: This is the maximum amount of capital losses that an Arkansas taxpayer can claim per year, by filing status +metadata: + type: single_amount + period: year + unit: currency-USD + label: Arkansas capital loss cap + name: capital_loss_cap + reference: + - title: Arkansas AR1000D Arkansas Individual Income Tax Capital Gains Line 12 + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000D_CapitalGains.pdf + breakdown: + - filing_status +JOINT: + 2022-01-01: 3_000 +WIDOW: + 2022-01-01: 3_000 +HEAD_OF_HOUSEHOLD: + 2022-01-01: 3_000 +SINGLE: + 2022-01-01: 3_000 +SEPARATE: + 2022-01-01: 1_500 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/long_term_cap_gain_taxable_pct.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/long_term_cap_gain_taxable_pct.yaml new file mode 100644 index 000000000..d5769c935 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/long_term_cap_gain_taxable_pct.yaml @@ -0,0 +1,10 @@ +description: Arkansas considers this percentage of long term capital gains to be taxable +values: + 2022-01-01: .5 +metadata: + type: single-amount + period: year + label: Arkansas Long Term Capital Gains Cap + reference: + - title: 2022 AR1000D ARKANSAS INDIVIDUAL INCOME TAX Capital Gains Line 8 + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000D_CapitalGains.pdf \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/max_taxable_capital_gain.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/max_taxable_capital_gain.yaml new file mode 100644 index 000000000..0c3f1943a --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/max_taxable_capital_gain.yaml @@ -0,0 +1,10 @@ +description: Arkansas does not tax net long term capital gains above this amount +values: + 2022-01-01: 10_000_000 +metadata: + unit: currency-USD + period: year + label: Arkansas Long Term Capital Gains Cap + reference: + - title: 2022 AR1000D ARKANSAS INDIVIDUAL INCOME TAX Capital Gains Line 7b + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000D_CapitalGains.pdf \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py new file mode 100644 index 000000000..5474c3b8d --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py @@ -0,0 +1,69 @@ +from fiscalsim_us.model_api import * + +class ar_capital_gains(Variable): + + value_type = float + entity = TaxUnit + label = "Arkansas taxable capital gains" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000D_CapitalGains.pdf" + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + + filing_status = tax_unit('filing_status', period) + + p = parameters(period).gov.states.ar.tax.income.capital_gains + + max_taxable_gain = p.max_taxable_capital_gain + + ar_lt_taxable_pct = p.long_term_cap_gain_taxable_pct + + cap_loss_cap = p.capital_loss_cap + + lt_gains = tax_unit("long_term_capital_gains", period) + + non_d_gains = tax_unit("non_sch_d_capital_gains", period) + + lt_dep_adjustment = tax_unit('ar_lt_dep_adjustment', period) + + ar_lt_gain = lt_gains + non_d_gains + lt_dep_adjustment + + st_gain = ("short_term_capital_gains", period) + + st_dep_adjustment = tax_unit('ar_st_dep_adjustment', period) + + ar_st_gain = st_gain + st_dep_adjustment + + # if there are short term losses, but net gains are positive, net gain should equal the min of max_taxable_gain or the difference between the long term gain and short term loss. + # if there short term losses, and net losses, net gain should equal the total loss + # if there are short term gains, those are handled later. + + ar_net_lt_gain = where( + ar_st_gain < 0, where( + ar_lt_gain - ar_st_gain >= 0, min(max_taxable_gain, ar_lt_gain - ar_st_gain), ar_lt_gain + ar_st_gain + ), + min(ar_lt_gain, max_taxable_gain) + ) + + ar_taxable_amount = where( + ar_net_lt_gain > 0, ar_net_lt_gain * ar_lt_taxable_pct, ar_net_lt_gain + ) + + total_taxable = where( + ar_st_gain >=0, ar_st_gain + ar_taxable_amount, + ar_taxable_amount + ) + + total_taxable = where( + total_taxable <= 0, min(total_taxable, cap_loss_cap[filing_status]) + ) + + return total_taxable + + + + + + \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_lt_dep_adjustment.py b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_lt_dep_adjustment.py new file mode 100644 index 000000000..e4bed5457 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_lt_dep_adjustment.py @@ -0,0 +1,12 @@ +from fiscalsim_us.model_api import * + +class ar_lt_dep_adjustment(Variable): + + value_type = float + entity = TaxUnit + label = "Arkansas difference in long term capital gains depreciation from federal amount" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000D_CapitalGains.pdf" + defined_for = StateCode.AR + diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_st_dep_adjustment.py b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_st_dep_adjustment.py new file mode 100644 index 000000000..d0e8c2d63 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_st_dep_adjustment.py @@ -0,0 +1,12 @@ +from fiscalsim_us.model_api import * + +class ar_st_dep_adjustment(Variable): + + value_type = float + entity = TaxUnit + label = "Arkansas difference in short term capital gains depreciation from federal amount" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000D_CapitalGains.pdf" + defined_for = StateCode.AR + From f13bdcad4483115da83ed6bce47de6afd705005a Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 2 Feb 2024 11:26:58 -0700 Subject: [PATCH 160/194] removed extra hir files, added cap gains test --- .../states/ar/tax/income/income_sources.yaml | 2 +- .../ar/tax/income/ar_capital_gains.yaml | 13 +++++ .../tax/income/ar_high_income_reduction.yaml | 4 +- .../income/ar_test_high_income_reduction.yaml | 30 ----------- .../states/ar/tax/income/ar_total_income.yaml | 2 +- .../ar/tax/income/ar_high_income_reduction.py | 16 ++---- .../income/ar_test_high_income_reduction.py | 50 ------------------- 7 files changed, 20 insertions(+), 97 deletions(-) create mode 100644 fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_gains.yaml delete mode 100644 fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_test_high_income_reduction.yaml delete mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index 4ee903825..b94348ca1 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -24,7 +24,7 @@ values: - interest_income # Line 10 - dividend_income # Line 11 - alimony_income # Line 12 - - capital_gains # Line 13 + - ar_capital_gains # Line 13 - regular_ira_distributions # Line 16 - taxable_pension_income # Line 18 - rental_income # Line 19 diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_gains.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_gains.yaml new file mode 100644 index 000000000..3768a7804 --- /dev/null +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_gains.yaml @@ -0,0 +1,13 @@ +- name: AR taxable capital gains test 1 - 0 + period: 2022 + absolute_error_margin: 1 + input: + filing_status: JOINT + long_term_capital_gains: 0 + non_sch_d_capital_gains: 0 + ar_lt_dep_adjustment: 0 + short_term_capital_gains: 0 + ar_st_dep_adjustment: 0 + state_code: AR + output: + ar_capital_gains: 0 \ No newline at end of file diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml index e0bc632c8..b0251e07e 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml @@ -8,7 +8,6 @@ state_code: AR output: ar_high_income_reduction: 0 - - name: AR High Income Reduction if at threshold period: 2022 input: @@ -19,7 +18,6 @@ state_code: AR output: ar_high_income_reduction: 460 - - name: AR High Income Reduction if above threshold period: 2022 input: @@ -29,4 +27,4 @@ filing_status: JOINT state_code: AR output: - ar_high_income_reduction: 160 \ No newline at end of file + ar_high_income_reduction: 170 \ No newline at end of file diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_test_high_income_reduction.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_test_high_income_reduction.yaml deleted file mode 100644 index 29ef0d040..000000000 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_test_high_income_reduction.yaml +++ /dev/null @@ -1,30 +0,0 @@ -- name: AR High Income Reduction if Below Threshold - period: 2022 - input: - ar_agi: 80_000 - ar_standard_deduction: 2_270 - ar_itemized_deductions: 1_000 - filing_status: SINGLE - state_code: AR - output: - ar_test_high_income_reduction: 0 -- name: AR High Income Reduction if at threshold - period: 2022 - input: - ar_agi: 91_541 - ar_standard_deduction: 4_540 - ar_itemized_deductions: 1_000 - filing_status: JOINT - state_code: AR - output: - ar_test_high_income_reduction: 460 -- name: AR High Income Reduction if above threshold - period: 2022 - input: - ar_agi: 94_581 - ar_standard_deduction: 4_540 - ar_itemized_deductions: 1_000 - filing_status: JOINT - state_code: AR - output: - ar_test_high_income_reduction: 170 \ No newline at end of file diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml index 15ff9a982..16d05e128 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_total_income.yaml @@ -20,7 +20,7 @@ input: employment_income: 600_000 farm_rent_income: 20_000 - capital_gains: 5_678 + ar_capital_gains: 5_678 state_code: AR output: ar_total_income: 625_678 diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index b06a08aa8..133c826af 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -13,9 +13,8 @@ class ar_high_income_reduction(Variable): def formula(tax_unit, period, parameters): - full_reduction= parameters(period).gov.states.ar.tax.income.high_income_reduction.high_income_reduction_amount + reduction = parameters(period).gov.states.ar.tax.income.high_income_reduction.high_income_reduction min_income = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max + 1 - phaseout_rate = parameters(period).gov.states.ar.tax.income.high_income_reduction.high_income_reduction_phaseout agi = tax_unit('ar_agi', period) def round_to_nearest_50(num): @@ -42,17 +41,10 @@ def round_to_nearest_50(num): rounded_income = round_to_nearest_50(agi_less_ded) rounded_min_income = round_to_nearest_50(min_income) - # Calculate the phaseout reduction for each $100 over min_income - excess_income = rounded_income - rounded_min_income - phaseout_reduction = where( excess_income % 100 == 0, (excess_income // 100) * phaseout_rate, ((excess_income // 100) + 1) * phaseout_rate) + print("Rounded income: ", rounded_income) - # Reduce the credit amount based on the phaseout reduction - reduction_amount = full_reduction - phaseout_reduction + reduction_amount = reduction.calc(rounded_income, right = True) - # Ensure credit_amount does not go below 0 - reduction_amount = where(reduction_amount < 0 or excess_income < 0 , - 0, reduction_amount) - - reduction_amount = round(reduction_amount,0) + print("reduction amount: ", reduction_amount) return reduction_amount \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py deleted file mode 100644 index 684fad3fa..000000000 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_test_high_income_reduction.py +++ /dev/null @@ -1,50 +0,0 @@ -from fiscalsim_us.model_api import * -from numpy import round - -class ar_test_high_income_reduction(Variable): - - value_type = float - entity = TaxUnit - label = "Arkansas test high income reduction" - unit = USD - definition_period = YEAR - reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_TaxTables.pdf" - defined_for = StateCode.AR - - def formula(tax_unit, period, parameters): - - reduction = parameters(period).gov.states.ar.tax.income.high_income_reduction.high_income_reduction - min_income = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max + 1 - agi = tax_unit('ar_agi', period) - - def round_to_nearest_50(num): - # Calculate the nearest multiple of 100 - nearest_multiple_of_100 = round(num / 100,0) * 100 - - # Get the last two digits - last_two_digits = num % 100 - - # Determine the closest ending in "50" - if last_two_digits <= 50 and last_two_digits >= 1: - rounded_income = nearest_multiple_of_100 + 50 - return rounded_income - else: - rounded_income = nearest_multiple_of_100 - 50 - return rounded_income - - std_ded = tax_unit("ar_standard_deduction", period) - itm_ded = tax_unit("ar_itemized_deductions", period) - deduction = where(itm_ded > std_ded, itm_ded, std_ded) - - agi_less_ded = agi - deduction - - rounded_income = round_to_nearest_50(agi_less_ded) - rounded_min_income = round_to_nearest_50(min_income) - - print("Rounded income: ", rounded_income) - - reduction_amount = reduction.calc(rounded_income, right = True) - - print("reduction amount: ", reduction_amount) - - return reduction_amount \ No newline at end of file From 5e1231a2c86520828c979922c0e9af4ed1a6d122 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 2 Feb 2024 11:36:22 -0700 Subject: [PATCH 161/194] switched ar_capital_gains to person --- ...income_tax_before_non_refundable_credits.yaml | 16 ++++++++-------- ...r_income_tax_before_non_refundable_credits.py | 2 +- .../tax/income/capital_gains/ar_capital_gains.py | 14 +++++++------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml index 9e1b53fd3..a5c90c45a 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml @@ -5,7 +5,7 @@ ar_taxable_income: 5_100 filing_status: JOINT ar_low_income_credit: 0 - ar_test_high_income_reduction: 0 + ar_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 ar_additional_ira_tax: 0 state_code: AR @@ -20,7 +20,7 @@ ar_taxable_income: 11_180 filing_status: SINGLE ar_low_income_credit: 104 - ar_test_high_income_reduction: 0 + ar_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 ar_additional_ira_tax: 0 state_code: AR @@ -35,7 +35,7 @@ ar_taxable_income: 22_962 filing_status: JOINT ar_low_income_credit: 384 - ar_test_high_income_reduction: 0 + ar_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 ar_additional_ira_tax: 0 state_code: AR @@ -50,7 +50,7 @@ ar_taxable_income: 51_075 filing_status: HEAD_OF_HOUSEHOLD ar_low_income_credit: 0 - ar_test_high_income_reduction: 0 + ar_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 ar_additional_ira_tax: 0 state_code: AR @@ -65,7 +65,7 @@ ar_taxable_income: 88_000 filing_status: JOINT ar_low_income_credit: 0 - ar_test_high_income_reduction: 380 + ar_high_income_reduction: 380 ar_lump_sum_dist_tax: 0 ar_additional_ira_tax: 0 state_code: AR @@ -80,7 +80,7 @@ ar_taxable_income: 89_000 filing_status: JOINT ar_low_income_credit: 0 - ar_test_high_income_reduction: 280 + ar_high_income_reduction: 280 ar_lump_sum_dist_tax: 0 ar_additional_ira_tax: 0 state_code: AR @@ -95,7 +95,7 @@ ar_taxable_income: 87_024 filing_status: JOINT ar_low_income_credit: 0 - ar_test_high_income_reduction: 460 + ar_high_income_reduction: 460 ar_lump_sum_dist_tax: 0 ar_additional_ira_tax: 0 state_code: AR @@ -110,7 +110,7 @@ ar_taxable_income: 92_087 filing_status: SINGLE ar_low_income_credit: 0 - ar_test_high_income_reduction: 0 + ar_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 ar_additional_ira_tax: 0 state_code: AR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index e4307077b..f29d1e717 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -18,7 +18,7 @@ def formula(tax_unit, period, parameters): taxable_income = tax_unit("ar_taxable_income", period) high_income_threshold = p.regular_bracket_max litc = tax_unit('ar_low_income_credit', period) - high_income_reduction = tax_unit('ar_test_high_income_reduction', period) + high_income_reduction = tax_unit('ar_high_income_reduction', period) def round_to_nearest_50(num): # Calculate the nearest multiple of 100 diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py index 5474c3b8d..d37fad0ec 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py @@ -3,16 +3,16 @@ class ar_capital_gains(Variable): value_type = float - entity = TaxUnit + entity = Person label = "Arkansas taxable capital gains" unit = USD definition_period = YEAR reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000D_CapitalGains.pdf" defined_for = StateCode.AR - def formula(tax_unit, period, parameters): + def formula(person, period, parameters): - filing_status = tax_unit('filing_status', period) + filing_status = person('filing_status', period) p = parameters(period).gov.states.ar.tax.income.capital_gains @@ -22,17 +22,17 @@ def formula(tax_unit, period, parameters): cap_loss_cap = p.capital_loss_cap - lt_gains = tax_unit("long_term_capital_gains", period) + lt_gains = person("long_term_capital_gains", period) - non_d_gains = tax_unit("non_sch_d_capital_gains", period) + non_d_gains = person("non_sch_d_capital_gains", period) - lt_dep_adjustment = tax_unit('ar_lt_dep_adjustment', period) + lt_dep_adjustment = person('ar_lt_dep_adjustment', period) ar_lt_gain = lt_gains + non_d_gains + lt_dep_adjustment st_gain = ("short_term_capital_gains", period) - st_dep_adjustment = tax_unit('ar_st_dep_adjustment', period) + st_dep_adjustment = person('ar_st_dep_adjustment', period) ar_st_gain = st_gain + st_dep_adjustment From e142b57874bb164f5be7743c3ac5e556205a016e Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 2 Feb 2024 15:25:57 -0700 Subject: [PATCH 162/194] added non refindable credits to yaml file --- .../states/ar/tax/income/credits/non_refundable.yaml | 10 +++++++++- .../gov/states/ar/tax/income/ar_capital_gains.yaml | 1 - 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/non_refundable.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/non_refundable.yaml index d323914a1..78a203e52 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/non_refundable.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/non_refundable.yaml @@ -1,7 +1,15 @@ description: Arkansas provides these nonrefundable income tax credits. values: 2022-01-01: - - ar_inflation_relief_credit + - ar_inflationary_relief_tax_credit + - ar_personal_credits + - ar_stillborn_child_credit + - ar_political_contribution_credit + - ar_other_state_credit + - ar_metabolic_disorder_credit + - ar_adoption_expense_credit + - ar_additional_tax_credit + - ar_business_credits metadata: reference: - title: Inflationary relief income-tax credit worksheet diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_gains.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_gains.yaml index 3768a7804..ea8e66c7e 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_gains.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_gains.yaml @@ -2,7 +2,6 @@ period: 2022 absolute_error_margin: 1 input: - filing_status: JOINT long_term_capital_gains: 0 non_sch_d_capital_gains: 0 ar_lt_dep_adjustment: 0 From 2f4bd6c96dea82210daeee392344ee058dcb06db Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 2 Feb 2024 15:38:11 -0700 Subject: [PATCH 163/194] temporarily removed ar_capital_gains --- .../states/ar/tax/income/income_sources.yaml | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index b94348ca1..b3c550139 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -1,30 +1,13 @@ description: Income sources counted as gross income for tax purposes. values: 2010-01-01: - # - employment_income - # - military_pay - # - taxable_interest_income - # - dividend_income - # - alimony_income - # - self_employment_income - # - partnership_s_corp_income - # - capital_gains - # - other_gains - # - taxable_pension_income # Pension income includes annuities and endowment contracts, non-qualified IRAs, Line 16 - # - military_retirement - # - pension_qual_ira # Royalties included in rental income - # - rental_income - # - farm_income - # - farm_rent_income - # - taxable_unemployment_compensation - # - miscellaneous_income - employment_income # Line 8 - self_employment_income # Line 8 - military_service_income # Line 9 - interest_income # Line 10 - dividend_income # Line 11 - alimony_income # Line 12 - - ar_capital_gains # Line 13 + #- ar_capital_gains # Line 13, not working yet - regular_ira_distributions # Line 16 - taxable_pension_income # Line 18 - rental_income # Line 19 From d71a261cd7ba7c16137ab986afec43ee3b1a5255 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 8 Feb 2024 12:00:37 -0700 Subject: [PATCH 164/194] changing entity type --- .../ar/tax/income/capital_gains/ar_capital_gains.py | 8 ++++---- .../ar/tax/income/capital_gains/ar_lt_dep_adjustment.py | 2 +- .../ar/tax/income/capital_gains/ar_st_dep_adjustment.py | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py index d37fad0ec..24d71724f 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py @@ -12,7 +12,7 @@ class ar_capital_gains(Variable): def formula(person, period, parameters): - filing_status = person('filing_status', period) + # filing_status = person('filing_status', period) p = parameters(period).gov.states.ar.tax.income.capital_gains @@ -56,9 +56,9 @@ def formula(person, period, parameters): ar_taxable_amount ) - total_taxable = where( - total_taxable <= 0, min(total_taxable, cap_loss_cap[filing_status]) - ) + # total_taxable = where( + # total_taxable <= 0, min(total_taxable, cap_loss_cap[filing_status]) + # ) return total_taxable diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_lt_dep_adjustment.py b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_lt_dep_adjustment.py index e4bed5457..8769c16d9 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_lt_dep_adjustment.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_lt_dep_adjustment.py @@ -3,7 +3,7 @@ class ar_lt_dep_adjustment(Variable): value_type = float - entity = TaxUnit + entity = Person label = "Arkansas difference in long term capital gains depreciation from federal amount" unit = USD definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_st_dep_adjustment.py b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_st_dep_adjustment.py index d0e8c2d63..6699bc67e 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_st_dep_adjustment.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_st_dep_adjustment.py @@ -3,7 +3,7 @@ class ar_st_dep_adjustment(Variable): value_type = float - entity = TaxUnit + entity = Person label = "Arkansas difference in short term capital gains depreciation from federal amount" unit = USD definition_period = YEAR From 9b43603b0cdb458da290b955ab73f6911b7f7e59 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 8 Feb 2024 12:12:54 -0700 Subject: [PATCH 165/194] fixing entity types in .py file --- .../gov/states/ar/tax/income/capital_gains/ar_capital_gains.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py index 24d71724f..4cc926d7b 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py @@ -30,7 +30,7 @@ def formula(person, period, parameters): ar_lt_gain = lt_gains + non_d_gains + lt_dep_adjustment - st_gain = ("short_term_capital_gains", period) + st_gain = person("short_term_capital_gains", period) st_dep_adjustment = person('ar_st_dep_adjustment', period) From 133dae4865dcda186f2c1f8a16b39bf408968c22 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 8 Feb 2024 13:01:37 -0700 Subject: [PATCH 166/194] fixed ar_capital_gains --- .../parameters/gov/states/ar/tax/income/income_sources.yaml | 2 +- .../variables/gov/states/ar/tax/income/ar_total_income.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index b3c550139..e366e5f8f 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -7,7 +7,7 @@ values: - interest_income # Line 10 - dividend_income # Line 11 - alimony_income # Line 12 - #- ar_capital_gains # Line 13, not working yet + - ar_capital_gains # Line 13, not working yet - regular_ira_distributions # Line 16 - taxable_pension_income # Line 18 - rental_income # Line 19 diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index beb8a3023..88318b066 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -24,7 +24,8 @@ def formula(person, period, parameters): print("Processing source:", source) print("Is source in retirement_sources?", source in retirement_sources) # Add positive values only - losses are deducted later. - total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0, add(person, period, [source]))) + total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * add(person, period, [source])) + total -= where( source == 'ar_capital gains' & add(person, period, [source]) < 0, ,0) print("total: ", total) return total \ No newline at end of file From c0f94afecda328828b7705f8fef1fe1526735d62 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 8 Feb 2024 13:03:54 -0700 Subject: [PATCH 167/194] fixed syntax --- .../variables/gov/states/ar/tax/income/ar_total_income.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index 88318b066..e56c92916 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -17,6 +17,7 @@ def formula(person, period, parameters): sources = parameters(period).gov.states.ar.tax.income.income_sources ira_exemption = parameters(period).gov.states.ar.tax.income.rates.ira_exemption retirement_sources = parameters(period).gov.states.ar.tax.income.retirement_sources + loss_cap = parameters(period).gov.states.ar.tax.income.capital_gains.capital_loss_cap total = 0 not_dependent = ~person("is_tax_unit_dependent", period) for source in sources: @@ -25,7 +26,7 @@ def formula(person, period, parameters): print("Is source in retirement_sources?", source in retirement_sources) # Add positive values only - losses are deducted later. total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * add(person, period, [source])) - total -= where( source == 'ar_capital gains' & add(person, period, [source]) < 0, ,0) + total -= where( source == 'ar_capital gains' & add(person, period, [source]) < 0, (-(add(person, period, [source])) - loss_cap),0) print("total: ", total) return total \ No newline at end of file From c417d54c21b69981efdcd885aaa06d771fb85db3 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Tue, 13 Feb 2024 14:11:18 -0700 Subject: [PATCH 168/194] capital gains in total income --- .../parameters/gov/states/ar/tax/income/income_sources.yaml | 2 +- .../variables/gov/states/ar/tax/income/ar_total_income.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index e366e5f8f..b3c550139 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -7,7 +7,7 @@ values: - interest_income # Line 10 - dividend_income # Line 11 - alimony_income # Line 12 - - ar_capital_gains # Line 13, not working yet + #- ar_capital_gains # Line 13, not working yet - regular_ira_distributions # Line 16 - taxable_pension_income # Line 18 - rental_income # Line 19 diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index e56c92916..d7714114c 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -25,8 +25,8 @@ def formula(person, period, parameters): print("Processing source:", source) print("Is source in retirement_sources?", source in retirement_sources) # Add positive values only - losses are deducted later. - total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * add(person, period, [source])) - total -= where( source == 'ar_capital gains' & add(person, period, [source]) < 0, (-(add(person, period, [source])) - loss_cap),0) + total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0,add(person, period, [source]))) + # total -= where( source == 'ar_capital gains' & add(person, period, [source]) < 0, (-(add(person, period, [source])) - loss_cap),0) print("total: ", total) return total \ No newline at end of file From 5a449a78037c811c026e3081c75702033b5b6a09 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 14 Feb 2024 10:48:51 -0700 Subject: [PATCH 169/194] added cap loss adjustment --- .../income/ar_capital_loss_adjustment.yaml | 69 +++++++++++++++++++ .../tax/income/ar_capital_loss_adjustment.py | 31 +++++++++ .../income/capital_gains/ar_capital_gains.py | 6 -- 3 files changed, 100 insertions(+), 6 deletions(-) create mode 100644 fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_loss_adjustment.yaml create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/ar_capital_loss_adjustment.py diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_loss_adjustment.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_loss_adjustment.yaml new file mode 100644 index 000000000..a658b2743 --- /dev/null +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_loss_adjustment.yaml @@ -0,0 +1,69 @@ +- name: Arkansas Capital Loss Adjustment, $5000 total loss, Joint + period: 2022 + absolute_error_margin: 0 + input: + people: + person1: + ar_capital_gains: -2_500 + is_tax_unit_dependent: false + person2: + ar_capital_gains: -2_500 + is_tax_unit_dependent: false + person3: + ar_capital_gains: -2_500 + is_tax_unit_dependent: true + tax_units: + tax_unit: + filing_status: JOINT + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: AR + output: + ar_capital_loss_adjustment: 5_000 - 3_000 +- name: Arkansas Capital Loss Adjustment, $2500 total loss, Separate + period: 2022 + absolute_error_margin: 0 + input: + people: + person1: + ar_capital_gains: -2_500 + is_tax_unit_dependent: false + person2: + ar_capital_gains: -2_500 + is_tax_unit_dependent: true + tax_units: + tax_unit: + filing_status: SEPARATE + members: [person1, person2] + households: + household: + members: [person1, person2] + state_code: AR + output: + ar_capital_loss_adjustment: 2_500 - 1_500 +- name: Arkansas Capital Loss Adjustment, $2000 total loss, Joint + period: 2022 + absolute_error_margin: 0 + input: + people: + person1: + ar_capital_gains: -2_000 + is_tax_unit_dependent: false + person2: + ar_capital_gains: 0 + is_tax_unit_dependent: false + person3: + ar_capital_gains: -2_500 + is_tax_unit_dependent: true + tax_units: + tax_unit: + filing_status: JOINT + members: [person1, person2, person3] + households: + household: + members: [person1, person2, person3] + state_code: AR + output: + ar_capital_loss_adjustment: 0 diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_capital_loss_adjustment.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_capital_loss_adjustment.py new file mode 100644 index 000000000..27dd27cda --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_capital_loss_adjustment.py @@ -0,0 +1,31 @@ +from fiscalsim_us.model_api import * + +class ar_capital_loss_adjustment(Variable): + + value_type = float + entity = TaxUnit + label = "Arkansas capital loss adjustment" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000D_CapitalGains.pdf" + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + + filing_status = tax_unit('filing_status', period) + + person = tax_unit.members + not_dependent = ~person("is_tax_unit_dependent", period) + + capital_gains = 0 + capital_gains += not_dependent * add(person, period, 'ar_capital_gains') + + + capital_gains = tax_unit.sum(capital_gains) + + cap_loss_cap = parameters(period).gov.states.ar.tax.income.capital_gains.capital_loss_cap[filing_status] + + adjustment = where(capital_gains < -cap_loss_cap, -capital_gains - cap_loss_cap, 0) + + return adjustment + diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py index 4cc926d7b..683259253 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py @@ -20,8 +20,6 @@ def formula(person, period, parameters): ar_lt_taxable_pct = p.long_term_cap_gain_taxable_pct - cap_loss_cap = p.capital_loss_cap - lt_gains = person("long_term_capital_gains", period) non_d_gains = person("non_sch_d_capital_gains", period) @@ -56,10 +54,6 @@ def formula(person, period, parameters): ar_taxable_amount ) - # total_taxable = where( - # total_taxable <= 0, min(total_taxable, cap_loss_cap[filing_status]) - # ) - return total_taxable From 8e3162f952aa3fa10a5eb4bede2f55fcda7f952f Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 14 Feb 2024 11:10:29 -0700 Subject: [PATCH 170/194] added brackets within add function arg --- .../gov/states/ar/tax/income/ar_capital_loss_adjustment.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_capital_loss_adjustment.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_capital_loss_adjustment.py index 27dd27cda..aa390d6d4 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_capital_loss_adjustment.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_capital_loss_adjustment.py @@ -18,7 +18,7 @@ def formula(tax_unit, period, parameters): not_dependent = ~person("is_tax_unit_dependent", period) capital_gains = 0 - capital_gains += not_dependent * add(person, period, 'ar_capital_gains') + capital_gains += not_dependent * add(person, period, ['ar_capital_gains']) capital_gains = tax_unit.sum(capital_gains) From 215919d046d751e14526d3a5e1d3e5e1834b3c89 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 14 Feb 2024 11:22:09 -0700 Subject: [PATCH 171/194] moved add function to separate line --- .../variables/gov/states/ar/tax/income/ar_total_income.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index d7714114c..9bef35303 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -25,8 +25,8 @@ def formula(person, period, parameters): print("Processing source:", source) print("Is source in retirement_sources?", source in retirement_sources) # Add positive values only - losses are deducted later. - total += where(source in retirement_sources, not_dependent * max_(0, add(person, period, [source])-ira_exemption),not_dependent * max_(0,add(person, period, [source]))) - # total -= where( source == 'ar_capital gains' & add(person, period, [source]) < 0, (-(add(person, period, [source])) - loss_cap),0) + amount = add(person, period, [source]) + total += where(source in retirement_sources, not_dependent * max_(0, amount -ira_exemption),not_dependent * max_(0,amount)) print("total: ", total) return total \ No newline at end of file From ecdd96a084eb55771cd5f8e62c2428977c328920 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 14 Feb 2024 11:31:45 -0700 Subject: [PATCH 172/194] removed brackets in add function call --- .../variables/gov/states/ar/tax/income/ar_total_income.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index 9bef35303..dd86f5e8a 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -25,7 +25,7 @@ def formula(person, period, parameters): print("Processing source:", source) print("Is source in retirement_sources?", source in retirement_sources) # Add positive values only - losses are deducted later. - amount = add(person, period, [source]) + amount = add(person, period, source) total += where(source in retirement_sources, not_dependent * max_(0, amount -ira_exemption),not_dependent * max_(0,amount)) print("total: ", total) From 59b4a53ada21cbb754f3217733e8f5a28203b5c1 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 14 Feb 2024 11:37:45 -0700 Subject: [PATCH 173/194] trying another syntax --- .../variables/gov/states/ar/tax/income/ar_total_income.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index dd86f5e8a..a4b7efb7f 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -25,7 +25,8 @@ def formula(person, period, parameters): print("Processing source:", source) print("Is source in retirement_sources?", source in retirement_sources) # Add positive values only - losses are deducted later. - amount = add(person, period, source) + # amount = add(person, period, [source]) + amount = person(source, period) total += where(source in retirement_sources, not_dependent * max_(0, amount -ira_exemption),not_dependent * max_(0,amount)) print("total: ", total) From 97a77e93fa21f8f7576be096e29a47689518a0f6 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 15 Feb 2024 13:37:07 -0700 Subject: [PATCH 174/194] fixed nonqualified distributions --- .../states/ar/tax/income/income_sources.yaml | 10 ++++--- .../ar_nonqualified_ira_distributions.py | 13 ++++++++ .../states/ar/tax/income/ar_other_income.py | 30 +++++++++++++++++++ 3 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/ar_nonqualified_ira_distributions.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_income.py diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index b3c550139..250e97bfa 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -2,18 +2,20 @@ description: Income sources counted as gross income for tax purposes. values: 2010-01-01: - employment_income # Line 8 - - self_employment_income # Line 8 - military_service_income # Line 9 - interest_income # Line 10 - dividend_income # Line 11 - alimony_income # Line 12 - #- ar_capital_gains # Line 13, not working yet - - regular_ira_distributions # Line 16 + - self_employment_income # Line 13 + - ar_capital_gains # Line 14, not working yet + - other_net_gains # Line 15 + - ar_nonqualified_ira_distributions # Line 16 + - military_retirement_pay # Line 17 - taxable_pension_income # Line 18 - rental_income # Line 19 - farm_rent_income # Line 20 - unemployment_compensation # Line 21 - # - ar_military_retirement_income_person # Line 17 + - ar_other_income # Line 22 metadata: unit: currency-USD diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_nonqualified_ira_distributions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_nonqualified_ira_distributions.py new file mode 100644 index 000000000..ed8b8427e --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_nonqualified_ira_distributions.py @@ -0,0 +1,13 @@ +from fiscalsim_us.model_api import * + +class ar_nonqualified_ira_distributions(Variable): + """ + AR1000F Line 16 + """ + value_type = float + entity = TaxUnit + label = "Arkansas nonqualified ira and annuity distributions" + unit = USD + definition_period = YEAR + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000D_CapitalGains.pdf" + defined_for = StateCode.AR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_income.py new file mode 100644 index 000000000..90ec8922f --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_income.py @@ -0,0 +1,30 @@ +from fiscalsim_us.model_api import * + + +class ar_other_income(Variable): + "AR-OI form" + """ + Additions to income include: + Federal Depreciation + HSA/MSA taxable distributions + Long-term care insurance contracts + Gambling Winnings + Lottery/Contest Winnings + Scholarships/fellowships/stipends + Pass Through Entity Adjustment + + Subtractions from Income include: + State Depreciation + Net operating loss + Foreign earned income exclusion + Pass Through Entity Adjustment + Other + """ + + value_type = float + entity = TaxUnit + label = "Arkansas other income" + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=10" + defined_for = StateCode.AR + unit = USD + definition_period = YEAR \ No newline at end of file From bad860093e5e920df770f4b7957a27ceb8ba1155 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 15 Feb 2024 13:49:28 -0700 Subject: [PATCH 175/194] added ar other net gains --- .../gov/states/ar/tax/income/income_sources.yaml | 2 +- .../gov/states/ar/tax/income/ar_other_net_gains.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gains.py diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index 250e97bfa..09c9c395a 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -8,7 +8,7 @@ values: - alimony_income # Line 12 - self_employment_income # Line 13 - ar_capital_gains # Line 14, not working yet - - other_net_gains # Line 15 + - ar_other_net_gains # Line 15 - ar_nonqualified_ira_distributions # Line 16 - military_retirement_pay # Line 17 - taxable_pension_income # Line 18 diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gains.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gains.py new file mode 100644 index 000000000..2c04e5414 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gains.py @@ -0,0 +1,10 @@ +from fiscalsim_us.model_api import * + + +class ar_other_net_gain(Variable): + value_type = float + entity = TaxUnit + label = "Other net gains" + unit = USD + documentation = "Other net gain/loss from Federal Form 4797" + definition_period = YEAR \ No newline at end of file From b1a5107318bacf8934d023c55bdc9461b9bda939 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 15 Feb 2024 13:55:10 -0700 Subject: [PATCH 176/194] fixed title --- .../ar/tax/income/{ar_other_net_gains.py => ar_other_net_gain.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename fiscalsim_us/variables/gov/states/ar/tax/income/{ar_other_net_gains.py => ar_other_net_gain.py} (100%) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gains.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gain.py similarity index 100% rename from fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gains.py rename to fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gain.py From ca8f292de40b18572cadd4bffbf75f64ecdda38f Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 15 Feb 2024 14:01:09 -0700 Subject: [PATCH 177/194] fixed source title --- .../tax/income/{ar_other_net_gain.py => ar_other_net_gains.py} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename fiscalsim_us/variables/gov/states/ar/tax/income/{ar_other_net_gain.py => ar_other_net_gains.py} (85%) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gain.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gains.py similarity index 85% rename from fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gain.py rename to fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gains.py index 2c04e5414..838c36097 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gain.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gains.py @@ -1,7 +1,7 @@ from fiscalsim_us.model_api import * -class ar_other_net_gain(Variable): +class ar_other_net_gains(Variable): value_type = float entity = TaxUnit label = "Other net gains" From 53174c0097a8e94bdda31adb381f7ef1f9585467 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 15 Feb 2024 14:06:42 -0700 Subject: [PATCH 178/194] fixed entity status --- .../variables/gov/states/ar/tax/income/ar_other_net_gains.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gains.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gains.py index 838c36097..00ae78be2 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gains.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gains.py @@ -3,7 +3,7 @@ class ar_other_net_gains(Variable): value_type = float - entity = TaxUnit + entity = Person label = "Other net gains" unit = USD documentation = "Other net gain/loss from Federal Form 4797" From 1e41507af89046a6e4b32998448ec00a8dc09c65 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 15 Feb 2024 14:14:12 -0700 Subject: [PATCH 179/194] fixed entity type --- .../states/ar/tax/income/ar_nonqualified_ira_distributions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_nonqualified_ira_distributions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_nonqualified_ira_distributions.py index ed8b8427e..b2a8d1f0d 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_nonqualified_ira_distributions.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_nonqualified_ira_distributions.py @@ -5,7 +5,7 @@ class ar_nonqualified_ira_distributions(Variable): AR1000F Line 16 """ value_type = float - entity = TaxUnit + entity = Person label = "Arkansas nonqualified ira and annuity distributions" unit = USD definition_period = YEAR From ec623c207678efcf1109422ee7229cadeb1ced0a Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 15 Feb 2024 14:19:50 -0700 Subject: [PATCH 180/194] fixed entity type --- .../variables/gov/states/ar/tax/income/ar_other_income.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_income.py index 90ec8922f..3b541f0a9 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_income.py @@ -22,7 +22,7 @@ class ar_other_income(Variable): """ value_type = float - entity = TaxUnit + entity = Person label = "Arkansas other income" reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=10" defined_for = StateCode.AR From 724d8d9b16fc668585266fa6337700f082ef8926 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 16 Feb 2024 11:07:01 -0700 Subject: [PATCH 181/194] deleted comments --- .../gov/states/ar/tax/income/ar_capital_loss_adjustment.py | 1 - 1 file changed, 1 deletion(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_capital_loss_adjustment.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_capital_loss_adjustment.py index aa390d6d4..3bc5d4bca 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_capital_loss_adjustment.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_capital_loss_adjustment.py @@ -28,4 +28,3 @@ def formula(tax_unit, period, parameters): adjustment = where(capital_gains < -cap_loss_cap, -capital_gains - cap_loss_cap, 0) return adjustment - From 4621b4770df5181685c677063ecfcdee7b2f265a Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 16 Feb 2024 11:08:53 -0700 Subject: [PATCH 182/194] deleted print statements --- .../variables/gov/states/ar/tax/income/ar_total_income.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index a4b7efb7f..fdd50f05c 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -21,13 +21,6 @@ def formula(person, period, parameters): total = 0 not_dependent = ~person("is_tax_unit_dependent", period) for source in sources: - print(source) - print("Processing source:", source) - print("Is source in retirement_sources?", source in retirement_sources) - # Add positive values only - losses are deducted later. - # amount = add(person, period, [source]) amount = person(source, period) total += where(source in retirement_sources, not_dependent * max_(0, amount -ira_exemption),not_dependent * max_(0,amount)) - print("total: ", total) - return total \ No newline at end of file From 034506c4b2a3007e4d5806b2cc7741e89d46b521 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Fri, 16 Feb 2024 14:57:46 -0700 Subject: [PATCH 183/194] added capital loss adjustment to total income py file --- fiscalsim_us/variables/gov/states/ar/tax/income/ar_agi.py | 2 +- .../gov/states/ar/tax/income/credits/ar_low_income_credit.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_agi.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_agi.py index 65487cce2..7121fa536 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_agi.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_agi.py @@ -11,5 +11,5 @@ class ar_agi(Variable): # Arkansas Code reference = "https://law.justia.com/codes/arkansas/2019/title-26/subtitle-5/chapter-51/subchapter-4/section-26-51-403/" - adds = ["ar_total_income"] + adds = ["ar_total_income", "ar_capital_loss_adjustment"] subtracts = ["ar_income_adjustments"] \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 4949d581e..11a87b09d 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -56,7 +56,7 @@ def round_to_nearest_50(num): min_tax_liability = tax_rate.calc(rounded_min_income) print('unrounded tax liability of min', min_tax_liability) - min_tax_liability = round(min_tax_liability,0) + min_tax_liability = round_(min_tax_liability,0) print('Tax liability of minimum: ', min_tax_liability ) From e353cce631656275dc1d3a3035968b7bfa7ab34b Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 28 Feb 2024 16:24:02 -0700 Subject: [PATCH 184/194] fixing cdcc credit --- .../parameters/gov/states/ar/README.md | 5 +++- .../ar/tax/income/credits/non_refundable.yaml | 1 + .../ar/tax/income/credits/refundable.yaml | 2 +- .../income/credits/ar_low_income_credit.yaml | 2 +- .../ar/tax/income/ar_high_income_reduction.py | 4 --- .../ar_capital_loss_adjustment.py | 0 .../income/credits/ar_low_income_credit.py | 15 ++--------- .../tax/income/credits/ar_qual_dependents.py | 1 - .../ar/tax/income/credits/cdcc/ar_cdcc.py | 25 +------------------ .../credits/cdcc/ar_cdcc_refundable_pct.py | 11 ++++++++ .../credits/cdcc/ar_nonrefundable_cdcc.py | 17 +++++++++++++ .../income/credits/cdcc/ar_refundable_cdcc.py | 17 +++++++++++++ 12 files changed, 55 insertions(+), 45 deletions(-) rename fiscalsim_us/variables/gov/states/ar/tax/income/{ => capital_gains}/ar_capital_loss_adjustment.py (100%) create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_refundable_pct.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_nonrefundable_cdcc.py create mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_refundable_cdcc.py diff --git a/fiscalsim_us/parameters/gov/states/ar/README.md b/fiscalsim_us/parameters/gov/states/ar/README.md index ab1d59e88..1a506d4be 100644 --- a/fiscalsim_us/parameters/gov/states/ar/README.md +++ b/fiscalsim_us/parameters/gov/states/ar/README.md @@ -1 +1,4 @@ -# Arkansas \ No newline at end of file +# Arkansas +* The Arkansas code gives the Arkansas DFA significant control over how the tax code is implemented. In our model, we follow the DFA's interpretation in most cases for that reason. +* We do not model Line 32 on AR1000F, because federal form 5329 is not modeled on the federal level. +* We calculate the low income tax credit slightly differently than the Arkansas DFA does. The DFA rounds the unrounded tax liability to the nearest tenth before rounding the result to the nearest whole number. It then proceeds with the formula using that result. We find this to be incorrect mathematically and simply round the tax liability to the nearest whole number before proceeding with the rest of the formula. Usually, this doesn't change the result, but it occasionally results in the DFA's calculation overestimating the credit by 1. \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/non_refundable.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/non_refundable.yaml index 78a203e52..2b3d2bb66 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/non_refundable.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/non_refundable.yaml @@ -10,6 +10,7 @@ values: - ar_adoption_expense_credit - ar_additional_tax_credit - ar_business_credits + - ar_nonrefundable_cdcc metadata: reference: - title: Inflationary relief income-tax credit worksheet diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/refundable.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/refundable.yaml index aeb1e0686..36fda24fa 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/refundable.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/refundable.yaml @@ -1,7 +1,7 @@ description: Arkansas provides these refundable income tax credits. values: 2021-01-01: - - ar_cdcc + - ar_refundable_cdcc metadata: reference: - title: Ark. Code R. § 26-51-502 Household and dependent care expenses (c)(1)(A)(ii) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml index b1f138c82..f9e6d38d8 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml @@ -9,7 +9,7 @@ ar_itemized_deductions: 200 ar_agi: 13_450 output: - ar_low_income_credit: 104 + ar_low_income_credit: 103 - name: Separate household with $20,000 taxable income - not eligible period: 2022 diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index 133c826af..b3760b1a8 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -41,10 +41,6 @@ def round_to_nearest_50(num): rounded_income = round_to_nearest_50(agi_less_ded) rounded_min_income = round_to_nearest_50(min_income) - print("Rounded income: ", rounded_income) - reduction_amount = reduction.calc(rounded_income, right = True) - print("reduction amount: ", reduction_amount) - return reduction_amount \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_capital_loss_adjustment.py b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_loss_adjustment.py similarity index 100% rename from fiscalsim_us/variables/gov/states/ar/tax/income/ar_capital_loss_adjustment.py rename to fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_loss_adjustment.py diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index 11a87b09d..cdd96ce02 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -1,4 +1,5 @@ from fiscalsim_us.model_api import * +import numpy as np from numpy import round @@ -49,28 +50,19 @@ def round_to_nearest_50(num): rounded_income = round_to_nearest_50(agi_less_ded) rounded_min_income = round_to_nearest_50(min_inc_less_ded) - print('rounded income is:', rounded_income) - print('Rounded min income is: ', rounded_min_income) - # Calculate the tax liability on min_income min_tax_liability = tax_rate.calc(rounded_min_income) - print('unrounded tax liability of min', min_tax_liability) - min_tax_liability = round_(min_tax_liability,0) - - print('Tax liability of minimum: ', min_tax_liability ) + min_tax_liability = round(min_tax_liability) # Calculate the credit amount credit_amount = min_tax_liability * credit_rate - print("highest credit amount is: ", credit_amount) - # Calculate the phaseout reduction for each $100 over min_income excess_income = rounded_income - rounded_min_income phaseout_count = where(excess_income % 100 > 0, excess_income // 100 +1, excess_income // 100) phaseout_reduction = phaseout_count * phaseout_rate - print('Phaseout reduction is: ', phaseout_reduction) # Reduce the credit amount based on the phaseout reduction credit_amount -= phaseout_reduction @@ -81,7 +73,4 @@ def round_to_nearest_50(num): credit_amount = round(credit_amount, 0) - print('credit amount is', credit_amount) - - return credit_amount \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_qual_dependents.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_qual_dependents.py index 088e49dfe..1c29c9f71 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_qual_dependents.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_qual_dependents.py @@ -6,7 +6,6 @@ class ar_qual_dependents(Variable): value_type = float entity = TaxUnit label = "Arkansas Qualifying Dependents" - unit = USD definition_period = YEAR reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf" defined_for = StateCode.AR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc.py index ea21a3e39..14be15c99 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc.py @@ -13,27 +13,4 @@ class ar_cdcc(Variable): def formula(tax_unit, period, parameters): p = parameters(period).gov.states.ar.tax.income.credits.cdcc cdcc = tax_unit("cdcc", period) - return cdcc * p.match - - # filing_status = tax_unit('filing_status',period) #Needed? - - # gross_num_eligible = tax_unit.sum( - # tax_unit.members("ar_cdcc_qualified_dependent", period) - # ) - - # max_qual_expenses = where(gross_num_eligible >= 2, p.childcare_qual_max *2, p.childcare_qual_max) - - # qualified_expenses = min(tax_unit('tax_unit_qualified_expenses', period), max_qual_expenses) - - # earned_income_head = tax_unit('ar_cdcc_earned_income_head', period) #NOT FINALIZED - # earned_income_spouse = tax_unit('ar_cdcc_earned_income_spouse', period) #NOT FINALIZED - - # base_amount = min(qualified_expenses, earned_income_head, earned_income_spouse) - - # fed_agi = tax_unit('adjusted_gross_income', period) - - # childcare_credit = p.childcare_rates[fed_agi] * base_amount - - - - # return childcare_credit \ No newline at end of file + return cdcc * p.match \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_refundable_pct.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_refundable_pct.py new file mode 100644 index 000000000..eb8264cd0 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_refundable_pct.py @@ -0,0 +1,11 @@ +from fiscalsim_us.model_api import * + + +class ar_cdcc_refundable_pct(Variable): + value_type = float + entity = TaxUnit + label = "Percentage of AR CCDC that is refundable, meaning that it quaifies for the Early Childhood Program" + documentation = "https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-502/" + definition_period = YEAR + defined_for = StateCode.AR + diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_nonrefundable_cdcc.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_nonrefundable_cdcc.py new file mode 100644 index 000000000..f8c09ff7c --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_nonrefundable_cdcc.py @@ -0,0 +1,17 @@ +from fiscalsim_us.model_api import * + + +class ar_nonrefundable_cdcc(Variable): + value_type = float + entity = TaxUnit + label = "Arkansas Child and Dependent Care Credit Nonrefundable Portion" + unit = USD + documentation = "https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-502/" + definition_period = YEAR + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + cdcc = tax_unit('ar_cdcc', period) + refundable_pct = tax_unit('ar_cdcc_refundable_pct', period) + + return cdcc * (1- refundable_pct) \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_refundable_cdcc.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_refundable_cdcc.py new file mode 100644 index 000000000..8f569416a --- /dev/null +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_refundable_cdcc.py @@ -0,0 +1,17 @@ +from fiscalsim_us.model_api import * + + +class ar_refundable_cdcc(Variable): + value_type = float + entity = TaxUnit + label = "Arkansas Child and Dependent Care Credit Nonrefundable Portion" + unit = USD + documentation = "https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-502/" + definition_period = YEAR + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + cdcc = tax_unit('ar_cdcc', period) + refundable_pct = tax_unit('ar_cdcc_refundable_pct', period) + + return cdcc * refundable_pct \ No newline at end of file From ad4851983ee9ae37db1a8cf87aa3c520dc443c53 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 29 Feb 2024 13:13:41 -0700 Subject: [PATCH 185/194] fixing dependent credits --- fiscalsim_us/parameters/gov/states/ar/README.md | 1 + .../tax/income/credits/ar_head_retirement_income.py | 13 +++++++++++-- .../ar/tax/income/credits/ar_personal_credits.py | 2 +- .../ar/tax/income/credits/ar_qual_dependents.py | 12 +++++++++++- .../income/credits/ar_spouse_retirement_income.py | 13 +++++++++++-- 5 files changed, 35 insertions(+), 6 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/README.md b/fiscalsim_us/parameters/gov/states/ar/README.md index 1a506d4be..145dc7fcb 100644 --- a/fiscalsim_us/parameters/gov/states/ar/README.md +++ b/fiscalsim_us/parameters/gov/states/ar/README.md @@ -1,4 +1,5 @@ # Arkansas * The Arkansas code gives the Arkansas DFA significant control over how the tax code is implemented. In our model, we follow the DFA's interpretation in most cases for that reason. * We do not model Line 32 on AR1000F, because federal form 5329 is not modeled on the federal level. +* We do not model full or part-year resident status * We calculate the low income tax credit slightly differently than the Arkansas DFA does. The DFA rounds the unrounded tax liability to the nearest tenth before rounding the result to the nearest whole number. It then proceeds with the formula using that result. We find this to be incorrect mathematically and simply round the tax liability to the nearest whole number before proceeding with the rest of the formula. Usually, this doesn't change the result, but it occasionally results in the DFA's calculation overestimating the credit by 1. \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_head_retirement_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_head_retirement_income.py index 2432d3c92..0745ec589 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_head_retirement_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_head_retirement_income.py @@ -4,7 +4,6 @@ class ar_head_retirement_income(Variable): """If zero, mark '65 Special' Line 7A of form AR1000F - taxable_pension_income - - qualified_ira_distributions """ value_type = float entity = TaxUnit @@ -12,4 +11,14 @@ class ar_head_retirement_income(Variable): unit = USD definition_period = YEAR reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf" - defined_for = StateCode.AR \ No newline at end of file + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + + person = tax_unit.members + is_head = ~person("is_tax_unit_head", period) + + income = 0 + income += is_head * add(person, period, ['ar_retirement_sources']) + + return tax_unit.sum(income) \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py index b1df90290..be1377103 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_personal_credits.py @@ -27,7 +27,7 @@ def formula(tax_unit, period, parameters): aged_spouse = where(tax_unit("age_spouse", period).astype(int)>=age_threshold,1,0) aged_credit = (aged_head + aged_spouse) * personal_credit_amount - head_retirement_income = tax_unit('ar_head_retirement_income', period) # Probably not implemented correctly + head_retirement_income = tax_unit('ar_head_retirement_income', period) spouse_retirement_income = tax_unit('ar_spouse_retirement_income', period) aged_special_head = where(aged_head == 1 and head_retirement_income <= 0, 1, 0) aged_special_spouse = where(aged_spouse == 1 and spouse_retirement_income <= 0, 1, 0) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_qual_dependents.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_qual_dependents.py index 1c29c9f71..e6f1d9f39 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_qual_dependents.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_qual_dependents.py @@ -8,4 +8,14 @@ class ar_qual_dependents(Variable): label = "Arkansas Qualifying Dependents" definition_period = YEAR reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf" - defined_for = StateCode.AR \ No newline at end of file + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + + person = tax_unit.members + is_dependent = ~person("is_tax_unit_dependent", period) + is_disabled = ~person("is_disabled", period) + + eligible = is_dependent * is_disabled + + return tax_unit.sum(eligible) \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_spouse_retirement_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_spouse_retirement_income.py index 076fa2f08..f86fc207f 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_spouse_retirement_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_spouse_retirement_income.py @@ -4,7 +4,6 @@ class ar_spouse_retirement_income(Variable): """ Line 18B, If zero, mark '65 Special' Line 7A of form AR1000F - taxable_pension_income - - qualified_ira_distributions """ value_type = float entity = TaxUnit @@ -12,4 +11,14 @@ class ar_spouse_retirement_income(Variable): unit = USD definition_period = YEAR reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf" - defined_for = StateCode.AR \ No newline at end of file + defined_for = StateCode.AR + + def formula(tax_unit, period, parameters): + + person = tax_unit.members + is_spouse = ~person("is_tax_unit_spouse", period) + + income = 0 + income += is_spouse * add(person, period, ['ar_retirement_sources']) + + return tax_unit.sum(income) \ No newline at end of file From a9cc10fb5562736f4796cce2c3f51a8515e936ce Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 29 Feb 2024 13:57:18 -0700 Subject: [PATCH 186/194] fixed cap gains and added tests --- .../ar/tax/income/ar_capital_gains.yaml | 38 ++++++++++++++++++- .../income/capital_gains/ar_capital_gains.py | 2 +- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_gains.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_gains.yaml index ea8e66c7e..581971dc2 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_gains.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_gains.yaml @@ -9,4 +9,40 @@ ar_st_dep_adjustment: 0 state_code: AR output: - ar_capital_gains: 0 \ No newline at end of file + ar_capital_gains: 0 +- name: AR taxable capital gains test 2 - $10,000 in LTG, $1,000 in STL + period: 2022 + absolute_error_margin: 1 + input: + long_term_capital_gains: 10_000 + non_sch_d_capital_gains: 0 + ar_lt_dep_adjustment: 0 + short_term_capital_gains: -1_000 + ar_st_dep_adjustment: 0 + state_code: AR + output: + ar_capital_gains: 4_500 +- name: AR taxable capital gains test 3 - $11,000,000 in LTG, $10,000 in STL + period: 2022 + absolute_error_margin: 1 + input: + long_term_capital_gains: 11_000_000 + non_sch_d_capital_gains: 0 + ar_lt_dep_adjustment: 0 + short_term_capital_gains: -10_000 + ar_st_dep_adjustment: 0 + state_code: AR + output: + ar_capital_gains: 5_000_000 +- name: AR taxable capital gains test 2 - $1,000 in LTG, $5,000 in STL + period: 2022 + absolute_error_margin: 1 + input: + long_term_capital_gains: 1_000 + non_sch_d_capital_gains: 0 + ar_lt_dep_adjustment: 0 + short_term_capital_gains: -5_000 + ar_st_dep_adjustment: 0 + state_code: AR + output: + ar_capital_gains: -4_000 \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py index 683259253..b78ead5fb 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py @@ -40,7 +40,7 @@ def formula(person, period, parameters): ar_net_lt_gain = where( ar_st_gain < 0, where( - ar_lt_gain - ar_st_gain >= 0, min(max_taxable_gain, ar_lt_gain - ar_st_gain), ar_lt_gain + ar_st_gain + ar_lt_gain + ar_st_gain >= 0, min(max_taxable_gain, ar_lt_gain + ar_st_gain), ar_lt_gain + ar_st_gain ), min(ar_lt_gain, max_taxable_gain) ) From 104d84632e713dc14823e618a233c5cb11ee1478 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 6 Mar 2024 14:57:38 -0700 Subject: [PATCH 187/194] fixed high income reduction --- .../high_income_reduction.yaml | 94 ++++++++ .../high_income_reduction_amount.yaml | 12 - .../high_income_reduction_phaseout.yaml | 12 - .../states/ar/tax/income/income_sources.yaml | 2 +- .../ar/tax/income/rates/adjustment.yaml | 219 ------------------ .../income/rates/high_Income_adjustment.yaml | 199 ---------------- ...ome_tax_before_non_refundable_credits.yaml | 8 - .../ar/tax/income/ar_additional_ira_tax.py | 13 -- ...ncome_tax_before_non_refundable_credits.py | 5 +- .../states/ar/tax/income/ar_total_income.py | 1 - .../ar_inflationary_relief_tax_credit.py | 2 +- .../lump_sum_dist/ar_lump_sum_dist_tax.py | 70 +++--- 12 files changed, 134 insertions(+), 503 deletions(-) delete mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/rates/adjustment.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_Income_adjustment.yaml delete mode 100644 fiscalsim_us/variables/gov/states/ar/tax/income/ar_additional_ira_tax.py diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml index 3ab5af551..31143a3d8 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml @@ -6,192 +6,286 @@ brackets: 2022-01-01: 0 - threshold: 2022-01-01: 87_001 + 2023-01-01: 89_601 amount: 2022-01-01: 460 + 2023-01-01: 430 - threshold: 2022-01-01: 87_101 + 2023-01-01: 89_701 amount: 2022-01-01: 450 + 2023-01-01: 420 - threshold: 2022-01-01: 87_201 + 2023-01-01: 89_801 amount: 2022-01-01: 440 + 2023-01-01: 410 - threshold: 2022-01-01: 87_301 + 2023-01-01: 89_901 amount: 2022-01-01: 430 + 2023-01-01: 400 - threshold: 2022-01-01: 87_401 + 2023-01-01: 90_001 amount: 2022-01-01: 420 + 2023-01-01: 390 - threshold: 2022-01-01: 87_601 + 2023-01-01: 90_201 amount: 2022-01-01: 410 + 2023-01-01: 380 - threshold: 2022-01-01: 87_701 + 2023-01-01: 90_301 amount: 2022-01-01: 400 + 2023-01-01: 370 - threshold: 2022-01-01: 87_801 + 2023-01-01: 90_401 amount: 2022-01-01: 390 + 2023-01-01: 360 - threshold: 2022-01-01: 87_901 + 2023-01-01: 90_501 amount: 2022-01-01: 380 + 2023-01-01: 350 - threshold: 2022-01-01: 88_001 + 2023-01-01: 90_601 amount: 2022-01-01: 370 + 2023-01-01: 340 - threshold: 2022-01-01: 88_101 + 2023-01-01: 90_701 amount: 2022-01-01: 360 + 2023-01-01: 330 - threshold: 2022-01-01: 88_201 + 2023-01-01: 90_801 amount: 2022-01-01: 350 + 2023-01-01: 320 - threshold: 2022-01-01: 88_301 + 2023-01-01: 90_901 amount: 2022-01-01: 340 + 2023-01-01: 310 - threshold: 2022-01-01: 88_401 + 2023-01-01: 91_101 amount: 2022-01-01: 330 + 2023-01-01: 300 - threshold: 2022-01-01: 88_501 + 2023-01-01: 91_201 amount: 2022-01-01: 320 + 2023-01-01: 290 - threshold: 2022-01-01: 88_601 + 2023-01-01: 91_301 amount: 2022-01-01: 310 + 2023-01-01: 280 - threshold: 2022-01-01: 88_701 + 2023-01-01: 91_401 amount: 2022-01-01: 300 + 2023-01-01: 270 - threshold: 2022-01-01: 88_801 + 2023-01-01: 91_501 amount: 2022-01-01: 290 + 2023-01-01: 260 - threshold: 2022-01-01: 88_901 + 2023-01-01: 91_601 amount: 2022-01-01: 280 + 2023-01-01: 250 - threshold: 2022-01-01: 89_001 + 2023-01-01: 91_701 amount: 2022-01-01: 270 + 2023-01-01: 240 - threshold: 2022-01-01: 89_101 + 2023-01-01: 91_801 amount: 2022-01-01: 260 + 2023-01-01: 230 - threshold: 2022-01-01: 89_201 + 2023-01-01: 91_901 amount: 2022-01-01: 250 + 2023-01-01: 220 - threshold: 2022-01-01: 89_301 + 2023-01-01: 92_001 amount: 2022-01-01: 240 + 2023-01-01: 210 - threshold: 2022-01-01: 89_401 + 2023-01-01: 92_101 amount: 2022-01-01: 230 + 2023-01-01: 200 - threshold: 2022-01-01: 89_501 + 2023-01-01: 92_201 amount: 2022-01-01: 220 + 2023-01-01: 190 - threshold: 2022-01-01: 89_601 + 2023-01-01: 92_301 amount: 2022-01-01: 210 + 2023-01-01: 180 - threshold: 2022-01-01: 89_701 + 2023-01-01: 92_401 amount: 2022-01-01: 200 + 2023-01-01: 170 - threshold: 2022-01-01: 89_801 + 2023-01-01: 92_501 amount: 2022-01-01: 190 + 2023-01-01: 160 - threshold: 2022-01-01: 89_901 + 2023-01-01: 92_601 amount: 2022-01-01: 180 + 2023-01-01: 150 - threshold: 2022-01-01: 90_001 + 2023-01-01: 92_701 amount: 2022-01-01: 170 + 2023-01-01: 140 - threshold: 2022-01-01: 90_101 + 2023-01-01: 92_801 amount: 2022-01-01: 160 + 2023-01-01: 130 - threshold: 2022-01-01: 90_201 + 2023-01-01: 92_901 amount: 2022-01-01: 150 + 2023-01-01: 120 - threshold: 2022-01-01: 90_301 + 2023-01-01: 93_001 amount: 2022-01-01: 140 + 2023-01-01: 110 - threshold: 2022-01-01: 90_401 + 2023-01-01: 93_101 amount: 2022-01-01: 130 + 2023-01-01: 100 - threshold: 2022-01-01: 90_501 + 2023-01-01: 93_201 amount: 2022-01-01: 120 + 2023-01-01: 90 - threshold: 2022-01-01: 90_601 + 2023-01-01: 93_301 amount: 2022-01-01: 110 + 2023-01-01: 80 - threshold: 2022-01-01: 90_701 + 2023-01-01: 93_401 amount: 2022-01-01: 100 + 2023-01-01: 70 - threshold: 2022-01-01: 90_801 + 2023-01-01: 93_501 amount: 2022-01-01: 90 + 2023-01-01: 60 - threshold: 2022-01-01: 90_901 + 2023-01-01: 93_601 amount: 2022-01-01: 80 + 2023-01-01: 50 - threshold: 2022-01-01: 91_001 + 2023-01-01: 93_801 amount: 2022-01-01: 70 + 2023-01-01: 40 - threshold: 2022-01-01: 91_101 + 2023-01-01: 93_901 amount: 2022-01-01: 60 + 2023-01-01: 30 - threshold: 2022-01-01: 91_201 + 2023-01-01: 94_001 amount: 2022-01-01: 50 + 2023-01-01: 20 - threshold: 2022-01-01: 91_301 + 2023-01-01: 94_101 amount: 2022-01-01: 40 + 2023-01-01: 10 - threshold: 2022-01-01: 91_401 + 2023-01-01: 94_201 amount: 2022-01-01: 30 + 2023-01-01: 0 - threshold: 2022-01-01: 91_501 + 2023-01-01: 94_301 amount: 2022-01-01: 20 + 2023-01-01: 0 - threshold: 2022-01-01: 91_601 + 2023-01-01: 94_401 amount: 2022-01-01: 10 + 2023-01-01: 0 - threshold: 2022-01-01: 91_701 + 2023-01-01: 94_501 amount: 2022-01-01: 0 + 2023-01-01: 0 metadata: type: single_amount period: year diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml deleted file mode 100644 index 21a846c08..000000000 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_amount.yaml +++ /dev/null @@ -1,12 +0,0 @@ -description: Arkansas reduces the tax liability of taxpayers using the high income tax tables, starting at this amount -values: - 2022-01-01: 460 -metadata: - type: single_amount - period: year - unit: currency-USD - label: Arkansas high income tax reduction amount - name: high_income_reduction_amount - reference: - - title: Arkansas Code Title 26. Taxation § 26-51-201. Subsection a 10 - href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FACTS%2F2022S3%2FPublic%2FACT2.pdf \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml deleted file mode 100644 index f02174cd3..000000000 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction_phaseout.yaml +++ /dev/null @@ -1,12 +0,0 @@ -description: Arkansas cuts the high income tax reduction by this amount for each 100 in income over the high_income_threshold -values: - 2022-01-01: 10 -metadata: - type: single_amount - period: year - unit: currency-USD - label: Arkansas high income tax reduction phaseout amount - name: high_income_reduction_phaseout - reference: - - title: Arkansas Code Title 26. Taxation § 26-51-201. Subsection a 10 - href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FACTS%2F2022S3%2FPublic%2FACT2.pdf \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index 09c9c395a..f4135e0fc 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -7,7 +7,7 @@ values: - dividend_income # Line 11 - alimony_income # Line 12 - self_employment_income # Line 13 - - ar_capital_gains # Line 14, not working yet + - ar_capital_gains # Line 14 - ar_other_net_gains # Line 15 - ar_nonqualified_ira_distributions # Line 16 - military_retirement_pay # Line 17 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/adjustment.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/adjustment.yaml deleted file mode 100644 index 30a36caf1..000000000 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/adjustment.yaml +++ /dev/null @@ -1,219 +0,0 @@ -description: Adjustment Used When Calculating Tax in Line 29. Income * Tax Rate - Adjustment -metadata: - type: single_amount - threshold_unit: currency-USD - label: Adjustment Used When Calculating Tax - reference: - - title: 2022 Indexed Tax Brackets - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf - - -brackets: - - threshold: - 2022-01-01: 0 - amount: - 2022-01-01: 0 - - threshold: - 2022-01-01: 5_100 - amount: - 2022-01-01: 101.98 - - threshold: - 2022-01-01: 10_300 - amount: - 2022-01-01: 204.97 - - threshold: - 2022-01-01: 14_700 - amount: - 2022-01-01: 263.77 - - threshold: - 2022-01-01: 24_300 - amount: - 2022-01-01: 628.25 - - threshold: - 2022-01-01: 87_001 - amount: - 2022-01-01: 627.20 - - threshold: - 2022-01-01: 87_101 - amount: - 2022-01-01: 617.20 - - threshold: - 2022-01-01: 87_201 - amount: - 2022-01-01: 607.20 - - threshold: - 2022-01-01: 87_301 - amount: - 2022-01-01: 597.20 - - threshold: - 2022-01-01: 87_401 - amount: - 2022-01-01: 587.20 - - threshold: - 2022-01-01: 87_601 - amount: - 2022-01-01: 577.20 - - threshold: - 2022-01-01: 87_701 - amount: - 2022-01-01: 567.20 - - threshold: - 2022-01-01: 87_801 - amount: - 2022-01-01: 557.20 - - threshold: - 2022-01-01: 87_901 - amount: - 2022-01-01: 547.20 - - threshold: - 2022-01-01: 88_001 - amount: - 2022-01-01: 537.20 - - threshold: - 2022-01-01: 88_101 - amount: - 2022-01-01: 527.20 - - threshold: - 2022-01-01: 88_201 - amount: - 2022-01-01: 517.20 - - threshold: - 2022-01-01: 88_301 - amount: - 2022-01-01: 507.20 - - threshold: - 2022-01-01: 88_401 - amount: - 2022-01-01: 497.20 - - threshold: - 2022-01-01: 88_501 - amount: - 2022-01-01: 487.20 - - threshold: - 2022-01-01: 88_601 - amount: - 2022-01-01: 477.20 - - threshold: - 2022-01-01: 88_701 - amount: - 2022-01-01: 467.20 - - threshold: - 2022-01-01: 88_801 - amount: - 2022-01-01: 457.20 - - threshold: - 2022-01-01: 88_901 - amount: - 2022-01-01: 447.20 - - threshold: - 2022-01-01: 89_001 - amount: - 2022-01-01: 437.20 - - threshold: - 2022-01-01: 89_101 - amount: - 2022-01-01: 427.20 - - threshold: - 2022-01-01: 89_201 - amount: - 2022-01-01: 417.20 - - threshold: - 2022-01-01: 89_301 - amount: - 2022-01-01: 407.20 - - threshold: - 2022-01-01: 89_401 - amount: - 2022-01-01: 397.20 - - threshold: - 2022-01-01: 89_501 - amount: - 2022-01-01: 387.20 - - threshold: - 2022-01-01: 89_601 - amount: - 2022-01-01: 377.20 - - threshold: - 2022-01-01: 89_701 - amount: - 2022-01-01: 367.20 - - threshold: - 2022-01-01: 89_801 - amount: - 2022-01-01: 357.20 - - threshold: - 2022-01-01: 89_901 - amount: - 2022-01-01: 347.20 - - threshold: - 2022-01-01: 90_001 - amount: - 2022-01-01: 337.20 - - threshold: - 2022-01-01: 90_101 - amount: - 2022-01-01: 327.20 - - threshold: - 2022-01-01: 90_201 - amount: - 2022-01-01: 317.20 - - threshold: - 2022-01-01: 90_301 - amount: - 2022-01-01: 307.20 - - threshold: - 2022-01-01: 90_401 - amount: - 2022-01-01: 297.20 - - threshold: - 2022-01-01: 90_501 - amount: - 2022-01-01: 287.20 - - threshold: - 2022-01-01: 90_601 - amount: - 2022-01-01: 277.20 - - threshold: - 2022-01-01: 90_701 - amount: - 2022-01-01: 267.20 - - threshold: - 2022-01-01: 90_801 - amount: - 2022-01-01: 257.20 - - threshold: - 2022-01-01: 90_901 - amount: - 2022-01-01: 247.20 - - threshold: - 2022-01-01: 91_101 - amount: - 2022-01-01: 237.20 - - threshold: - 2022-01-01: 91_201 - amount: - 2022-01-01: 227.20 - - threshold: - 2022-01-01: 91_301 - amount: - 2022-01-01: 217.20 - - threshold: - 2022-01-01: 91_401 - amount: - 2022-01-01: 207.20 - - threshold: - 2022-01-01: 91_501 - amount: - 2022-01-01: 197.20 - - threshold: - 2022-01-01: 91_601 - amount: - 2022-01-01: 187.20 - - threshold: - 2022-01-01: 91_701 - amount: - 2022-01-01: 177.20 - - threshold: - 2022-01-01: 91_801 - amount: - 2022-01-01: 167.20 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_Income_adjustment.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_Income_adjustment.yaml deleted file mode 100644 index b952d51e9..000000000 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_Income_adjustment.yaml +++ /dev/null @@ -1,199 +0,0 @@ -description: Adjustment Used When Calculating Tax for the High Income Bracket set. Income * Tax Rate - Adjustment -metadata: - type: single_amount - threshold_unit: currency-USD - label: Adjustment Used When Calculating Tax for high income taxpayers - reference: - - title: 2022 Indexed Tax Brackets - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf - - -brackets: - - threshold: - 2022-01-01: 84_501 - amount: - 2022-01-01: 460 - - threshold: - 2022-01-01: 84_601 - amount: - 2022-01-01: 450 - - threshold: - 2022-01-01: 84_701 - amount: - 2022-01-01: 440 - - threshold: - 2022-01-01: 84_801 - amount: - 2022-01-01: 430 - - threshold: - 2022-01-01: 84_901 - amount: - 2022-01-01: 420 - - threshold: - 2022-01-01: 85_001 - amount: - 2022-01-01: 410 - - threshold: - 2022-01-01: 85_101 - amount: - 2022-01-01: 400 - - threshold: - 2022-01-01: 85_201 - amount: - 2022-01-01: 390 - - threshold: - 2022-01-01: 85_301 - amount: - 2022-01-01: 380 - - threshold: - 2022-01-01: 85_401 - amount: - 2022-01-01: 370 - - threshold: - 2022-01-01: 85_501 - amount: - 2022-01-01: 360 - - threshold: - 2022-01-01: 85_601 - amount: - 2022-01-01: 350 - - threshold: - 2022-01-01: 85_701 - amount: - 2022-01-01: 340 - - threshold: - 2022-01-01: 85_801 - amount: - 2022-01-01: 330 - - threshold: - 2022-01-01: 85_901 - amount: - 2022-01-01: 320 - - threshold: - 2022-01-01: 86_001 - amount: - 2022-01-01: 310 - - threshold: - 2022-01-01: 86_101 - amount: - 2022-01-01: 300 - - threshold: - 2022-01-01: 86_201 - amount: - 2022-01-01: 290 - - threshold: - 2022-01-01: 86_301 - amount: - 2022-01-01: 280 - - threshold: - 2022-01-01: 86_401 - amount: - 2022-01-01: 270 - - threshold: - 2022-01-01: 86_501 - amount: - 2022-01-01: 260 - - threshold: - 2022-01-01: 86_601 - amount: - 2022-01-01: 250 - - threshold: - 2022-01-01: 86_701 - amount: - 2022-01-01: 240 - - threshold: - 2022-01-01: 86_801 - amount: - 2022-01-01: 230 - - threshold: - 2022-01-01: 86_901 - amount: - 2022-01-01: 220 - - threshold: - 2022-01-01: 87_001 - amount: - 2022-01-01: 210 - - threshold: - 2022-01-01: 87_101 - amount: - 2022-01-01: 200 - - threshold: - 2022-01-01: 87_201 - amount: - 2022-01-01: 190 - - threshold: - 2022-01-01: 87_301 - amount: - 2022-01-01: 180 - - threshold: - 2022-01-01: 87_401 - amount: - 2022-01-01: 170 - - threshold: - 2022-01-01: 87_501 - amount: - 2022-01-01: 160 - - threshold: - 2022-01-01: 87_601 - amount: - 2022-01-01: 150 - - threshold: - 2022-01-01: 87_701 - amount: - 2022-01-01: 140 - - threshold: - 2022-01-01: 87_801 - amount: - 2022-01-01: 130 - - threshold: - 2022-01-01: 87_901 - amount: - 2022-01-01: 120 - - threshold: - 2022-01-01: 88_001 - amount: - 2022-01-01: 110 - - threshold: - 2022-01-01: 88_101 - amount: - 2022-01-01: 100 - - threshold: - 2022-01-01: 88_201 - amount: - 2022-01-01: 90 - - threshold: - 2022-01-01: 88_301 - amount: - 2022-01-01: 80 - - threshold: - 2022-01-01: 88_401 - amount: - 2022-01-01: 70 - - threshold: - 2022-01-01: 88_501 - amount: - 2022-01-01: 60 - - threshold: - 2022-01-01: 88_601 - amount: - 2022-01-01: 50 - - threshold: - 2022-01-01: 88_701 - amount: - 2022-01-01: 40 - - threshold: - 2022-01-01: 88_801 - amount: - 2022-01-01: 30 - - threshold: - 2022-01-01: 88_901 - amount: - 2022-01-01: 20 - - threshold: - 2022-01-01: 89_001 - amount: - 2022-01-01: 10 - - threshold: - 2022-01-01: 89_001 - amount: - 2022-01-01: 0 \ No newline at end of file diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml index a5c90c45a..0a16ede7d 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.yaml @@ -7,7 +7,6 @@ ar_low_income_credit: 0 ar_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 - ar_additional_ira_tax: 0 state_code: AR output: # 0 = 5,100 * 0 @@ -22,7 +21,6 @@ ar_low_income_credit: 104 ar_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 - ar_additional_ira_tax: 0 state_code: AR output: # 26 = (5099*0) + (5199*0.02) + (882*0.03) - 104 @@ -37,7 +35,6 @@ ar_low_income_credit: 384 ar_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 - ar_additional_ira_tax: 0 state_code: AR output: # @@ -52,7 +49,6 @@ ar_low_income_credit: 0 ar_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 - ar_additional_ira_tax: 0 state_code: AR output: # @@ -67,7 +63,6 @@ ar_low_income_credit: 0 ar_high_income_reduction: 380 ar_lump_sum_dist_tax: 0 - ar_additional_ira_tax: 0 state_code: AR output: # @@ -82,7 +77,6 @@ ar_low_income_credit: 0 ar_high_income_reduction: 280 ar_lump_sum_dist_tax: 0 - ar_additional_ira_tax: 0 state_code: AR output: # @@ -97,7 +91,6 @@ ar_low_income_credit: 0 ar_high_income_reduction: 460 ar_lump_sum_dist_tax: 0 - ar_additional_ira_tax: 0 state_code: AR output: # @@ -112,7 +105,6 @@ ar_low_income_credit: 0 ar_high_income_reduction: 0 ar_lump_sum_dist_tax: 0 - ar_additional_ira_tax: 0 state_code: AR output: # diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_additional_ira_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_additional_ira_tax.py deleted file mode 100644 index 5dbfa608c..000000000 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_additional_ira_tax.py +++ /dev/null @@ -1,13 +0,0 @@ -from fiscalsim_us.model_api import * - - -class ar_additional_ira_tax(Variable): - "2022 AR 1000F instructions Line 32, 10% of federal amount from form 5329" - - value_type = float - entity = TaxUnit - label = "Additional tax on IRA and qualified plan withdrawal and overpayment" - reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=10" - defined_for = StateCode.AR - unit = USD - definition_period = YEAR \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index f29d1e717..cbf37064c 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -46,9 +46,8 @@ def round_to_nearest_50(num): lump_sum_dist_tax = tax_unit('ar_lump_sum_dist_tax', period) - # Additional tax on IRA and qualified plan withdrawal and overpayment - additional_ira_tax = tax_unit('ar_additional_ira_tax', period) + # Additional tax on IRA and qualified plan withdrawal and overpayment, not modelled - total_tax = tax + lump_sum_dist_tax + additional_ira_tax + total_tax = tax + lump_sum_dist_tax return total_tax diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index fdd50f05c..11c680718 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -17,7 +17,6 @@ def formula(person, period, parameters): sources = parameters(period).gov.states.ar.tax.income.income_sources ira_exemption = parameters(period).gov.states.ar.tax.income.rates.ira_exemption retirement_sources = parameters(period).gov.states.ar.tax.income.retirement_sources - loss_cap = parameters(period).gov.states.ar.tax.income.capital_gains.capital_loss_cap total = 0 not_dependent = ~person("is_tax_unit_dependent", period) for source in sources: diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_inflationary_relief_tax_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_inflationary_relief_tax_credit.py index 97808ac81..1f9b38adb 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_inflationary_relief_tax_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_inflationary_relief_tax_credit.py @@ -25,4 +25,4 @@ def formula(tax_unit, period, parameters): excess = max(income - reduction_start, 0) increments = np.ceil(excess / increment) total_reduction_amount = increments * reduction_per_increment - return max(max_amount - total_reduction_amount, 0) + return max(max_amount - total_reduction_amount, 0) \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py index 0a6a9f418..dcba7029f 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py @@ -14,54 +14,55 @@ class ar_lump_sum_dist_tax(Variable): def formula(tax_unit, period, parameters): - def high_income_reduction(income): + # def high_income_reduction(income): - full_reduction= parameters(period).gov.states.ar.tax.income.high_income_reduction.high_income_reduction_amount - min_income = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max + 1 - phaseout_rate = parameters(period).gov.states.ar.tax.income.high_income_reduction.high_income_reduction_phaseout + # full_reduction= parameters(period).gov.states.ar.tax.income.high_income_reduction.high_income_reduction_amount + # min_income = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max + 1 + # phaseout_rate = parameters(period).gov.states.ar.tax.income.high_income_reduction.high_income_reduction_phaseout - def round_to_nearest_50(num): - # Calculate the nearest multiple of 100 - nearest_multiple_of_100 = round(num / 100,0) * 100 + # def round_to_nearest_50(num): + # # Calculate the nearest multiple of 100 + # nearest_multiple_of_100 = round(num / 100,0) * 100 - # Get the last two digits - last_two_digits = num % 100 + # # Get the last two digits + # last_two_digits = num % 100 - # Determine the closest ending in "50" - if last_two_digits <= 50 and last_two_digits >= 1: - rounded_income = nearest_multiple_of_100 + 50 - return rounded_income - else: - rounded_income = nearest_multiple_of_100 - 50 - return rounded_income + # # Determine the closest ending in "50" + # if last_two_digits <= 50 and last_two_digits >= 1: + # rounded_income = nearest_multiple_of_100 + 50 + # return rounded_income + # else: + # rounded_income = nearest_multiple_of_100 - 50 + # return rounded_income - std_ded = tax_unit("ar_standard_deduction", period) - itm_ded = tax_unit("ar_itemized_deductions", period) - deduction = where(itm_ded > std_ded, itm_ded, std_ded) + # std_ded = tax_unit("ar_standard_deduction", period) + # itm_ded = tax_unit("ar_itemized_deductions", period) + # deduction = where(itm_ded > std_ded, itm_ded, std_ded) - income_less_ded = income - deduction + # income_less_ded = income - deduction - rounded_income = round_to_nearest_50(income_less_ded) - rounded_min_income = round_to_nearest_50(min_income) + # rounded_income = round_to_nearest_50(income_less_ded) + # rounded_min_income = round_to_nearest_50(min_income) - # Calculate the phaseout reduction for each $100 over min_income - excess_income = rounded_income - rounded_min_income - phaseout_reduction = where( excess_income % 100 == 0, (excess_income // 100) * phaseout_rate, ((excess_income // 100) + 1) * phaseout_rate) + # # Calculate the phaseout reduction for each $100 over min_income + # excess_income = rounded_income - rounded_min_income + # phaseout_reduction = where( excess_income % 100 == 0, (excess_income // 100) * phaseout_rate, ((excess_income // 100) + 1) * phaseout_rate) - # Reduce the credit amount based on the phaseout reduction - reduction_amount = full_reduction - phaseout_reduction + # # Reduce the credit amount based on the phaseout reduction + # reduction_amount = full_reduction - phaseout_reduction - # Ensure credit_amount does not go below 0 - reduction_amount = where(reduction_amount < 0 or excess_income < 0 , - 0, reduction_amount) + # # Ensure credit_amount does not go below 0 + # reduction_amount = where(reduction_amount < 0 or excess_income < 0 , + # 0, reduction_amount) - reduction_amount = round(reduction_amount,0) + # reduction_amount = round(reduction_amount,0) - return reduction_amount + # return reduction_amount p = parameters(period).gov.states.ar.tax.income.lump_sum_dist high_income_threshold = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max +1 + high_income_reduction = parameters(period).gov.states.ar.tax.income.high_income_reduction.high_income_reduction income = tax_unit('ar_distribution_income', period) actuarial_value = tax_unit('ar_actuarial_value', period) @@ -93,7 +94,8 @@ def round_to_nearest_50(num): line_9 = line_8 * line_9_multiple - line_9_reduction = high_income_reduction(line_9) + # line_9_reduction = high_income_reduction(line_9) + line_9_reduction = high_income_reduction.calc(line_9) line_9_tax = round(where( line_9 <= high_income_threshold, @@ -114,7 +116,7 @@ def round_to_nearest_50(num): line_15 = line_14 * line_15_multiple - line_15_reduction = high_income_reduction(line_15) + line_15_reduction = high_income_reduction.calc(line_15) line_15_tax =round(where( line_15 <= high_income_threshold, From 1accced4920eecfbb0aa5187e9c096f9f9a2bbc5 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 7 Mar 2024 12:27:37 -0700 Subject: [PATCH 188/194] added 2023 values and deleted unnecessary files --- .../inflation_married_joint.yaml | 77 ------------------- .../other_credits/inflation_separate.yaml | 77 ------------------- .../four_year_college.yaml | 3 + .../two_year_college.yaml | 3 + .../ar/tax/income/deductions/standard.yaml | 7 +- 5 files changed, 12 insertions(+), 155 deletions(-) delete mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_married_joint.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_separate.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_married_joint.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_married_joint.yaml deleted file mode 100644 index cc386dbde..000000000 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_married_joint.yaml +++ /dev/null @@ -1,77 +0,0 @@ -description: Arkansas granted this inflationary releif income tax credit for tax year 2022 -metadata: - type: single_amount - threshold_unit: currency-USD - label: Arkansas inflationary relief tax credit - Married Filing Jointly - reference: - - title: 2022 AR 1000F Arkansas Individual Income Tax Return (line 36) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf - - - title: 2022 Inflationary Relief Income Tax Credit Worksheet - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_Final_InflationaryReliefIncomeTaxCredit_FI.pdf - -brackets: - - threshold: - 2022-01-01: 1 - amount: - 2022-01-01: 300 - - threshold: - 2022-01-01: 174_001 - amount: - 2022-01-01: 280 - - threshold: - 2022-01-01: 176_001 - amount: - 2022-01-01: 260 - - threshold: - 2022-01-01: 178_001 - amount: - 2022-01-01: 240 - - threshold: - 2022-01-01: 180_001 - amount: - 2022-01-01: 220 - - threshold: - 2022-01-01: 182_001 - amount: - 2022-01-01: 200 - - threshold: - 2022-01-01: 184_001 - amount: - 2022-01-01: 180 - - threshold: - 2022-01-01: 186_001 - amount: - 2022-01-01: 160 - - threshold: - 2022-01-01: 188_001 - amount: - 2022-01-01: 140 - - threshold: - 2022-01-01: 190_001 - amount: - 2022-01-01: 120 - - threshold: - 2022-01-01: 192_001 - amount: - 2022-01-01: 100 - - threshold: - 2022-01-01: 194_001 - amount: - 2022-01-01: 80 - - threshold: - 2022-01-01: 196_001 - amount: - 2022-01-01: 60 - - threshold: - 2022-01-01: 198_001 - amount: - 2022-01-01: 40 - - threshold: - 2022-01-01: 200_001 - amount: - 2022-01-01: 20 - - threshold: - 2022-01-01: 202_001 - amount: - 2022-01-01: 0 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_separate.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_separate.yaml deleted file mode 100644 index 82cd3320e..000000000 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/inflation_separate.yaml +++ /dev/null @@ -1,77 +0,0 @@ -description: Arkansas granted this inflationary releif income tax credit for tax year 2022 -metadata: - type: single_amount - threshold_unit: currency-USD - label: Arkansas inflationary relief tax credit - reference: - - title: 2022 AR 1000F Arkansas Individual Income Tax Return (line 36) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf - - - title: 2022 Inflationary Relief Income Tax Credit Worksheet - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_Final_InflationaryReliefIncomeTaxCredit_FI.pdf - -brackets: - - threshold: - 2022-01-01: 1 - amount: - 2022-01-01: 150 - - threshold: - 2022-01-01: 87_001 - amount: - 2022-01-01: 140 - - threshold: - 2022-01-01: 88_001 - amount: - 2022-01-01: 130 - - threshold: - 2022-01-01: 89_001 - amount: - 2022-01-01: 120 - - threshold: - 2022-01-01: 90_001 - amount: - 2022-01-01: 110 - - threshold: - 2022-01-01: 91_001 - amount: - 2022-01-01: 100 - - threshold: - 2022-01-01: 92_001 - amount: - 2022-01-01: 90 - - threshold: - 2022-01-01: 93_001 - amount: - 2022-01-01: 80 - - threshold: - 2022-01-01: 94_001 - amount: - 2022-01-01: 70 - - threshold: - 2022-01-01: 95_001 - amount: - 2022-01-01: 60 - - threshold: - 2022-01-01: 96_001 - amount: - 2022-01-01: 50 - - threshold: - 2022-01-01: 97_001 - amount: - 2022-01-01: 40 - - threshold: - 2022-01-01: 98_001 - amount: - 2022-01-01: 30 - - threshold: - 2022-01-01: 99_001 - amount: - 2022-01-01: 20 - - threshold: - 2022-01-01: 100_001 - amount: - 2022-01-01: 10 - - threshold: - 2022-01-01: 101_001 - amount: - 2022-01-01: 0 \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/four_year_college.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/four_year_college.yaml index c22a7f2d9..84d77eb11 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/four_year_college.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/four_year_college.yaml @@ -2,6 +2,7 @@ description: Arkansas defines the weighted average tuition for four-year college values: 2021-01-01: 4_602 2022-01-01: 4_712 + 2023-01-01: 4_819 metadata: @@ -9,6 +10,8 @@ metadata: unit: currency-USD label: Arkansas post secondary eduction tuition deduction four-year college weighted average tuition reference: + - title: Arkansas Individual Income Tax Return Deduction for Tution Paid to Post-Secondary Educational Institutions AR1075 Rev.2023 + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2023.pdf - title: Arkansas Individual Income Tax Return Deduction for Tution Paid to Post-Secondary Educational Institutions AR1075 Rev.2022 href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2022.pdf#page=1 - title: Arkansas Individual Income Tax Return Deduction for Tution Paid to Post-Secondary Educational Institutions AR1075 Rev.2021 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/two_year_college.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/two_year_college.yaml index de2ff596a..f36fdaee4 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/two_year_college.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/two_year_college.yaml @@ -2,6 +2,7 @@ description: Arkansas defines the weighted average tuition for four-year college values: 2021-01-01: 2_141 2022-01-01: 2_272 + 2023-01-01: 2_405 metadata: @@ -9,6 +10,8 @@ metadata: unit: currency-USD label: Arkansas post secondary eduction tuition deduction two-year college weighted average tuition reference: + - title: Arkansas Individual Income Tax Return Deduction for Tution Paid to Post-Secondary Educational Institutions AR1075 Rev.2023 + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2023.pdf - title: Arkansas Individual Income Tax Return Deduction for Tution Paid to Post-Secondary Educational Institutions AR1075 Rev.2022 href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2022.pdf#page=1 - title: Arkansas Individual Income Tax Return Deduction for Tution Paid to Post-Secondary Educational Institutions AR1075 Rev.2021 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/standard.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/standard.yaml index 205a0097c..8e2c24e40 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/standard.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/standard.yaml @@ -18,19 +18,24 @@ JOINT: # $4,400 in 2015 + COLA, rounded by $10. 2021-01-01: 4_400 2022-01-01: 4_540 + 2023-01-01: 4_680 SINGLE: # $2_200 in 2015 + COLA, rounded by $10. 2021-01-01: 2_200 2022-01-01: 2_270 + 2023-01-01: 2_340 SEPARATE: # $2,200 in 2015 + COLA, rounded by $10. 2021-01-01: 2_200 2022-01-01: 2_270 + 2023-01-01: 2_340 HEAD_OF_HOUSEHOLD: # $2,200 in 2015 + COLA, rounded by $10. 2021-01-01: 2_200 2022-01-01: 2_270 + 2023-01-01: 2_340 WIDOW: # $2,200 in 2015 + COLA, rounded by $10. 2021-01-01: 2_200 - 2022-01-01: 2_270 \ No newline at end of file + 2022-01-01: 2_270 + 2023-01-01: 2_340 \ No newline at end of file From ae1906b64774830bf92eb3d5be19b06671af0ce6 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Wed, 20 Mar 2024 15:40:00 -0600 Subject: [PATCH 189/194] deleted unneeded file --- .../states/ar/tax/income/rates/ira_additional.yaml | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_additional.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_additional.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_additional.yaml deleted file mode 100644 index 575a0f7a9..000000000 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_additional.yaml +++ /dev/null @@ -1,12 +0,0 @@ -description: AR levies this amount of the additional federal tax on IRAs and Employer Qualified Retirement Plans. See Part 1 of federal form 5329 -values: - 2022-01-01: 0.10 -metadata: - type: single_amount - reference: - - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 32) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf - - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident Instructions (line 32) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf - period: year - label: AR employer Pension Plan/Qualified IRA income exemption amount \ No newline at end of file From d9d6185312be2fd59631df7ae2a46f89e9d657e9 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 28 Mar 2024 13:13:28 -0600 Subject: [PATCH 190/194] Black Formatted Files --- .../gov/states/ar/tax/income/ar_agi.py | 2 +- .../ar/tax/income/ar_high_income_reduction.py | 26 +++--- .../ar/tax/income/ar_income_adjustments.py | 40 ++++----- ...ncome_tax_before_non_refundable_credits.py | 29 +++--- .../ar_nonqualified_ira_distributions.py | 6 +- .../states/ar/tax/income/ar_other_income.py | 2 +- .../ar/tax/income/ar_other_net_gains.py | 2 +- .../ar/tax/income/ar_retirement_sources.py | 2 +- .../states/ar/tax/income/ar_taxable_income.py | 7 +- .../states/ar/tax/income/ar_total_income.py | 17 ++-- .../income/capital_gains/ar_capital_gains.py | 35 ++++---- .../ar_capital_loss_adjustment.py | 22 +++-- .../capital_gains/ar_lt_dep_adjustment.py | 3 +- .../capital_gains/ar_st_dep_adjustment.py | 3 +- .../credits/ar_head_retirement_income.py | 10 +-- .../income/credits/ar_low_income_credit.py | 70 ++++++++++----- .../tax/income/credits/ar_personal_credits.py | 90 ++++++++++++------- .../tax/income/credits/ar_qual_dependents.py | 3 +- .../credits/ar_spouse_retirement_income.py | 12 +-- .../ar/tax/income/credits/cdcc/ar_cdcc.py | 2 +- .../credits/cdcc/ar_cdcc_refundable_pct.py | 1 - .../credits/cdcc/ar_nonrefundable_cdcc.py | 6 +- .../income/credits/cdcc/ar_refundable_cdcc.py | 6 +- .../other_credits/ar_additional_tax_credit.py | 17 ++-- .../ar_adoption_expense_credit.py | 12 +-- .../other_credits/ar_business_credits.py | 2 +- .../ar_inflationary_relief_tax_credit.py | 2 +- .../ar_metabolic_credit_carryover.py | 6 +- .../ar_metabolic_disorder_credit.py | 39 ++++---- .../ar_metabolic_disorder_expenses.py | 2 +- .../other_credits/ar_other_state_credit.py | 2 +- .../ar_political_contribution_credit.py | 11 ++- .../ar_political_contributions.py | 2 +- .../ar_stillborn_child_credit.py | 6 +- .../itemized/ar_itemized_deductions.py | 45 +++++++--- .../itemized/ar_other_limited_expenses.py | 4 +- .../itemized/ar_other_misc_deductions.py | 4 +- .../deductions/itemized/ar_other_taxes.py | 4 +- .../ar_unreimbursed_employee_expenses.py | 4 +- ...nreimbursed_employee_expenses_deduction.py | 6 +- ...t_secondary_education_tuition_deduction.py | 2 +- ...dary_education_tuition_deduction_person.py | 2 +- .../lump_sum_dist/ar_actuarial_value.py | 3 +- .../lump_sum_dist/ar_distribution_income.py | 3 +- .../lump_sum_dist/ar_lump_sum_dist_tax.py | 75 +++++++++++----- 45 files changed, 382 insertions(+), 267 deletions(-) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_agi.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_agi.py index 7121fa536..b890fda0d 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_agi.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_agi.py @@ -12,4 +12,4 @@ class ar_agi(Variable): reference = "https://law.justia.com/codes/arkansas/2019/title-26/subtitle-5/chapter-51/subchapter-4/section-26-51-403/" adds = ["ar_total_income", "ar_capital_loss_adjustment"] - subtracts = ["ar_income_adjustments"] \ No newline at end of file + subtracts = ["ar_income_adjustments"] diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py index b3760b1a8..6b5322e40 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_high_income_reduction.py @@ -1,8 +1,8 @@ from fiscalsim_us.model_api import * from numpy import round + class ar_high_income_reduction(Variable): - value_type = float entity = TaxUnit label = "Arkansas high income reduction" @@ -12,18 +12,24 @@ class ar_high_income_reduction(Variable): defined_for = StateCode.AR def formula(tax_unit, period, parameters): - - reduction = parameters(period).gov.states.ar.tax.income.high_income_reduction.high_income_reduction - min_income = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max + 1 - agi = tax_unit('ar_agi', period) + reduction = parameters( + period + ).gov.states.ar.tax.income.high_income_reduction.high_income_reduction + min_income = ( + parameters( + period + ).gov.states.ar.tax.income.rates.regular_bracket_max + + 1 + ) + agi = tax_unit("ar_agi", period) def round_to_nearest_50(num): # Calculate the nearest multiple of 100 - nearest_multiple_of_100 = round(num / 100,0) * 100 - + nearest_multiple_of_100 = round(num / 100, 0) * 100 + # Get the last two digits last_two_digits = num % 100 - + # Determine the closest ending in "50" if last_two_digits <= 50 and last_two_digits >= 1: rounded_income = nearest_multiple_of_100 + 50 @@ -41,6 +47,6 @@ def round_to_nearest_50(num): rounded_income = round_to_nearest_50(agi_less_ded) rounded_min_income = round_to_nearest_50(min_income) - reduction_amount = reduction.calc(rounded_income, right = True) + reduction_amount = reduction.calc(rounded_income, right=True) - return reduction_amount \ No newline at end of file + return reduction_amount diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py index 9cc08e4e3..92b2f42a5 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py @@ -4,26 +4,25 @@ class ar_income_adjustments(Variable): """Line 24 of Form AR1000F - Adjustments include: - Border city/Texarkana exemption - Tuition Savings Program - Payments to IRA - Payments to MSA - Payments to HSA - Deduction for interest paid on student loans - Contributions to Intergenerational Trust - Moving expenses - Self-employed health insurance deduction - KEOGH, Self-employed SEP and Simple Plans - Forfeited interest penalty for premature withdrawal - Alimony/Separate Maintenance Paid - Support for permanently disabled individual - Organ Donor Deduction - Military Reserve Expenses - Reforestation Deduction - Teachers Qualified Classroom Investment Expense - Achieving A Better Life Experience Program""" - + Adjustments include: + Border city/Texarkana exemption + Tuition Savings Program + Payments to IRA + Payments to MSA + Payments to HSA + Deduction for interest paid on student loans + Contributions to Intergenerational Trust + Moving expenses + Self-employed health insurance deduction + KEOGH, Self-employed SEP and Simple Plans + Forfeited interest penalty for premature withdrawal + Alimony/Separate Maintenance Paid + Support for permanently disabled individual + Organ Donor Deduction + Military Reserve Expenses + Reforestation Deduction + Teachers Qualified Classroom Investment Expense + Achieving A Better Life Experience Program""" value_type = float entity = TaxUnit @@ -36,4 +35,3 @@ class ar_income_adjustments(Variable): "https://law.justia.com/codes/arkansas/2019/title-26/subtitle-5/chapter-51/subchapter-4/section-26-51-403/" ) defined_for = StateCode.AR - \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py index cbf37064c..79bd40724 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits.py @@ -13,20 +13,19 @@ class ar_income_tax_before_non_refundable_credits(Variable): defined_for = StateCode.AR def formula(tax_unit, period, parameters): - p = parameters(period).gov.states.ar.tax.income.rates taxable_income = tax_unit("ar_taxable_income", period) high_income_threshold = p.regular_bracket_max - litc = tax_unit('ar_low_income_credit', period) - high_income_reduction = tax_unit('ar_high_income_reduction', period) + litc = tax_unit("ar_low_income_credit", period) + high_income_reduction = tax_unit("ar_high_income_reduction", period) def round_to_nearest_50(num): # Calculate the nearest multiple of 100 - nearest_multiple_of_100 = round(num / 100,0) * 100 - + nearest_multiple_of_100 = round(num / 100, 0) * 100 + # Get the last two digits last_two_digits = num % 100 - + # Determine the closest ending in "50" if last_two_digits <= 50 and last_two_digits >= 1: rounded_income = nearest_multiple_of_100 + 50 @@ -34,20 +33,24 @@ def round_to_nearest_50(num): else: rounded_income = nearest_multiple_of_100 - 50 return rounded_income - + rounded_taxable_income = round_to_nearest_50(taxable_income) - - tax = round(where( + tax = round( + where( taxable_income <= high_income_threshold, p.rates.calc(rounded_taxable_income), - p.high_income_rates.calc(rounded_taxable_income) - ) - litc - high_income_reduction,0) + p.high_income_rates.calc(rounded_taxable_income), + ) + - litc + - high_income_reduction, + 0, + ) - lump_sum_dist_tax = tax_unit('ar_lump_sum_dist_tax', period) + lump_sum_dist_tax = tax_unit("ar_lump_sum_dist_tax", period) # Additional tax on IRA and qualified plan withdrawal and overpayment, not modelled - + total_tax = tax + lump_sum_dist_tax return total_tax diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_nonqualified_ira_distributions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_nonqualified_ira_distributions.py index b2a8d1f0d..1e3ea6a9e 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_nonqualified_ira_distributions.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_nonqualified_ira_distributions.py @@ -1,13 +1,15 @@ from fiscalsim_us.model_api import * + class ar_nonqualified_ira_distributions(Variable): - """ + """ AR1000F Line 16 """ + value_type = float entity = Person label = "Arkansas nonqualified ira and annuity distributions" unit = USD definition_period = YEAR reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000D_CapitalGains.pdf" - defined_for = StateCode.AR \ No newline at end of file + defined_for = StateCode.AR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_income.py index 3b541f0a9..fa5b310f3 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_income.py @@ -27,4 +27,4 @@ class ar_other_income(Variable): reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=10" defined_for = StateCode.AR unit = USD - definition_period = YEAR \ No newline at end of file + definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gains.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gains.py index 00ae78be2..3b444015a 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gains.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_other_net_gains.py @@ -7,4 +7,4 @@ class ar_other_net_gains(Variable): label = "Other net gains" unit = USD documentation = "Other net gain/loss from Federal Form 4797" - definition_period = YEAR \ No newline at end of file + definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_retirement_sources.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_retirement_sources.py index d8f301493..84656780d 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_retirement_sources.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_retirement_sources.py @@ -9,4 +9,4 @@ class ar_retirement_sources(Variable): definition_period = YEAR defined_for = StateCode.CO - adds = "gov.states.ar.tax.income.retirement_sources" \ No newline at end of file + adds = "gov.states.ar.tax.income.retirement_sources" diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_taxable_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_taxable_income.py index 2a8f7f209..fed7ceefb 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_taxable_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_taxable_income.py @@ -15,14 +15,9 @@ class ar_taxable_income(Variable): defined_for = StateCode.AR def formula(tax_unit, period, parameters): - - agi = tax_unit('ar_agi', period) + agi = tax_unit("ar_agi", period) std_ded = tax_unit("ar_standard_deduction", period) itm_ded = tax_unit("ar_itemized_deductions", period) deduction = where(itm_ded > std_ded, itm_ded, std_ded) return agi - deduction - - - - diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py index 11c680718..50f699c07 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_total_income.py @@ -13,13 +13,20 @@ class ar_total_income(Variable): defined_for = StateCode.AR def formula(person, period, parameters): - sources = parameters(period).gov.states.ar.tax.income.income_sources - ira_exemption = parameters(period).gov.states.ar.tax.income.rates.ira_exemption - retirement_sources = parameters(period).gov.states.ar.tax.income.retirement_sources + ira_exemption = parameters( + period + ).gov.states.ar.tax.income.rates.ira_exemption + retirement_sources = parameters( + period + ).gov.states.ar.tax.income.retirement_sources total = 0 not_dependent = ~person("is_tax_unit_dependent", period) for source in sources: amount = person(source, period) - total += where(source in retirement_sources, not_dependent * max_(0, amount -ira_exemption),not_dependent * max_(0,amount)) - return total \ No newline at end of file + total += where( + source in retirement_sources, + not_dependent * max_(0, amount - ira_exemption), + not_dependent * max_(0, amount), + ) + return total diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py index b78ead5fb..ad760f35f 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_gains.py @@ -1,7 +1,7 @@ from fiscalsim_us.model_api import * + class ar_capital_gains(Variable): - value_type = float entity = Person label = "Arkansas taxable capital gains" @@ -11,9 +11,8 @@ class ar_capital_gains(Variable): defined_for = StateCode.AR def formula(person, period, parameters): - # filing_status = person('filing_status', period) - + p = parameters(period).gov.states.ar.tax.income.capital_gains max_taxable_gain = p.max_taxable_capital_gain @@ -24,40 +23,38 @@ def formula(person, period, parameters): non_d_gains = person("non_sch_d_capital_gains", period) - lt_dep_adjustment = person('ar_lt_dep_adjustment', period) + lt_dep_adjustment = person("ar_lt_dep_adjustment", period) ar_lt_gain = lt_gains + non_d_gains + lt_dep_adjustment st_gain = person("short_term_capital_gains", period) - st_dep_adjustment = person('ar_st_dep_adjustment', period) + st_dep_adjustment = person("ar_st_dep_adjustment", period) ar_st_gain = st_gain + st_dep_adjustment - # if there are short term losses, but net gains are positive, net gain should equal the min of max_taxable_gain or the difference between the long term gain and short term loss. + # if there are short term losses, but net gains are positive, net gain should equal the min of max_taxable_gain or the difference between the long term gain and short term loss. # if there short term losses, and net losses, net gain should equal the total loss # if there are short term gains, those are handled later. ar_net_lt_gain = where( - ar_st_gain < 0, where( - ar_lt_gain + ar_st_gain >= 0, min(max_taxable_gain, ar_lt_gain + ar_st_gain), ar_lt_gain + ar_st_gain - ), - min(ar_lt_gain, max_taxable_gain) + ar_st_gain < 0, + where( + ar_lt_gain + ar_st_gain >= 0, + min(max_taxable_gain, ar_lt_gain + ar_st_gain), + ar_lt_gain + ar_st_gain, + ), + min(ar_lt_gain, max_taxable_gain), ) ar_taxable_amount = where( - ar_net_lt_gain > 0, ar_net_lt_gain * ar_lt_taxable_pct, ar_net_lt_gain + ar_net_lt_gain > 0, + ar_net_lt_gain * ar_lt_taxable_pct, + ar_net_lt_gain, ) total_taxable = where( - ar_st_gain >=0, ar_st_gain + ar_taxable_amount, - ar_taxable_amount + ar_st_gain >= 0, ar_st_gain + ar_taxable_amount, ar_taxable_amount ) return total_taxable - - - - - - \ No newline at end of file diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_loss_adjustment.py b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_loss_adjustment.py index 3bc5d4bca..dc73e6a8f 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_loss_adjustment.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_capital_loss_adjustment.py @@ -1,7 +1,7 @@ from fiscalsim_us.model_api import * + class ar_capital_loss_adjustment(Variable): - value_type = float entity = TaxUnit label = "Arkansas capital loss adjustment" @@ -11,20 +11,26 @@ class ar_capital_loss_adjustment(Variable): defined_for = StateCode.AR def formula(tax_unit, period, parameters): - - filing_status = tax_unit('filing_status', period) + filing_status = tax_unit("filing_status", period) person = tax_unit.members not_dependent = ~person("is_tax_unit_dependent", period) - + capital_gains = 0 - capital_gains += not_dependent * add(person, period, ['ar_capital_gains']) - + capital_gains += not_dependent * add( + person, period, ["ar_capital_gains"] + ) capital_gains = tax_unit.sum(capital_gains) - cap_loss_cap = parameters(period).gov.states.ar.tax.income.capital_gains.capital_loss_cap[filing_status] + cap_loss_cap = parameters( + period + ).gov.states.ar.tax.income.capital_gains.capital_loss_cap[ + filing_status + ] - adjustment = where(capital_gains < -cap_loss_cap, -capital_gains - cap_loss_cap, 0) + adjustment = where( + capital_gains < -cap_loss_cap, -capital_gains - cap_loss_cap, 0 + ) return adjustment diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_lt_dep_adjustment.py b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_lt_dep_adjustment.py index 8769c16d9..e15f8b616 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_lt_dep_adjustment.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_lt_dep_adjustment.py @@ -1,7 +1,7 @@ from fiscalsim_us.model_api import * + class ar_lt_dep_adjustment(Variable): - value_type = float entity = Person label = "Arkansas difference in long term capital gains depreciation from federal amount" @@ -9,4 +9,3 @@ class ar_lt_dep_adjustment(Variable): definition_period = YEAR reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000D_CapitalGains.pdf" defined_for = StateCode.AR - diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_st_dep_adjustment.py b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_st_dep_adjustment.py index 6699bc67e..22fb60f3d 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_st_dep_adjustment.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/capital_gains/ar_st_dep_adjustment.py @@ -1,7 +1,7 @@ from fiscalsim_us.model_api import * + class ar_st_dep_adjustment(Variable): - value_type = float entity = Person label = "Arkansas difference in short term capital gains depreciation from federal amount" @@ -9,4 +9,3 @@ class ar_st_dep_adjustment(Variable): definition_period = YEAR reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000D_CapitalGains.pdf" defined_for = StateCode.AR - diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_head_retirement_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_head_retirement_income.py index 0745ec589..746a851f1 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_head_retirement_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_head_retirement_income.py @@ -3,8 +3,9 @@ class ar_head_retirement_income(Variable): """If zero, mark '65 Special' Line 7A of form AR1000F - - taxable_pension_income + - taxable_pension_income """ + value_type = float entity = TaxUnit label = "Arkansas retirement_income" @@ -14,11 +15,10 @@ class ar_head_retirement_income(Variable): defined_for = StateCode.AR def formula(tax_unit, period, parameters): - person = tax_unit.members is_head = ~person("is_tax_unit_head", period) - + income = 0 - income += is_head * add(person, period, ['ar_retirement_sources']) + income += is_head * add(person, period, ["ar_retirement_sources"]) - return tax_unit.sum(income) \ No newline at end of file + return tax_unit.sum(income) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py index cdd96ce02..0cd30e0b5 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_low_income_credit.py @@ -4,7 +4,6 @@ class ar_low_income_credit(Variable): - value_type = float entity = TaxUnit label = "Arkansas low income tax credit" @@ -14,22 +13,47 @@ class ar_low_income_credit(Variable): defined_for = StateCode.AR def formula(tax_unit, period, parameters): - - filing_status= tax_unit('filing_status', period) + filing_status = tax_unit("filing_status", period) tax_rate = parameters(period).gov.states.ar.tax.income.rates.rates - credit_rate= parameters(period).gov.states.ar.tax.income.credits.low_income_credit.income_tax_credit_pct - num_dependents = tax_unit('tax_unit_dependents', period) - min_income = where(num_dependents<2,parameters(period).gov.states.ar.tax.income.credits.low_income_credit.low_dep_inc_tax_credit_min_income[filing_status], parameters(period).gov.states.ar.tax.income.credits.low_income_credit.high_dep_inc_tax_credit_min_income[filing_status]) - phaseout_rate = where(num_dependents<2, parameters(period).gov.states.ar.tax.income.credits.low_income_credit.low_dep_inc_tax_credit_phaseout_rate[filing_status],parameters(period).gov.states.ar.tax.income.credits.low_income_credit.high_dep_inc_tax_credit_phaseout_rate[filing_status]) - agi = tax_unit('ar_agi', period) + credit_rate = parameters( + period + ).gov.states.ar.tax.income.credits.low_income_credit.income_tax_credit_pct + num_dependents = tax_unit("tax_unit_dependents", period) + min_income = where( + num_dependents < 2, + parameters( + period + ).gov.states.ar.tax.income.credits.low_income_credit.low_dep_inc_tax_credit_min_income[ + filing_status + ], + parameters( + period + ).gov.states.ar.tax.income.credits.low_income_credit.high_dep_inc_tax_credit_min_income[ + filing_status + ], + ) + phaseout_rate = where( + num_dependents < 2, + parameters( + period + ).gov.states.ar.tax.income.credits.low_income_credit.low_dep_inc_tax_credit_phaseout_rate[ + filing_status + ], + parameters( + period + ).gov.states.ar.tax.income.credits.low_income_credit.high_dep_inc_tax_credit_phaseout_rate[ + filing_status + ], + ) + agi = tax_unit("ar_agi", period) def round_to_nearest_50(num): # Calculate the nearest multiple of 100 nearest_multiple_of_100 = round(num / 100) * 100 - + # Get the last two digits last_two_digits = num % 100 - + # Determine the closest ending in "50" if last_two_digits <= 50: rounded_income = nearest_multiple_of_100 + 50 @@ -37,13 +61,11 @@ def round_to_nearest_50(num): else: rounded_income = nearest_multiple_of_100 - 50 return rounded_income - - std_ded = tax_unit("ar_standard_deduction", period) itm_ded = tax_unit("ar_itemized_deductions", period) deduction = where(itm_ded > std_ded, itm_ded, std_ded) - + agi_less_ded = agi - deduction min_inc_less_ded = min_income - deduction @@ -52,7 +74,7 @@ def round_to_nearest_50(num): # Calculate the tax liability on min_income min_tax_liability = tax_rate.calc(rounded_min_income) - + min_tax_liability = round(min_tax_liability) # Calculate the credit amount @@ -60,17 +82,25 @@ def round_to_nearest_50(num): # Calculate the phaseout reduction for each $100 over min_income excess_income = rounded_income - rounded_min_income - phaseout_count = where(excess_income % 100 > 0, excess_income // 100 +1, excess_income // 100) + phaseout_count = where( + excess_income % 100 > 0, + excess_income // 100 + 1, + excess_income // 100, + ) phaseout_reduction = phaseout_count * phaseout_rate # Reduce the credit amount based on the phaseout reduction credit_amount -= phaseout_reduction # Ensure credit_amount does not go below 0 and that those who itemize or are married filing separately do not take the credit - credit_amount = where(credit_amount < 0 or std_ded=age_threshold,1,0) - aged_spouse = where(tax_unit("age_spouse", period).astype(int)>=age_threshold,1,0) + age_threshold = parameters( + period + ).gov.states.ar.tax.income.credits.personal.age_threshold + aged_head = where( + tax_unit("age_head", period).astype(int) >= age_threshold, 1, 0 + ) + aged_spouse = where( + tax_unit("age_spouse", period).astype(int) >= age_threshold, 1, 0 + ) aged_credit = (aged_head + aged_spouse) * personal_credit_amount - head_retirement_income = tax_unit('ar_head_retirement_income', period) - spouse_retirement_income = tax_unit('ar_spouse_retirement_income', period) - aged_special_head = where(aged_head == 1 and head_retirement_income <= 0, 1, 0) - aged_special_spouse = where(aged_spouse == 1 and spouse_retirement_income <= 0, 1, 0) - - aged_special_credit = (aged_special_head + aged_special_spouse) * personal_credit_amount - + head_retirement_income = tax_unit("ar_head_retirement_income", period) + spouse_retirement_income = tax_unit( + "ar_spouse_retirement_income", period + ) + aged_special_head = where( + aged_head == 1 and head_retirement_income <= 0, 1, 0 + ) + aged_special_spouse = where( + aged_spouse == 1 and spouse_retirement_income <= 0, 1, 0 + ) + + aged_special_credit = ( + aged_special_head + aged_special_spouse + ) * personal_credit_amount # I created "is_deaf", "deaf_head", and "deaf_spouse" myself deaf_head = tax_unit("deaf_head", period).astype(int) deaf_spouse = tax_unit("deaf_spouse", period).astype(int) * 1 deaf_credit = (deaf_head + deaf_spouse) * personal_credit_amount - - hoh_status = filing_status.possible_values.HEAD_OF_HOUSEHOLD or filing_status.possible_values.WIDOW - hoh_credit = where(filing_status == hoh_status, 1, 0) * personal_credit_amount - - - personal_credit = self_and_spouse_credit + blind_credit + aged_credit + aged_special_credit + deaf_credit + hoh_credit - - - - + hoh_status = ( + filing_status.possible_values.HEAD_OF_HOUSEHOLD + or filing_status.possible_values.WIDOW + ) + hoh_credit = ( + where(filing_status == hoh_status, 1, 0) * personal_credit_amount + ) + + personal_credit = ( + self_and_spouse_credit + + blind_credit + + aged_credit + + aged_special_credit + + deaf_credit + + hoh_credit + ) dependents = tax_unit("tax_unit_dependents", period) - dependent_credit_amount = parameters(period).gov.states.ar.tax.income.credits.personal.dependents - dependent_credit = dependents *dependent_credit_amount - - - qual_dependents = tax_unit("ar_qual_dependents", period) # Probably not implemented correctly - qual_dependent_credit_amount = parameters(period).gov.states.ar.tax.income.credits.personal.qual_dependents + dependent_credit_amount = parameters( + period + ).gov.states.ar.tax.income.credits.personal.dependents + dependent_credit = dependents * dependent_credit_amount + + qual_dependents = tax_unit( + "ar_qual_dependents", period + ) # Probably not implemented correctly + qual_dependent_credit_amount = parameters( + period + ).gov.states.ar.tax.income.credits.personal.qual_dependents qual_dependent_credit = qual_dependent_credit_amount * qual_dependents - - - return personal_credit + dependent_credit + qual_dependent_credit \ No newline at end of file + return personal_credit + dependent_credit + qual_dependent_credit diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_qual_dependents.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_qual_dependents.py index e6f1d9f39..6a61a97ac 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_qual_dependents.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_qual_dependents.py @@ -11,11 +11,10 @@ class ar_qual_dependents(Variable): defined_for = StateCode.AR def formula(tax_unit, period, parameters): - person = tax_unit.members is_dependent = ~person("is_tax_unit_dependent", period) is_disabled = ~person("is_disabled", period) eligible = is_dependent * is_disabled - return tax_unit.sum(eligible) \ No newline at end of file + return tax_unit.sum(eligible) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_spouse_retirement_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_spouse_retirement_income.py index f86fc207f..f2b09e20f 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_spouse_retirement_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/ar_spouse_retirement_income.py @@ -2,9 +2,10 @@ class ar_spouse_retirement_income(Variable): - """ Line 18B, If zero, mark '65 Special' Line 7A of form AR1000F - - taxable_pension_income + """Line 18B, If zero, mark '65 Special' Line 7A of form AR1000F + - taxable_pension_income """ + value_type = float entity = TaxUnit label = "Arkansas Spouse retirement income" @@ -14,11 +15,10 @@ class ar_spouse_retirement_income(Variable): defined_for = StateCode.AR def formula(tax_unit, period, parameters): - person = tax_unit.members is_spouse = ~person("is_tax_unit_spouse", period) - + income = 0 - income += is_spouse * add(person, period, ['ar_retirement_sources']) + income += is_spouse * add(person, period, ["ar_retirement_sources"]) - return tax_unit.sum(income) \ No newline at end of file + return tax_unit.sum(income) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc.py index 14be15c99..71c6a11d2 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc.py @@ -13,4 +13,4 @@ class ar_cdcc(Variable): def formula(tax_unit, period, parameters): p = parameters(period).gov.states.ar.tax.income.credits.cdcc cdcc = tax_unit("cdcc", period) - return cdcc * p.match \ No newline at end of file + return cdcc * p.match diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_refundable_pct.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_refundable_pct.py index eb8264cd0..9f26a1c42 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_refundable_pct.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_cdcc_refundable_pct.py @@ -8,4 +8,3 @@ class ar_cdcc_refundable_pct(Variable): documentation = "https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-502/" definition_period = YEAR defined_for = StateCode.AR - diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_nonrefundable_cdcc.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_nonrefundable_cdcc.py index f8c09ff7c..0c16c3775 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_nonrefundable_cdcc.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_nonrefundable_cdcc.py @@ -11,7 +11,7 @@ class ar_nonrefundable_cdcc(Variable): defined_for = StateCode.AR def formula(tax_unit, period, parameters): - cdcc = tax_unit('ar_cdcc', period) - refundable_pct = tax_unit('ar_cdcc_refundable_pct', period) + cdcc = tax_unit("ar_cdcc", period) + refundable_pct = tax_unit("ar_cdcc_refundable_pct", period) - return cdcc * (1- refundable_pct) \ No newline at end of file + return cdcc * (1 - refundable_pct) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_refundable_cdcc.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_refundable_cdcc.py index 8f569416a..0e7e6b01a 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_refundable_cdcc.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/cdcc/ar_refundable_cdcc.py @@ -11,7 +11,7 @@ class ar_refundable_cdcc(Variable): defined_for = StateCode.AR def formula(tax_unit, period, parameters): - cdcc = tax_unit('ar_cdcc', period) - refundable_pct = tax_unit('ar_cdcc_refundable_pct', period) + cdcc = tax_unit("ar_cdcc", period) + refundable_pct = tax_unit("ar_cdcc_refundable_pct", period) - return cdcc * refundable_pct \ No newline at end of file + return cdcc * refundable_pct diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_additional_tax_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_additional_tax_credit.py index 3a93eee88..a90b5fa05 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_additional_tax_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_additional_tax_credit.py @@ -10,12 +10,10 @@ class ar_additional_tax_credit(Variable): defined_for = StateCode.AR def formula(tax_unit, period, parameters): - filing_status= tax_unit('filing_status', period) + filing_status = tax_unit("filing_status", period) income = tax_unit("ar_taxable_income", period) - p = parameters( - period - ).gov.states.ar.tax.income.credits.other_credits + p = parameters(period).gov.states.ar.tax.income.credits.other_credits amount = p.additional_amount @@ -23,11 +21,10 @@ def formula(tax_unit, period, parameters): credit = amount.calc(income) - credit = where(filing_status == filing_status.possible_values.JOINT, credit * joint_multiple, credit) + credit = where( + filing_status == filing_status.possible_values.JOINT, + credit * joint_multiple, + credit, + ) return credit - - - - - diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_adoption_expense_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_adoption_expense_credit.py index 91ff1f4c0..f877451ce 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_adoption_expense_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_adoption_expense_credit.py @@ -11,14 +11,10 @@ class ar_adoption_expense_credit(Variable): reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf" defined_for = StateCode.AR -def formula(tax_unit, period, parameters): - p = parameters( - period - ).gov.states.ar.income.credits.other_credits - - match = p.adoption_credit - return match * tax_unit('qualified_adoption_expenses', period) +def formula(tax_unit, period, parameters): + p = parameters(period).gov.states.ar.income.credits.other_credits + match = p.adoption_credit - \ No newline at end of file + return match * tax_unit("qualified_adoption_expenses", period) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_business_credits.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_business_credits.py index be86bd854..d2a772756 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_business_credits.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_business_credits.py @@ -9,4 +9,4 @@ class ar_business_credits(Variable): unit = USD definition_period = YEAR reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf" - defined_for = StateCode.AR \ No newline at end of file + defined_for = StateCode.AR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_inflationary_relief_tax_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_inflationary_relief_tax_credit.py index 1f9b38adb..97808ac81 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_inflationary_relief_tax_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_inflationary_relief_tax_credit.py @@ -25,4 +25,4 @@ def formula(tax_unit, period, parameters): excess = max(income - reduction_start, 0) increments = np.ceil(excess / increment) total_reduction_amount = increments * reduction_per_increment - return max(max_amount - total_reduction_amount, 0) \ No newline at end of file + return max(max_amount - total_reduction_amount, 0) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_credit_carryover.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_credit_carryover.py index fb9b6f768..f612f3896 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_credit_carryover.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_credit_carryover.py @@ -8,9 +8,7 @@ class ar_metabolic_credit_carryover(Variable): value_type = float entity = TaxUnit - label = ( - "Arkansas metabolic credit carryover from previous year" - ) + label = "Arkansas metabolic credit carryover from previous year" unit = USD definition_period = YEAR - defined_for = StateCode.AR \ No newline at end of file + defined_for = StateCode.AR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_credit.py index 677e1a45f..1bf24774e 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_credit.py @@ -11,26 +11,35 @@ class ar_metabolic_disorder_credit(Variable): reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf" defined_for = StateCode.AR + def formula(tax_unit, period, parameters): - p = parameters( - period - ).gov.states.ar.income.credits.other_credits - - maximum_credit = p.metabolic + p = parameters(period).gov.states.ar.income.credits.other_credits + + maximum_credit = p.metabolic - expenses = tax_unit("ar_metabolic_disorder_expenses", period) + expenses = tax_unit("ar_metabolic_disorder_expenses", period) - carryover = tax_unit('ar_metabolic_credit_carryover', period) + carryover = tax_unit("ar_metabolic_credit_carryover", period) - total_available = expenses + carryover + total_available = expenses + carryover - total_allowable_credit = min(maximum_credit, total_available) + total_allowable_credit = min(maximum_credit, total_available) - tax_due = tax_unit('ar_income_tax_before_non_refundable_credits', period) - - tax_unit('ar_personal_credits', period) - tax_unit('ar_political_contribution_credit', period) - - tax_unit('ar_other_state_credit', period) - tax_unit('ar_adoption_expense_credit', period) - tax_unit('ar_stillborn_child_credit') - - tax_unit('ar_additional_tax_credit')- tax_unit('ar_inflationary_relief_credit') - tax_unit('ar_cdcc', period) + tax_due = tax_unit("ar_income_tax_before_non_refundable_credits", period) + -tax_unit("ar_personal_credits", period) - tax_unit( + "ar_political_contribution_credit", period + ) + ( + -tax_unit("ar_other_state_credit", period) + - tax_unit("ar_adoption_expense_credit", period) + - tax_unit("ar_stillborn_child_credit") + ) + ( + -tax_unit("ar_additional_tax_credit") + - tax_unit("ar_inflationary_relief_credit") + - tax_unit("ar_cdcc", period) + ) - credit = min(total_allowable_credit, tax_due) + credit = min(total_allowable_credit, tax_due) - return credit \ No newline at end of file + return credit diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_expenses.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_expenses.py index 92e0d2284..1e76af453 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_expenses.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_metabolic_disorder_expenses.py @@ -9,4 +9,4 @@ class ar_metabolic_disorder_expenses(Variable): unit = USD definition_period = YEAR reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf" - defined_for = StateCode.AR \ No newline at end of file + defined_for = StateCode.AR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_other_state_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_other_state_credit.py index 859dfde39..94c4813de 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_other_state_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_other_state_credit.py @@ -10,4 +10,4 @@ class ar_other_state_credit(Variable): unit = USD definition_period = YEAR reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf" - defined_for = StateCode.AR \ No newline at end of file + defined_for = StateCode.AR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_political_contribution_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_political_contribution_credit.py index 79d1607ce..9b50234d7 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_political_contribution_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_political_contribution_credit.py @@ -11,11 +11,10 @@ class ar_political_contribution_credit(Variable): reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf" defined_for = StateCode.AR + def formula(tax_unit, period, parameters): - p = parameters( - period - ).gov.states.ar.tax.income.credits.other_credits - cap = p.political_contrib - contributions = tax_unit("ar_political_contributions") + p = parameters(period).gov.states.ar.tax.income.credits.other_credits + cap = p.political_contrib + contributions = tax_unit("ar_political_contributions") - return min_(cap, contributions) \ No newline at end of file + return min_(cap, contributions) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_political_contributions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_political_contributions.py index b9c330d93..94f35777e 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_political_contributions.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_political_contributions.py @@ -9,4 +9,4 @@ class ar_political_contributions(Variable): unit = USD definition_period = YEAR reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TC_Schedule_of_TaxCredits_andBusiness_IncentiveCredits.pdf" - defined_for = StateCode.AR \ No newline at end of file + defined_for = StateCode.AR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_stillborn_child_credit.py b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_stillborn_child_credit.py index a3f7ff4dc..037e659f1 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_stillborn_child_credit.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/credits/other_credits/ar_stillborn_child_credit.py @@ -12,12 +12,10 @@ class ar_stillborn_child_credit(Variable): defined_for = StateCode.AR def formula(tax_unit, period, parameters): - p = parameters( - period - ).gov.states.ar.income.credits.other_credits + p = parameters(period).gov.states.ar.income.credits.other_credits amount = p.stillbirth_credit num = tax_unit("tax_unit_stillborn_children", period) - return amount * num \ No newline at end of file + return amount * num diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py index 7d13f29f6..72401c907 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions.py @@ -11,40 +11,57 @@ class ar_itemized_deductions(Variable): defined_for = StateCode.AR def formula(tax_unit, period, parameters): - medical_expense = add(tax_unit, period, ["medical_expense"]) - agi = tax_unit('ar_agi', period) - medical_threshold = parameters(period).gov.states.ar.tax.income.deductions.itemized.medical + agi = tax_unit("ar_agi", period) + medical_threshold = parameters( + period + ).gov.states.ar.tax.income.deductions.itemized.medical agi_portion = max(0, agi * medical_threshold) - medical_deduction = max(0,medical_expense - agi_portion) + medical_deduction = max(0, medical_expense - agi_portion) real_estate_tax = add(tax_unit, period, ["real_estate_taxes"]) # Line 6 - other_taxes = tax_unit('ar_other_taxes', period) + other_taxes = tax_unit("ar_other_taxes", period) - interest_expense = tax_unit('interest_deduction', period) + interest_expense = tax_unit("interest_deduction", period) charitable_deduction = tax_unit("charitable_deduction", period) casualty_loss = add(tax_unit, period, ["casualty_loss"]) - education_deduction = tax_unit('ar_post_secondary_education_tuition_deduction', period) + education_deduction = tax_unit( + "ar_post_secondary_education_tuition_deduction", period + ) # Miscellaneous deductions subject to AGI limit - employee_expenses = tax_unit('ar_unreimbursed_employee_expenses_deduction', period) - other_limited_expenses = tax_unit('ar_other_limited_expenses', period) + employee_expenses = tax_unit( + "ar_unreimbursed_employee_expenses_deduction", period + ) + other_limited_expenses = tax_unit("ar_other_limited_expenses", period) line_22 = employee_expenses + other_limited_expenses - misc_limit_pct = parameters(period).gov.states.ar.tax.income.deductions.itemized.miscellaneous_limit - + misc_limit_pct = parameters( + period + ).gov.states.ar.tax.income.deductions.itemized.miscellaneous_limit + misc_limit = agi * misc_limit_pct misc_deductions = max(0, line_22 - misc_limit) - other_misc_deductions = tax_unit('ar_other_misc_deductions', period) - - return medical_deduction + real_estate_tax + other_taxes + interest_expense + education_deduction + charitable_deduction + casualty_loss + misc_deductions + other_misc_deductions \ No newline at end of file + other_misc_deductions = tax_unit("ar_other_misc_deductions", period) + + return ( + medical_deduction + + real_estate_tax + + other_taxes + + interest_expense + + education_deduction + + charitable_deduction + + casualty_loss + + misc_deductions + + other_misc_deductions + ) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_limited_expenses.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_limited_expenses.py index ad377b1e8..a83d0a649 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_limited_expenses.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_limited_expenses.py @@ -18,6 +18,6 @@ class ar_other_limited_expenses(Variable): entity = TaxUnit label = "AR other limited expenses" unit = USD - reference = 'https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf' + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf" definition_period = YEAR - defined_for = StateCode.AR \ No newline at end of file + defined_for = StateCode.AR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_misc_deductions.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_misc_deductions.py index 4ab0b1cb0..b36dfebe6 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_misc_deductions.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_misc_deductions.py @@ -15,6 +15,6 @@ class ar_other_misc_deductions(Variable): entity = TaxUnit label = "AR other miscellaneous deductions" unit = USD - reference = 'https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf' + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf" definition_period = YEAR - defined_for = StateCode.AR \ No newline at end of file + defined_for = StateCode.AR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_taxes.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_taxes.py index 467547d51..aed302d0b 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_taxes.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_other_taxes.py @@ -10,6 +10,6 @@ class ar_other_taxes(Variable): entity = TaxUnit label = "AR personal property and other taxes" unit = USD - reference = 'https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf' + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf" definition_period = YEAR - defined_for = StateCode.AR \ No newline at end of file + defined_for = StateCode.AR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses.py index 426d882ef..26c89dc25 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses.py @@ -10,6 +10,6 @@ class ar_unreimbursed_employee_expenses(Variable): entity = TaxUnit label = "AR unreimbursed employee expenses" unit = USD - reference = 'https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2106_EmployeeBusinessExpenses.pdf' + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2106_EmployeeBusinessExpenses.pdf" definition_period = YEAR - defined_for = StateCode.AR \ No newline at end of file + defined_for = StateCode.AR diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses_deduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses_deduction.py index 6ae97bfd2..d1fb0c8a5 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses_deduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/ar_unreimbursed_employee_expenses_deduction.py @@ -10,15 +10,15 @@ class ar_unreimbursed_employee_expenses_deduction(Variable): entity = TaxUnit label = "AR unreimbursed employee expenses deduction" unit = USD - reference = 'https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2106_EmployeeBusinessExpenses.pdf' + reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2106_EmployeeBusinessExpenses.pdf" definition_period = YEAR defined_for = StateCode.AR def formula(tax_unit, period, parameters): - expenses = tax_unit('ar_unreimbursed_employee_expenses', period) + expenses = tax_unit("ar_unreimbursed_employee_expenses", period) p = parameters(period).gov.states.ar.tax.income.deductions.itemized multiple = p.unreimbursed_employee_expenses_multiple - return expenses * multiple \ No newline at end of file + return expenses * multiple diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/post_secondary_education/ar_post_secondary_education_tuition_deduction.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/post_secondary_education/ar_post_secondary_education_tuition_deduction.py index 043511b3a..cbd66523f 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/post_secondary_education/ar_post_secondary_education_tuition_deduction.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/post_secondary_education/ar_post_secondary_education_tuition_deduction.py @@ -10,4 +10,4 @@ class ar_post_secondary_education_tuition_deduction(Variable): reference = "https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2022.pdf#page=1" defined_for = StateCode.AR - adds = ["ar_post_secondary_education_tuition_deduction_person"] \ No newline at end of file + adds = ["ar_post_secondary_education_tuition_deduction_person"] diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/post_secondary_education/ar_post_secondary_education_tuition_deduction_person.py b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/post_secondary_education/ar_post_secondary_education_tuition_deduction_person.py index 631746179..cb8b43eee 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/post_secondary_education/ar_post_secondary_education_tuition_deduction_person.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/deductions/itemized/post_secondary_education/ar_post_secondary_education_tuition_deduction_person.py @@ -27,4 +27,4 @@ def formula(person, period, parameters): ], default=p.weighted_average_tuition.two_year_college, ) - return min_(uncapped, cap) \ No newline at end of file + return min_(uncapped, cap) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_actuarial_value.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_actuarial_value.py index 4e3259206..750e61f4b 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_actuarial_value.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_actuarial_value.py @@ -3,7 +3,8 @@ class ar_actuarial_value(Variable): """Line 31 of form AR1000F - Line 2 of form AR1000TD""" + Line 2 of form AR1000TD""" + value_type = float entity = TaxUnit label = "Arkansas Lump Sum Distribution - Actuarial Value" diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_distribution_income.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_distribution_income.py index 4d790b74f..d81bb9d7c 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_distribution_income.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_distribution_income.py @@ -3,7 +3,8 @@ class ar_distribution_income(Variable): """Line 31 of form AR1000F - Line 1 of form AR1000TD""" + Line 1 of form AR1000TD""" + value_type = float entity = TaxUnit label = "Arkansas Lump Sum Distribution Income" diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py index dcba7029f..b14d064d4 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/lump_sum_dist/ar_lump_sum_dist_tax.py @@ -13,9 +13,8 @@ class ar_lump_sum_dist_tax(Variable): defined_for = StateCode.AR def formula(tax_unit, period, parameters): - # def high_income_reduction(income): - + # full_reduction= parameters(period).gov.states.ar.tax.income.high_income_reduction.high_income_reduction_amount # min_income = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max + 1 # phaseout_rate = parameters(period).gov.states.ar.tax.income.high_income_reduction.high_income_reduction_phaseout @@ -23,10 +22,10 @@ def formula(tax_unit, period, parameters): # def round_to_nearest_50(num): # # Calculate the nearest multiple of 100 # nearest_multiple_of_100 = round(num / 100,0) * 100 - + # # Get the last two digits # last_two_digits = num % 100 - + # # Determine the closest ending in "50" # if last_two_digits <= 50 and last_two_digits >= 1: # rounded_income = nearest_multiple_of_100 + 50 @@ -54,18 +53,24 @@ def formula(tax_unit, period, parameters): # # Ensure credit_amount does not go below 0 # reduction_amount = where(reduction_amount < 0 or excess_income < 0 , # 0, reduction_amount) - + # reduction_amount = round(reduction_amount,0) # return reduction_amount - p = parameters(period).gov.states.ar.tax.income.lump_sum_dist - high_income_threshold = parameters(period).gov.states.ar.tax.income.rates.regular_bracket_max +1 - high_income_reduction = parameters(period).gov.states.ar.tax.income.high_income_reduction.high_income_reduction - - income = tax_unit('ar_distribution_income', period) - actuarial_value = tax_unit('ar_actuarial_value', period) + high_income_threshold = ( + parameters( + period + ).gov.states.ar.tax.income.rates.regular_bracket_max + + 1 + ) + high_income_reduction = parameters( + period + ).gov.states.ar.tax.income.high_income_reduction.high_income_reduction + + income = tax_unit("ar_distribution_income", period) + actuarial_value = tax_unit("ar_actuarial_value", period) taxable_dist = income + actuarial_value min_allowance_threshold = p.min_allowance_threshold @@ -86,9 +91,15 @@ def formula(tax_unit, period, parameters): line_6 = line_5 * line_6_multiple - min_allowance = where(taxable_dist < min_allowance_threshold,line_4 - line_6,0) + min_allowance = where( + taxable_dist < min_allowance_threshold, line_4 - line_6, 0 + ) - line_8 = where(taxable_dist < min_allowance_threshold,taxable_dist - min_allowance, taxable_dist) + line_8 = where( + taxable_dist < min_allowance_threshold, + taxable_dist - min_allowance, + taxable_dist, + ) line_9_multiple = p.Line9_multiple @@ -97,10 +108,21 @@ def formula(tax_unit, period, parameters): # line_9_reduction = high_income_reduction(line_9) line_9_reduction = high_income_reduction.calc(line_9) - line_9_tax = round(where( + line_9_tax = round( + where( line_9 <= high_income_threshold, - parameters(period).gov.states.ar.tax.income.rates.rates.calc((line_9 - deduction)), - parameters(period).gov.states.ar.tax.income.rates.high_income_rates.calc((line_9 - deduction))) - line_9_reduction,0) + parameters(period).gov.states.ar.tax.income.rates.rates.calc( + (line_9 - deduction) + ), + parameters( + period + ).gov.states.ar.tax.income.rates.high_income_rates.calc( + (line_9 - deduction) + ), + ) + - line_9_reduction, + 0, + ) line_11_multiple = p.Line11_multiple @@ -118,15 +140,26 @@ def formula(tax_unit, period, parameters): line_15_reduction = high_income_reduction.calc(line_15) - line_15_tax =round(where( + line_15_tax = round( + where( line_15 <= high_income_threshold, - parameters(period).gov.states.ar.tax.income.rates.rates.calc(line_15 - deduction), - parameters(period).gov.states.ar.tax.income.rates.high_income_rates.calc(line_15 - deduction)) - line_15_reduction,0) + parameters(period).gov.states.ar.tax.income.rates.rates.calc( + line_15 - deduction + ), + parameters( + period + ).gov.states.ar.tax.income.rates.high_income_rates.calc( + line_15 - deduction + ), + ) + - line_15_reduction, + 0, + ) line_17_multiple = p.Line17_multiple line_17 = line_15_tax * line_17_multiple - tax = where(actuarial_value > 0,line_11 - line_17,0) + tax = where(actuarial_value > 0, line_11 - line_17, 0) - return tax \ No newline at end of file + return tax From 1675fbfdc32e99b6e4aa39ad465522617b7b5d25 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 28 Mar 2024 13:15:23 -0600 Subject: [PATCH 191/194] Linecheck files --- .../states/ar/tax/income/capital_gains/capital_loss_cap.yaml | 2 +- .../income/capital_gains/long_term_cap_gain_taxable_pct.yaml | 2 +- .../ar/tax/income/capital_gains/max_taxable_capital_gain.yaml | 2 +- .../parameters/gov/states/ar/tax/income/credits/cdcc/match.yaml | 2 +- .../low_income_credit/high_dep_inc_tax_credit_min_income.yaml | 2 +- .../high_dep_inc_tax_credit_phaseout_rate.yaml | 2 +- .../income/credits/low_income_credit/income_tax_credit_pct.yaml | 2 +- .../low_income_credit/low_dep_inc_tax_credit_min_income.yaml | 2 +- .../low_income_credit/low_dep_inc_tax_credit_phaseout_rate.yaml | 2 +- .../ar/tax/income/credits/other_credits/additional_amount.yaml | 2 +- .../credits/other_credits/additional_credit_joint_multiple.yaml | 2 +- .../ar/tax/income/credits/other_credits/adoption_credit.yaml | 2 +- .../states/ar/tax/income/credits/other_credits/metabolic.yaml | 2 +- .../ar/tax/income/credits/other_credits/political_contrib.yaml | 2 +- .../ar/tax/income/credits/other_credits/stillbirth_credit.yaml | 2 +- .../states/ar/tax/income/credits/personal/age_threshold.yaml | 2 +- .../gov/states/ar/tax/income/credits/personal/dependents.yaml | 2 +- .../ar/tax/income/credits/personal/personal_credit_amount.yaml | 2 +- .../states/ar/tax/income/credits/personal/qual_dependents.yaml | 2 +- .../gov/states/ar/tax/income/deductions/itemized/medical.yaml | 2 +- .../ar/tax/income/deductions/itemized/miscellaneous_limit.yaml | 2 +- .../states/ar/tax/income/deductions/itemized/tuition/rate.yaml | 2 +- .../tuition/weighted_average_tuition/four_year_college.yaml | 2 +- .../tuition/weighted_average_tuition/technical_institutes.yaml | 2 +- .../tuition/weighted_average_tuition/two_year_college.yaml | 2 +- .../itemized/unreimbursed_employee_expenses_multiple.yaml | 2 +- .../gov/states/ar/tax/income/deductions/standard.yaml | 2 +- .../tax/income/high_income_reduction/high_income_reduction.yaml | 2 +- .../parameters/gov/states/ar/tax/income/income_sources.yaml | 2 +- .../gov/states/ar/tax/income/lump_sum_dist/Line11_multiple.yaml | 2 +- .../gov/states/ar/tax/income/lump_sum_dist/Line15_multiple.yaml | 2 +- .../gov/states/ar/tax/income/lump_sum_dist/Line17_multiple.yaml | 2 +- .../gov/states/ar/tax/income/lump_sum_dist/Line9_multiple.yaml | 2 +- .../ar/tax/income/lump_sum_dist/min_allowance_multiple1.yaml | 2 +- .../tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml | 2 +- .../ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml | 2 +- .../ar/tax/income/lump_sum_dist/min_allowance_subtract.yaml | 2 +- .../ar/tax/income/lump_sum_dist/min_allowance_threshold.yaml | 2 +- .../gov/states/ar/tax/income/rates/high_income_rates.yaml | 2 +- .../gov/states/ar/tax/income/rates/ira_exemption.yaml | 2 +- .../parameters/gov/states/ar/tax/income/rates/rates.yaml | 2 +- .../gov/states/ar/tax/income/rates/regular_bracket_max.yaml | 2 +- .../baseline/gov/states/ar/tax/income/ar_capital_gains.yaml | 2 +- .../gov/states/ar/tax/income/ar_high_income_reduction.yaml | 2 +- .../baseline/gov/states/ar/tax/income/ar_taxable_income.yaml | 2 +- .../states/ar/tax/income/credits/ar_additional_tax_credit.yaml | 2 +- .../gov/states/ar/tax/income/credits/ar_low_income_credit.yaml | 2 +- .../gov/states/ar/tax/income/credits/ar_personal_credits.yaml | 2 +- .../states/ar/tax/income/deductions/ar_itemized_deductions.yaml | 2 +- .../ar_post_secondary_education_tuition_deduction_person.yaml | 2 +- 50 files changed, 50 insertions(+), 50 deletions(-) diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/capital_loss_cap.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/capital_loss_cap.yaml index 3dbd2c34b..25c051fef 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/capital_loss_cap.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/capital_loss_cap.yaml @@ -19,4 +19,4 @@ HEAD_OF_HOUSEHOLD: SINGLE: 2022-01-01: 3_000 SEPARATE: - 2022-01-01: 1_500 \ No newline at end of file + 2022-01-01: 1_500 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/long_term_cap_gain_taxable_pct.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/long_term_cap_gain_taxable_pct.yaml index d5769c935..59f06cd70 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/long_term_cap_gain_taxable_pct.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/long_term_cap_gain_taxable_pct.yaml @@ -7,4 +7,4 @@ metadata: label: Arkansas Long Term Capital Gains Cap reference: - title: 2022 AR1000D ARKANSAS INDIVIDUAL INCOME TAX Capital Gains Line 8 - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000D_CapitalGains.pdf \ No newline at end of file + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000D_CapitalGains.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/max_taxable_capital_gain.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/max_taxable_capital_gain.yaml index 0c3f1943a..d237cb409 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/max_taxable_capital_gain.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/capital_gains/max_taxable_capital_gain.yaml @@ -7,4 +7,4 @@ metadata: label: Arkansas Long Term Capital Gains Cap reference: - title: 2022 AR1000D ARKANSAS INDIVIDUAL INCOME TAX Capital Gains Line 7b - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000D_CapitalGains.pdf \ No newline at end of file + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000D_CapitalGains.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/match.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/match.yaml index 266e0e256..4708df973 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/match.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/cdcc/match.yaml @@ -9,4 +9,4 @@ metadata: - title: Arkansas 2022 AR2441 | line 10 href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf#page=1 values: - 2013-01-01: 0.2 \ No newline at end of file + 2013-01-01: 0.2 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml index 3de8b975d..bc655b844 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_min_income.yaml @@ -21,4 +21,4 @@ HEAD_OF_HOUSEHOLD: SINGLE: 2022-01-01: 13_447 SEPARATE: - 2022-01-01: 0 \ No newline at end of file + 2022-01-01: 0 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml index b3642153f..2f1dae26a 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/high_dep_inc_tax_credit_phaseout_rate.yaml @@ -19,4 +19,4 @@ HEAD_OF_HOUSEHOLD: SINGLE: 2022-01-01: 4 SEPARATE: - 2022-01-01: 0 \ No newline at end of file + 2022-01-01: 0 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/income_tax_credit_pct.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/income_tax_credit_pct.yaml index 6aa9acbf8..14fb6d3dd 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/income_tax_credit_pct.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/income_tax_credit_pct.yaml @@ -9,4 +9,4 @@ metadata: unit: /1 period: year name: income_tax_credit_pct - label: AR low income tax credit percent \ No newline at end of file + label: AR low income tax credit percent diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_min_income.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_min_income.yaml index 75635a965..453d222f1 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_min_income.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_min_income.yaml @@ -22,4 +22,4 @@ HEAD_OF_HOUSEHOLD: SINGLE: 2022-01-01: 13_447 SEPARATE: - 2022-01-01: 0 \ No newline at end of file + 2022-01-01: 0 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_phaseout_rate.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_phaseout_rate.yaml index 0214beca8..24c2a80c3 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_phaseout_rate.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/low_income_credit/low_dep_inc_tax_credit_phaseout_rate.yaml @@ -20,4 +20,4 @@ HEAD_OF_HOUSEHOLD: SINGLE: 2022-01-01: 4 SEPARATE: - 2022-01-01: 0 \ No newline at end of file + 2022-01-01: 0 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_amount.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_amount.yaml index a803e1902..df9886ec5 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_amount.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_amount.yaml @@ -74,4 +74,4 @@ brackets: 2022-01-01: 25_401 2023-01-01: 26_101 amount: - 2022-01-01: 0 \ No newline at end of file + 2022-01-01: 0 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_credit_joint_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_credit_joint_multiple.yaml index 5ecbed21a..7664e8a60 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_credit_joint_multiple.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/additional_credit_joint_multiple.yaml @@ -11,4 +11,4 @@ metadata: unit: /1 period: year name: additional_credit_joint_multiple - label: AR additional credit joint multiple \ No newline at end of file + label: AR additional credit joint multiple diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/adoption_credit.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/adoption_credit.yaml index 0d4773dcf..84d7507ce 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/adoption_credit.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/adoption_credit.yaml @@ -11,4 +11,4 @@ metadata: unit: /1 period: year name: ar_adoption_credit - label: AR percent of federal Adoption Expense Credit \ No newline at end of file + label: AR percent of federal Adoption Expense Credit diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/metabolic.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/metabolic.yaml index a0aa4fb44..a6f433d48 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/metabolic.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/metabolic.yaml @@ -8,4 +8,4 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1113_PhenylketonuriaOtherMetabolicDisordersCredit.pdf unit: currency-USD period: year - label: PHENYLKETONURIA DISORDER AND OTHER METABOLIC DISORDERS MAX CREDIT \ No newline at end of file + label: PHENYLKETONURIA DISORDER AND OTHER METABOLIC DISORDERS MAX CREDIT diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/political_contrib.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/political_contrib.yaml index e1a0ef82c..7310c3758 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/political_contrib.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/political_contrib.yaml @@ -22,4 +22,4 @@ HEAD_OF_HOUSEHOLD: SINGLE: 2022-01-01: 50 SEPARATE: - 2022-01-01: 50 \ No newline at end of file + 2022-01-01: 50 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit.yaml index 543ef4272..e4736778d 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/other_credits/stillbirth_credit.yaml @@ -11,4 +11,4 @@ metadata: unit: /1 period: year name: ar_stillbirth_credit - label: AR Max Allowable Stillbirth Tax Credit Amount \ No newline at end of file + label: AR Max Allowable Stillbirth Tax Credit Amount diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/age_threshold.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/age_threshold.yaml index 7544c510f..d4d9049c6 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/age_threshold.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/age_threshold.yaml @@ -7,4 +7,4 @@ metadata: label: Arkansas additional aged deduction age eligibility reference: - title: 2021 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (line 7B) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2021_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf \ No newline at end of file + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2021_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/dependents.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/dependents.yaml index b6bcc176c..89e43013a 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/dependents.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/dependents.yaml @@ -11,4 +11,4 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf unit: currency-USD period: year - label: AR dependents tax credit amount \ No newline at end of file + label: AR dependents tax credit amount diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/personal_credit_amount.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/personal_credit_amount.yaml index 8f24a7763..82e5482bd 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/personal_credit_amount.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/personal_credit_amount.yaml @@ -11,4 +11,4 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf unit: currency-USD period: year - label: AR personal tax credit amount \ No newline at end of file + label: AR personal tax credit amount diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/qual_dependents.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/qual_dependents.yaml index c95c1ce67..0ed1103c8 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/qual_dependents.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/credits/personal/qual_dependents.yaml @@ -11,4 +11,4 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf unit: currency-USD period: year - label: AR qualifying dependents tax credit amount \ No newline at end of file + label: AR qualifying dependents tax credit amount diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/medical.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/medical.yaml index 2ce834c85..a6911c022 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/medical.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/medical.yaml @@ -7,4 +7,4 @@ metadata: - title: AR3 Arkansas Individual income Tax Itemized Deductions (Line 3) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf period: year - label: AR Medical Expenses Deduction Income Percentage Threshold \ No newline at end of file + label: AR Medical Expenses Deduction Income Percentage Threshold diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/miscellaneous_limit.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/miscellaneous_limit.yaml index ee973b35e..83e94c0d8 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/miscellaneous_limit.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/miscellaneous_limit.yaml @@ -7,4 +7,4 @@ metadata: - title: AR3 Arkansas Individual income Tax Itemized Deductions (Line 24) href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR3_ItemizedDeduction.pdf period: year - label: AR Miscellaneous Expenses AGI Limit \ No newline at end of file + label: AR Miscellaneous Expenses AGI Limit diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/rate.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/rate.yaml index 0f34bdf2e..cef615f25 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/rate.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/rate.yaml @@ -14,4 +14,4 @@ metadata: - title: Arkansas Individual Income Tax Return Deduction for Tution Paid to Post-Secondary Educational Institutions AR1075 Rev.2021 href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2021.pdf#page=1 - title: Code of Arkansas Public Access A.C.A. Subchapter 4. § 26-51-447.(a) - href: https://advance.lexis.com/documentpage/?pdmfid=1000516&crid=0954ab2a-1066-40fc-aa88-6afd57a184fa&nodeid=ABAAAFAACAAFABU&nodepath=%2FROOT%2FABA%2FABAAAF%2FABAAAFAAC%2FABAAAFAACAAF%2FABAAAFAACAAFABU&level=5&haschildren=&populated=false&title=26-51-447.+Deductions+%E2%80%94+Tuition+to+postsecondary+educational+institutions+%E2%80%94+Definition.&config=00JAA2ZjZiM2VhNS0wNTVlLTQ3NzUtYjQzYy0yYWZmODJiODRmMDYKAFBvZENhdGFsb2fXiYCnsel0plIgqpYkw9PK&pddocfullpath=%2Fshared%2Fdocument%2Fstatutes-legislation%2Furn%3AcontentItem%3A4WVP-0VS0-R03J-S4PK-00008-00&ecomp=7gf5kkk&prid=408f4fea-f101-4bf2-8722-f2b4fb0ba181 \ No newline at end of file + href: https://advance.lexis.com/documentpage/?pdmfid=1000516&crid=0954ab2a-1066-40fc-aa88-6afd57a184fa&nodeid=ABAAAFAACAAFABU&nodepath=%2FROOT%2FABA%2FABAAAF%2FABAAAFAAC%2FABAAAFAACAAF%2FABAAAFAACAAFABU&level=5&haschildren=&populated=false&title=26-51-447.+Deductions+%E2%80%94+Tuition+to+postsecondary+educational+institutions+%E2%80%94+Definition.&config=00JAA2ZjZiM2VhNS0wNTVlLTQ3NzUtYjQzYy0yYWZmODJiODRmMDYKAFBvZENhdGFsb2fXiYCnsel0plIgqpYkw9PK&pddocfullpath=%2Fshared%2Fdocument%2Fstatutes-legislation%2Furn%3AcontentItem%3A4WVP-0VS0-R03J-S4PK-00008-00&ecomp=7gf5kkk&prid=408f4fea-f101-4bf2-8722-f2b4fb0ba181 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/four_year_college.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/four_year_college.yaml index 84d77eb11..dfd4a3b56 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/four_year_college.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/four_year_college.yaml @@ -18,4 +18,4 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2021.pdf#page=1 # The legal code gives three classifications of post-secondary institutions but doesn't give the exact values of weighted average tuition for each one of them - title: Code of Arkansas Public Access A.C.A. Subchapter 4. § 26-51-447. - href: https://advance.lexis.com/documentpage/?pdmfid=1000516&crid=0954ab2a-1066-40fc-aa88-6afd57a184fa&nodeid=ABAAAFAACAAFABU&nodepath=%2FROOT%2FABA%2FABAAAF%2FABAAAFAAC%2FABAAAFAACAAF%2FABAAAFAACAAFABU&level=5&haschildren=&populated=false&title=26-51-447.+Deductions+%E2%80%94+Tuition+to+postsecondary+educational+institutions+%E2%80%94+Definition.&config=00JAA2ZjZiM2VhNS0wNTVlLTQ3NzUtYjQzYy0yYWZmODJiODRmMDYKAFBvZENhdGFsb2fXiYCnsel0plIgqpYkw9PK&pddocfullpath=%2Fshared%2Fdocument%2Fstatutes-legislation%2Furn%3AcontentItem%3A4WVP-0VS0-R03J-S4PK-00008-00&ecomp=7gf5kkk&prid=408f4fea-f101-4bf2-8722-f2b4fb0ba181 \ No newline at end of file + href: https://advance.lexis.com/documentpage/?pdmfid=1000516&crid=0954ab2a-1066-40fc-aa88-6afd57a184fa&nodeid=ABAAAFAACAAFABU&nodepath=%2FROOT%2FABA%2FABAAAF%2FABAAAFAAC%2FABAAAFAACAAF%2FABAAAFAACAAFABU&level=5&haschildren=&populated=false&title=26-51-447.+Deductions+%E2%80%94+Tuition+to+postsecondary+educational+institutions+%E2%80%94+Definition.&config=00JAA2ZjZiM2VhNS0wNTVlLTQ3NzUtYjQzYy0yYWZmODJiODRmMDYKAFBvZENhdGFsb2fXiYCnsel0plIgqpYkw9PK&pddocfullpath=%2Fshared%2Fdocument%2Fstatutes-legislation%2Furn%3AcontentItem%3A4WVP-0VS0-R03J-S4PK-00008-00&ecomp=7gf5kkk&prid=408f4fea-f101-4bf2-8722-f2b4fb0ba181 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/technical_institutes.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/technical_institutes.yaml index 30fe99263..2d4ff4b0a 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/technical_institutes.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/technical_institutes.yaml @@ -13,4 +13,4 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2021.pdf#page=1 # The legal code gives three classifications of post-secondary institutions but doesn't give the exact values of weighted average tuition for each one of them - title: Code of Arkansas Public Access A.C.A. Subchapter 4. § 26-51-447. - href: https://advance.lexis.com/documentpage/?pdmfid=1000516&crid=0954ab2a-1066-40fc-aa88-6afd57a184fa&nodeid=ABAAAFAACAAFABU&nodepath=%2FROOT%2FABA%2FABAAAF%2FABAAAFAAC%2FABAAAFAACAAF%2FABAAAFAACAAFABU&level=5&haschildren=&populated=false&title=26-51-447.+Deductions+%E2%80%94+Tuition+to+postsecondary+educational+institutions+%E2%80%94+Definition.&config=00JAA2ZjZiM2VhNS0wNTVlLTQ3NzUtYjQzYy0yYWZmODJiODRmMDYKAFBvZENhdGFsb2fXiYCnsel0plIgqpYkw9PK&pddocfullpath=%2Fshared%2Fdocument%2Fstatutes-legislation%2Furn%3AcontentItem%3A4WVP-0VS0-R03J-S4PK-00008-00&ecomp=7gf5kkk&prid=408f4fea-f101-4bf2-8722-f2b4fb0ba181 \ No newline at end of file + href: https://advance.lexis.com/documentpage/?pdmfid=1000516&crid=0954ab2a-1066-40fc-aa88-6afd57a184fa&nodeid=ABAAAFAACAAFABU&nodepath=%2FROOT%2FABA%2FABAAAF%2FABAAAFAAC%2FABAAAFAACAAF%2FABAAAFAACAAFABU&level=5&haschildren=&populated=false&title=26-51-447.+Deductions+%E2%80%94+Tuition+to+postsecondary+educational+institutions+%E2%80%94+Definition.&config=00JAA2ZjZiM2VhNS0wNTVlLTQ3NzUtYjQzYy0yYWZmODJiODRmMDYKAFBvZENhdGFsb2fXiYCnsel0plIgqpYkw9PK&pddocfullpath=%2Fshared%2Fdocument%2Fstatutes-legislation%2Furn%3AcontentItem%3A4WVP-0VS0-R03J-S4PK-00008-00&ecomp=7gf5kkk&prid=408f4fea-f101-4bf2-8722-f2b4fb0ba181 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/two_year_college.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/two_year_college.yaml index f36fdaee4..c916f5380 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/two_year_college.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/tuition/weighted_average_tuition/two_year_college.yaml @@ -18,4 +18,4 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/AR1075_2021.pdf#page=1 # The legal code gives three classifications of post-secondary institutions but doesn't give the exact values of weighted average tuition for each one of them - title: Code of Arkansas Public Access A.C.A. Subchapter 4. § 26-51-447. - href: https://advance.lexis.com/documentpage/?pdmfid=1000516&crid=0954ab2a-1066-40fc-aa88-6afd57a184fa&nodeid=ABAAAFAACAAFABU&nodepath=%2FROOT%2FABA%2FABAAAF%2FABAAAFAAC%2FABAAAFAACAAF%2FABAAAFAACAAFABU&level=5&haschildren=&populated=false&title=26-51-447.+Deductions+%E2%80%94+Tuition+to+postsecondary+educational+institutions+%E2%80%94+Definition.&config=00JAA2ZjZiM2VhNS0wNTVlLTQ3NzUtYjQzYy0yYWZmODJiODRmMDYKAFBvZENhdGFsb2fXiYCnsel0plIgqpYkw9PK&pddocfullpath=%2Fshared%2Fdocument%2Fstatutes-legislation%2Furn%3AcontentItem%3A4WVP-0VS0-R03J-S4PK-00008-00&ecomp=7gf5kkk&prid=408f4fea-f101-4bf2-8722-f2b4fb0ba181 \ No newline at end of file + href: https://advance.lexis.com/documentpage/?pdmfid=1000516&crid=0954ab2a-1066-40fc-aa88-6afd57a184fa&nodeid=ABAAAFAACAAFABU&nodepath=%2FROOT%2FABA%2FABAAAF%2FABAAAFAAC%2FABAAAFAACAAF%2FABAAAFAACAAFABU&level=5&haschildren=&populated=false&title=26-51-447.+Deductions+%E2%80%94+Tuition+to+postsecondary+educational+institutions+%E2%80%94+Definition.&config=00JAA2ZjZiM2VhNS0wNTVlLTQ3NzUtYjQzYy0yYWZmODJiODRmMDYKAFBvZENhdGFsb2fXiYCnsel0plIgqpYkw9PK&pddocfullpath=%2Fshared%2Fdocument%2Fstatutes-legislation%2Furn%3AcontentItem%3A4WVP-0VS0-R03J-S4PK-00008-00&ecomp=7gf5kkk&prid=408f4fea-f101-4bf2-8722-f2b4fb0ba181 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/unreimbursed_employee_expenses_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/unreimbursed_employee_expenses_multiple.yaml index 6270f841c..db8be85c2 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/unreimbursed_employee_expenses_multiple.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/itemized/unreimbursed_employee_expenses_multiple.yaml @@ -9,4 +9,4 @@ metadata: - title: AR2106 ARKANSAS INDIVIDUAL INCOME TAX EMPLOYEE BUSINESS EXPENSES href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2106_EmployeeBusinessExpenses.pdf period: year - label: AR Unreimbursed employee expenses multiple \ No newline at end of file + label: AR Unreimbursed employee expenses multiple diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/standard.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/standard.yaml index 8e2c24e40..500cd90e6 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/standard.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/deductions/standard.yaml @@ -38,4 +38,4 @@ WIDOW: # $2,200 in 2015 + COLA, rounded by $10. 2021-01-01: 2_200 2022-01-01: 2_270 - 2023-01-01: 2_340 \ No newline at end of file + 2023-01-01: 2_340 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml index 31143a3d8..05fd83847 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/high_income_reduction/high_income_reduction.yaml @@ -296,4 +296,4 @@ metadata: name: high_income_reduction_amount reference: - title: Arkansas Code Title 26. Taxation § 26-51-201. Subsection a 10 - href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FACTS%2F2022S3%2FPublic%2FACT2.pdf \ No newline at end of file + href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FACTS%2F2022S3%2FPublic%2FACT2.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml index f4135e0fc..261d70a9c 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/income_sources.yaml @@ -22,4 +22,4 @@ metadata: label: Gross income sources reference: - title: 2022 AR1000F ARKANSAS INDIVIDUAL INCOME TAX RETURN Full Year Resident (lines 8 - 22) - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf \ No newline at end of file + href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line11_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line11_multiple.yaml index 05bea0edf..dff8334da 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line11_multiple.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line11_multiple.yaml @@ -8,4 +8,4 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf unit: currency-USD period: year - label: AR LUMP-SUM DISTRIBUTION AVERAGING Line 11 Multiple \ No newline at end of file + label: AR LUMP-SUM DISTRIBUTION AVERAGING Line 11 Multiple diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line15_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line15_multiple.yaml index a4563f00a..1f169f4fc 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line15_multiple.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line15_multiple.yaml @@ -8,4 +8,4 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf unit: currency-USD period: year - label: AR LUMP-SUM DISTRIBUTION AVERAGING Line 15 Multiple \ No newline at end of file + label: AR LUMP-SUM DISTRIBUTION AVERAGING Line 15 Multiple diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line17_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line17_multiple.yaml index 8f2f24f49..557fd4ed9 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line17_multiple.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line17_multiple.yaml @@ -8,4 +8,4 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf unit: currency-USD period: year - label: AR LUMP-SUM DISTRIBUTION AVERAGING Line 16 Multiple \ No newline at end of file + label: AR LUMP-SUM DISTRIBUTION AVERAGING Line 16 Multiple diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line9_multiple.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line9_multiple.yaml index 00af2fd05..4e494425b 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line9_multiple.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/Line9_multiple.yaml @@ -8,4 +8,4 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf unit: currency-USD period: year - label: AR LUMP-SUM DISTRIBUTION AVERAGING Line 9 Multiple \ No newline at end of file + label: AR LUMP-SUM DISTRIBUTION AVERAGING Line 9 Multiple diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1.yaml index 69b5bd57e..34c698192 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1.yaml @@ -8,4 +8,4 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf unit: currency-USD period: year - label: AR LUMP-SUM DISTRIBUTION AVERAGING Minimum Distribution Allowance First Multiple \ No newline at end of file + label: AR LUMP-SUM DISTRIBUTION AVERAGING Minimum Distribution Allowance First Multiple diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml index ff4535b29..ddfc78238 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple1_max.yaml @@ -8,4 +8,4 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf unit: currency-USD period: year - label: AR LUMP-SUM DISTRIBUTION AVERAGING Minimum Distribution Allowance First Multiple Maximum Amount \ No newline at end of file + label: AR LUMP-SUM DISTRIBUTION AVERAGING Minimum Distribution Allowance First Multiple Maximum Amount diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml index 9960a7135..c3fb53483 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_multiple2.yaml @@ -8,4 +8,4 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf unit: currency-USD period: year - label: AR LUMP-SUM DISTRIBUTION AVERAGING Minimum Distribution Allowance Second Multiple \ No newline at end of file + label: AR LUMP-SUM DISTRIBUTION AVERAGING Minimum Distribution Allowance Second Multiple diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_subtract.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_subtract.yaml index c7d1ec89f..a860889eb 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_subtract.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_subtract.yaml @@ -8,4 +8,4 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf unit: currency-USD period: year - label: AR LUMP-SUM DISTRIBUTION AVERAGING Minimum Distribution Allowance Subtrahand \ No newline at end of file + label: AR LUMP-SUM DISTRIBUTION AVERAGING Minimum Distribution Allowance Subtrahand diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_threshold.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_threshold.yaml index f8caf6d2d..8762a1a17 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_threshold.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/lump_sum_dist/min_allowance_threshold.yaml @@ -8,4 +8,4 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000TD_LumpSumDistributionAveraging.pdf unit: currency-USD period: year - label: AR LUMP-SUM DISTRIBUTION AVERAGING Minimum Distribution Allowance threshold \ No newline at end of file + label: AR LUMP-SUM DISTRIBUTION AVERAGING Minimum Distribution Allowance threshold diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_income_rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_income_rates.yaml index 2575da263..b9e07f48d 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_income_rates.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/high_income_rates.yaml @@ -26,4 +26,4 @@ brackets: 2023-01-01: 9_101 rate: 2022-01-01: 0.049 - 2023-01-01: 0.047 \ No newline at end of file + 2023-01-01: 0.047 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_exemption.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_exemption.yaml index 2845b5a43..76f70e7c0 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_exemption.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/ira_exemption.yaml @@ -11,4 +11,4 @@ metadata: href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_FullYearResidentIndividualIncomeTaxReturn.pdf unit: currency-USD period: year - label: AR employer Pension Plan/Qualified IRA income exemption amount \ No newline at end of file + label: AR employer Pension Plan/Qualified IRA income exemption amount diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml index 480f0d965..6fa12619c 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/rates.yaml @@ -48,4 +48,4 @@ brackets: rate: 2021-01-01: 0.059 2022-01-01: 0.049 - 2023-01-01: 0.047 \ No newline at end of file + 2023-01-01: 0.047 diff --git a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml index 6cf2bbd35..d9f3f1f2c 100644 --- a/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml +++ b/fiscalsim_us/parameters/gov/states/ar/tax/income/rates/regular_bracket_max.yaml @@ -9,4 +9,4 @@ metadata: href: https://casetext.com/statute/arkansas-code-of-1987/title-26-taxation/subtitle-5-state-taxes/chapter-51-income-taxes/subchapter-2-imposition-of-tax/section-26-51-201-effective-90-days-after-sine-die-adjournment-individuals-trusts-and-estates unit: currency-USD period: year - label: Top income amount of Standard tax table \ No newline at end of file + label: Top income amount of Standard tax table diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_gains.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_gains.yaml index 581971dc2..626cc895e 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_gains.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_capital_gains.yaml @@ -45,4 +45,4 @@ ar_st_dep_adjustment: 0 state_code: AR output: - ar_capital_gains: -4_000 \ No newline at end of file + ar_capital_gains: -4_000 diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml index b0251e07e..823b2cae9 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_high_income_reduction.yaml @@ -27,4 +27,4 @@ filing_status: JOINT state_code: AR output: - ar_high_income_reduction: 170 \ No newline at end of file + ar_high_income_reduction: 170 diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_taxable_income.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_taxable_income.yaml index 69895679d..8543bb97f 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_taxable_income.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/ar_taxable_income.yaml @@ -45,4 +45,4 @@ state_code: AR output: # 56728 - 5000 = 51728 - ar_taxable_income: 51_728 \ No newline at end of file + ar_taxable_income: 51_728 diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_additional_tax_credit.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_additional_tax_credit.yaml index dcbf4c5f6..b193719f3 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_additional_tax_credit.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_additional_tax_credit.yaml @@ -29,4 +29,4 @@ ar_taxable_income: 26_000 state_code: AR output: - ar_additional_tax_credit: 0 \ No newline at end of file + ar_additional_tax_credit: 0 diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml index f9e6d38d8..cfc81c2f2 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_low_income_credit.yaml @@ -87,4 +87,4 @@ ar_itemized_deductions: 500 ar_agi: 22_850 output: - ar_low_income_credit: 268 \ No newline at end of file + ar_low_income_credit: 268 diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_personal_credits.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_personal_credits.yaml index 460509d85..ce85d2b87 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_personal_credits.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/credits/ar_personal_credits.yaml @@ -82,4 +82,4 @@ tax_unit_dependents: 2 ar_qual_dependents: 1 output: - ar_personal_credits: 674 \ No newline at end of file + ar_personal_credits: 674 diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml index 363625f82..11a0f24be 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/ar_itemized_deductions.yaml @@ -51,4 +51,4 @@ filing_status: SINGLE state_code: AR output: - ar_itemized_deductions: 4_000 + 1_000 + 5_000 + 100 + 2000 + 100 \ No newline at end of file + ar_itemized_deductions: 4_000 + 1_000 + 5_000 + 100 + 2000 + 100 diff --git a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/tuition/ar_post_secondary_education_tuition_deduction_person.yaml b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/tuition/ar_post_secondary_education_tuition_deduction_person.yaml index 67447c5d2..19be89203 100644 --- a/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/tuition/ar_post_secondary_education_tuition_deduction_person.yaml +++ b/fiscalsim_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/tuition/ar_post_secondary_education_tuition_deduction_person.yaml @@ -27,4 +27,4 @@ filing_status: SINGLE state_code: AR output: - ar_post_secondary_education_tuition_deduction_person: 500 \ No newline at end of file + ar_post_secondary_education_tuition_deduction_person: 500 From 47d19ecb779b7c7d63aa5520a070b1d925785329 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 28 Mar 2024 13:27:09 -0600 Subject: [PATCH 192/194] deleted old files --- .../parameters/gov/states/ar_old/index.yaml | 4 -- .../ar_old/tax/income/credits/cdcc/README.md | 1 - .../ar_old/tax/income/credits/cdcc/match.yaml | 12 ----- .../inflationary_relief/max_amount.yaml | 27 ----------- .../inflationary_relief/reduction/amount.yaml | 25 ---------- .../reduction/increment.yaml | 25 ---------- .../inflationary_relief/reduction/start.yaml | 26 ---------- .../tax/income/credits/non_refundable.yaml | 11 ----- .../ar_old/tax/income/credits/refundable.yaml | 11 ----- .../tax/income/deductions/standard.yaml | 35 -------------- .../states/ar_old/tax/income/exemptions.yaml | 24 ---------- .../states/ar_old/tax/income/rates/main.yaml | 47 ------------------- 12 files changed, 248 deletions(-) delete mode 100644 fiscalsim_us/parameters/gov/states/ar_old/index.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/cdcc/README.md delete mode 100644 fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/cdcc/match.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/max_amount.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/reduction/amount.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/reduction/increment.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/reduction/start.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/non_refundable.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/refundable.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar_old/tax/income/deductions/standard.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar_old/tax/income/exemptions.yaml delete mode 100644 fiscalsim_us/parameters/gov/states/ar_old/tax/income/rates/main.yaml diff --git a/fiscalsim_us/parameters/gov/states/ar_old/index.yaml b/fiscalsim_us/parameters/gov/states/ar_old/index.yaml deleted file mode 100644 index 2852e302a..000000000 --- a/fiscalsim_us/parameters/gov/states/ar_old/index.yaml +++ /dev/null @@ -1,4 +0,0 @@ -metadata: - propagate_metadata_to_children: true - economy: false - household: false diff --git a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/cdcc/README.md b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/cdcc/README.md deleted file mode 100644 index 3ec6ea2cb..000000000 --- a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/cdcc/README.md +++ /dev/null @@ -1 +0,0 @@ -# Child and Dependent Care Credit \ No newline at end of file diff --git a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/cdcc/match.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/cdcc/match.yaml deleted file mode 100644 index 4708df973..000000000 --- a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/cdcc/match.yaml +++ /dev/null @@ -1,12 +0,0 @@ -description: Arkansas matches this percentage of the federal child and dependent care credit. -metadata: - unit: /1 - period: year - label: Arkansas household and dependents care credit match - reference: - - title: Ark. Code R. § 26-51-502(c)(1)(A)(ii) - href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-502/ - - title: Arkansas 2022 AR2441 | line 10 - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR2441_Child_andDependentCareExpenses.pdf#page=1 -values: - 2013-01-01: 0.2 diff --git a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/max_amount.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/max_amount.yaml deleted file mode 100644 index a5d4baeac..000000000 --- a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/max_amount.yaml +++ /dev/null @@ -1,27 +0,0 @@ -description: Arkansas allows for this maximum inflationary relief tax credit amount, based on filing status. -metadata: - period: year - unit: currency-USD - label: Arkansas income-tax credit maximum amount - reference: - # The inflation relief credit is not mentioned in the Arkansas statutes - - title: Arkansas 2022 Individual Income Tax Forms and Instructions - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=26 - - title: Inflationary relief income-tax credit worksheet - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_Final_InflationaryReliefIncomeTaxCredit_FI.pdf#page=1 - - title: Department of finance and administration, Bill HB1002 - href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FAssembly%2F2021%2F2022S3%2FFiscal+Impacts%2FHB1002-DFA1.pdf#page=2 - - breakdown: - - filing_status -JOINT: - 2022-01-01: 300 -WIDOW: - 2022-01-01: 150 -HEAD_OF_HOUSEHOLD: - 2022-01-01: 150 -SINGLE: - 2022-01-01: 150 -SEPARATE: - 2022-01-01: 150 - diff --git a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/reduction/amount.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/reduction/amount.yaml deleted file mode 100644 index 035fb89e8..000000000 --- a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/reduction/amount.yaml +++ /dev/null @@ -1,25 +0,0 @@ -description: Arkansas reduces the inflationary relief tax credit by this amount for each increment of taxable income above the threshold, based on the filing status. -metadata: - period: year - unit: currency-USD - label: Arkansas inflation relief credit reduction amount - reference: - # The inflation relief credit is not mentioned in the Arkansas statutes - # House bill did not specify reduction amount - - title: Arkansas 2022 Individual Income Tax Forms and Instructions - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=26 - - title: Inflationary relief income-tax credit worksheet - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_Final_InflationaryReliefIncomeTaxCredit_FI.pdf#page=1 - breakdown: - - filing_status -JOINT: - 2022-01-01: 20 -WIDOW: - 2022-01-01: 10 -HEAD_OF_HOUSEHOLD: - 2022-01-01: 10 -SINGLE: - 2022-01-01: 10 -SEPARATE: - 2022-01-01: 10 - diff --git a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/reduction/increment.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/reduction/increment.yaml deleted file mode 100644 index 44e95d247..000000000 --- a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/reduction/increment.yaml +++ /dev/null @@ -1,25 +0,0 @@ -description: Arkansas reduces the inflationary relief tax credit for each of these increments of taxable income above the threshold, based on filing status. -metadata: - period: year - unit: currency-USD - label: Arkansas income reduction increment - reference: - # The inflation relief credit is not mentioned in the Arkansas statutes - # House bill did not specify reduction increment - - title: Arkansas 2022 Individual Income Tax Forms and Instructions - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=26 - - title: Inflationary relief income-tax credit worksheet - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_Final_InflationaryReliefIncomeTaxCredit_FI.pdf#page=1 - - breakdown: - - filing_status -JOINT: - 2022-01-01: 2_000 -WIDOW: - 2022-01-01: 1_000 -HEAD_OF_HOUSEHOLD: - 2022-01-01: 1_000 -SINGLE: - 2022-01-01: 1_000 -SEPARATE: - 2022-01-01: 1_000 diff --git a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/reduction/start.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/reduction/start.yaml deleted file mode 100644 index 6968b359d..000000000 --- a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/inflationary_relief/reduction/start.yaml +++ /dev/null @@ -1,26 +0,0 @@ -description: Arkansas provides inflationary relief tax credit to filers with taxable income above this amount, based on filing status. -metadata: - reference: - # The inflation relief credit is not mentioned in the Arkansas statutes - - title: Arkansas 2022 Individual Income Tax Forms and Instructions - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=26 - - title: Inflationary relief income-tax credit worksheet - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_Final_InflationaryReliefIncomeTaxCredit_FI.pdf#page=1 - - title: Department of finance and administration, Bill HB1002 - href: https://www.arkleg.state.ar.us/Home/FTPDocument?path=%2FAssembly%2F2021%2F2022S3%2FFiscal+Impacts%2FHB1002-DFA1.pdf#page=2 - label: Arkansas inflation reduction credit reduction start - unit: currency-USD - period: year - - breakdown: - - filing_status -JOINT: - 2022-01-01: 174_000 -WIDOW: - 2022-01-01: 87_000 -HEAD_OF_HOUSEHOLD: - 2022-01-01: 87_000 -SINGLE: - 2022-01-01: 87_000 -SEPARATE: - 2022-01-01: 87_000 diff --git a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/non_refundable.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/non_refundable.yaml deleted file mode 100644 index d323914a1..000000000 --- a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/non_refundable.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: Arkansas provides these nonrefundable income tax credits. -values: - 2022-01-01: - - ar_inflation_relief_credit -metadata: - reference: - - title: Inflationary relief income-tax credit worksheet - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_Final_InflationaryReliefIncomeTaxCredit_FI.pdf#page=1 - unit: list - period: year - label: Arkansas nonrefundable income tax credits diff --git a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/refundable.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/refundable.yaml deleted file mode 100644 index aeb1e0686..000000000 --- a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/credits/refundable.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: Arkansas provides these refundable income tax credits. -values: - 2021-01-01: - - ar_cdcc -metadata: - reference: - - title: Ark. Code R. § 26-51-502 Household and dependent care expenses (c)(1)(A)(ii) - href: https://codes.findlaw.com/ar/title-26-taxation/ar-code-sect-26-51-502/ - unit: list - period: year - label: Arkansas refundable income tax credits diff --git a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/deductions/standard.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/deductions/standard.yaml deleted file mode 100644 index 3492fb804..000000000 --- a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/deductions/standard.yaml +++ /dev/null @@ -1,35 +0,0 @@ -description: Arkansas provides a standard deduction of this amount, based on filing status. -metadata: - label: Arkansas standard deduction - period: year - unit: currency-USD - breakdown: - - filing_status - reference: - - title: Code of Arkansas Public Access A.C.A. Subchapter 4. § 26-51-430.(b).(1).(A) - href: https://advance.lexis.com/documentpage/?pdmfid=1000516&crid=8a0a4a46-62e0-41b6-8539-42452c3a9e46&nodeid=ABAAAFAACAAFABG&nodepath=%2FROOT%2FABA%2FABAAAF%2FABAAAFAAC%2FABAAAFAACAAF%2FABAAAFAACAAFABG&level=5&haschildren=&populated=false&title=26-51-430.+Deductions+%E2%80%94+Standard+deduction+%E2%80%94+Definition.&config=00JAA2ZjZiM2VhNS0wNTVlLTQ3NzUtYjQzYy0yYWZmODJiODRmMDYKAFBvZENhdGFsb2fXiYCnsel0plIgqpYkw9PK&pddocfullpath=%2Fshared%2Fdocument%2Fstatutes-legislation%2Furn%3AcontentItem%3A649P-FBD0-R03K-54BT-00008-00&ecomp=7gf5kkk&prid=4b6d04eb-5f42-47a5-b744-f8596299a894 - - title: Arkansas 2022 Individual Income Tax Forms and Instructions - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=14 - - title: Arkansas 2021 Individual Income Tax Forms and Instructions - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2021_AR1000F_and_AR1000NR_Instructions.pdf#page=13 - -JOINT: - # $4,400 in 2015 + COLA, rounded by $10. - 2021-01-01: 4_400 - 2022-01-01: 4_540 -SINGLE: - # $2_200 in 2015 + COLA, rounded by $10. - 2021-01-01: 2_200 - 2022-01-01: 2_270 -SEPARATE: - # $2,200 in 2015 + COLA, rounded by $10. - 2021-01-01: 2_200 - 2022-01-01: 2_270 -HEAD_OF_HOUSEHOLD: - # $2,200 in 2015 + COLA, rounded by $10. - 2021-01-01: 2_200 - 2022-01-01: 2_270 -WIDOW: - # $2,200 in 2015 + COLA, rounded by $10. - 2021-01-01: 2_200 - 2022-01-01: 2_270 diff --git a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/exemptions.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/exemptions.yaml deleted file mode 100644 index cb9d2e00a..000000000 --- a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/exemptions.yaml +++ /dev/null @@ -1,24 +0,0 @@ -description: Arkansas accounts for these exemptions when calculating the state adjusted gross income. -values: - 2021-01-01: - - military_retirement_pay # Item 1 - - child_support_received # Item 4 - - us_govt_interest # Item 7 - - workers_compensation # Item 8 - - social_security # Item 8 - - veterans_benefits # Item 8 - - disability_benefits # Item 10 - # disability benefits pursuant to IRS §104 - - military_basic_pay # Item 11 - -metadata: - unit: list - label: Arkansas exemptions - reference: - - title: Arkansas 2022 Individual Income Tax Forms and Instructions - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2022_AR1000F_and_AR1000NR_Instructions.pdf#page=10 - - title: Arkansas 2021 Individual Income Tax Forms and Instructions - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/2021_AR1000F_and_AR1000NR_Instructions.pdf#page=9 - - title: 2020 Arkansas Code § 26-51-301 ~ 316 - href: https://law.justia.com/codes/arkansas/2020/title-26/subtitle-5/chapter-51/subchapter-3/ - # The legal code does not give detailed description on each exemption. diff --git a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/rates/main.yaml b/fiscalsim_us/parameters/gov/states/ar_old/tax/income/rates/main.yaml deleted file mode 100644 index ee71d9445..000000000 --- a/fiscalsim_us/parameters/gov/states/ar_old/tax/income/rates/main.yaml +++ /dev/null @@ -1,47 +0,0 @@ -description: Arkansas taxes personal income at these rates. -metadata: - type: marginal_rate - threshold_unit: currency-USD - rate_unit: /1 - label: Arkansas income tax rate - reference: - - title: Tax Legislation for 2022 Ark. Code § 26-51-201 (a)(1)(A) - href: https://casetext.com/statute/arkansas-code-of-1987/title-26-taxation/subtitle-5-state-taxes/chapter-51-income-taxes/subchapter-2-imposition-of-tax/section-26-51-201-effective-90-days-after-sine-die-adjournment-individuals-trusts-and-estates - - - title: 2022 Indexed Tax Brackets - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/TaxBrackets_2022.pdf#page=1 - - title: 2021 Indexed Tax Brackets - href: https://www.dfa.arkansas.gov/images/uploads/incomeTaxOffice/TaxBrackets_2021.pdf#page=1 - -brackets: - - threshold: - 2021-01-01: 0 - rate: - 2021-01-01: 0 - - threshold: - 2021-01-01: 4_800 - 2022-01-01: 5_100 - rate: - 2021-01-01: 0.02 - - threshold: - 2021-01-01: 9_500 - 2022-01-01: 10_300 - rate: - 2021-01-01: 0.03 - - threshold: - 2021-01-01: 14_300 - 2022-01-01: 14_700 - rate: - 2021-01-01: 0.034 - - threshold: - 2021-01-01: 23_600 - 2022-01-01: 24_300 - rate: - 2021-01-01: 0.05 - 2022-01-01: 0.049 - - threshold: - 2021-01-01: 39_700 - 2022-01-01: .inf - rate: - 2021-01-01: 0.059 - 2022-01-01: 0.049 From 61bb4122dbe9546b158986aca2facb5e4881da7d Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 28 Mar 2024 13:42:41 -0600 Subject: [PATCH 193/194] new black formatted files --- fiscalsim_us/__init__.py | 1 + fiscalsim_us/tools/taxcalc/generate_taxcalc_variable.py | 8 +++++--- fiscalsim_us/tools/taxsim/generate_taxsim_tests.py | 8 +++++--- .../co_charitable_contribution_subtraction.py | 2 +- .../co_charitable_contribution_subtraction_eligible.py | 2 +- .../co_collegeinvest_subtraction.py | 2 +- .../co_military_retirement_subtraction.py | 2 +- .../subtractions/pension/co_pension_subtraction_indv.py | 2 +- .../pension/co_pension_subtraction_indv_eligible..py | 2 +- .../pension/co_social_security_subtraction_indv.py | 2 +- .../co_social_security_subtraction_indv_eligible.py | 2 +- .../net_capital_gain/sc_net_capital_gain_deduction.py | 2 +- 12 files changed, 20 insertions(+), 15 deletions(-) diff --git a/fiscalsim_us/__init__.py b/fiscalsim_us/__init__.py index 830ed641f..e231a7456 100644 --- a/fiscalsim_us/__init__.py +++ b/fiscalsim_us/__init__.py @@ -7,6 +7,7 @@ See https://openfisca.org/doc/key-concepts/tax_and_benefit_system.html """ + from fiscalsim_us.system import ( CountryTaxBenefitSystem, Simulation, diff --git a/fiscalsim_us/tools/taxcalc/generate_taxcalc_variable.py b/fiscalsim_us/tools/taxcalc/generate_taxcalc_variable.py index 2e3fc2c93..b42cb2f06 100644 --- a/fiscalsim_us/tools/taxcalc/generate_taxcalc_variable.py +++ b/fiscalsim_us/tools/taxcalc/generate_taxcalc_variable.py @@ -62,9 +62,11 @@ def formula(tax_unit, period, parameters): dict( entity=TaxUnit, definition_period=YEAR, - label=variable.label + " (Tax-Calculator)" - if hasattr(variable, "label") - else name + "(Tax-Calculator)", + label=( + variable.label + " (Tax-Calculator)" + if hasattr(variable, "label") + else name + "(Tax-Calculator)" + ), unit=variable.unit if hasattr(variable, "unit") else None, documentation=documentation, value_type=variable.value_type, diff --git a/fiscalsim_us/tools/taxsim/generate_taxsim_tests.py b/fiscalsim_us/tools/taxsim/generate_taxsim_tests.py index 978582e21..66d8f77ec 100644 --- a/fiscalsim_us/tools/taxsim/generate_taxsim_tests.py +++ b/fiscalsim_us/tools/taxsim/generate_taxsim_tests.py @@ -132,9 +132,11 @@ def calculate(self, input_data: dict) -> dict: else: input_csv = pd.DataFrame( { - col: [value] - if not isinstance(value, collections.Sequence) - else value + col: ( + [value] + if not isinstance(value, collections.Sequence) + else value + ) for col, value in input_data.items() } ) diff --git a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/charitable_contribution/co_charitable_contribution_subtraction.py b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/charitable_contribution/co_charitable_contribution_subtraction.py index a5c65e673..d1b61fe82 100644 --- a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/charitable_contribution/co_charitable_contribution_subtraction.py +++ b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/charitable_contribution/co_charitable_contribution_subtraction.py @@ -10,7 +10,7 @@ class co_charitable_contribution_subtraction(Variable): reference = ( "https://tax.colorado.gov/sites/tax/files/documents/DR0104AD_2022.pdf#page=1", "https://tax.colorado.gov/sites/tax/files/documents/DR_104_Book_2022.pdf#page=12", - "https://casetext.com/regulation/colorado-administrative-code/department-200-department-of-revenue/division-201-taxation-division/rule-1-ccr-201-2-income-tax/rule-39-22-1044m-charitable-contribution-subtraction-for-taxpayers-claiming-the-federal-standard-deduction" + "https://casetext.com/regulation/colorado-administrative-code/department-200-department-of-revenue/division-201-taxation-division/rule-1-ccr-201-2-income-tax/rule-39-22-1044m-charitable-contribution-subtraction-for-taxpayers-claiming-the-federal-standard-deduction", # C.R.S. 39-22-104(4)(m)(1) ) defined_for = "co_charitable_contribution_subtraction_eligible" diff --git a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/charitable_contribution/co_charitable_contribution_subtraction_eligible.py b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/charitable_contribution/co_charitable_contribution_subtraction_eligible.py index 34e1e6c2f..a54bd577f 100644 --- a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/charitable_contribution/co_charitable_contribution_subtraction_eligible.py +++ b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/charitable_contribution/co_charitable_contribution_subtraction_eligible.py @@ -9,7 +9,7 @@ class co_charitable_contribution_subtraction_eligible(Variable): reference = ( "https://tax.colorado.gov/sites/tax/files/documents/DR0104AD_2022.pdf#page=1", "https://tax.colorado.gov/sites/tax/files/documents/DR_104_Book_2022.pdf#page=12", - "https://casetext.com/regulation/colorado-administrative-code/department-200-department-of-revenue/division-201-taxation-division/rule-1-ccr-201-2-income-tax/rule-39-22-1044m-charitable-contribution-subtraction-for-taxpayers-claiming-the-federal-standard-deduction" + "https://casetext.com/regulation/colorado-administrative-code/department-200-department-of-revenue/division-201-taxation-division/rule-1-ccr-201-2-income-tax/rule-39-22-1044m-charitable-contribution-subtraction-for-taxpayers-claiming-the-federal-standard-deduction", # C.R.S. 39-22-104(4)(m)(1) ) defined_for = StateCode.CO diff --git a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/collegeinvest_contribution/co_collegeinvest_subtraction.py b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/collegeinvest_contribution/co_collegeinvest_subtraction.py index 56c9346b7..e35a59374 100644 --- a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/collegeinvest_contribution/co_collegeinvest_subtraction.py +++ b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/collegeinvest_contribution/co_collegeinvest_subtraction.py @@ -10,7 +10,7 @@ class co_collegeinvest_subtraction(Variable): reference = ( "https://tax.colorado.gov/sites/tax/files/documents/DR0104AD_2022.pdf#page=1", "https://tax.colorado.gov/sites/tax/files/documents/DR_104_Book_2022.pdf#page=12", - "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/" + "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/", # C.R.S. 39-22-104(4)(i)(II)(B) ) defined_for = StateCode.CO diff --git a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/military_retirement/co_military_retirement_subtraction.py b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/military_retirement/co_military_retirement_subtraction.py index 64575e389..331887534 100644 --- a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/military_retirement/co_military_retirement_subtraction.py +++ b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/military_retirement/co_military_retirement_subtraction.py @@ -10,7 +10,7 @@ class co_military_retirement_subtraction(Variable): reference = ( "https://tax.colorado.gov/sites/tax/files/documents/DR0104AD_2022.pdf#page=1", "https://tax.colorado.gov/sites/tax/files/documents/DR_104_Book_2022.pdf#page=12", - "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/" + "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/", # C.R.S. 39-22-104(4)(y)(I) ) definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_pension_subtraction_indv.py b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_pension_subtraction_indv.py index 591276ee2..a6b064f7e 100644 --- a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_pension_subtraction_indv.py +++ b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_pension_subtraction_indv.py @@ -10,7 +10,7 @@ class co_pension_subtraction_indv(Variable): reference = ( "https://tax.colorado.gov/sites/tax/files/documents/DR0104AD_2022.pdf#page=1", "https://tax.colorado.gov/sites/tax/files/documents/DR_104_Book_2022.pdf#page=12", - "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/" + "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/", # C.R.S. 39-22-104(4)(g)(III) ) definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_pension_subtraction_indv_eligible..py b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_pension_subtraction_indv_eligible..py index 0a5072dc6..9a1b8a8c0 100644 --- a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_pension_subtraction_indv_eligible..py +++ b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_pension_subtraction_indv_eligible..py @@ -9,7 +9,7 @@ class co_pension_subtraction_indv_eligible(Variable): reference = ( "https://tax.colorado.gov/sites/tax/files/documents/DR0104AD_2022.pdf#page=1", "https://tax.colorado.gov/sites/tax/files/documents/DR_104_Book_2022.pdf#page=12", - "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/" + "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/", # C.R.S. 39-22-104(4)(g)(III) ) definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_social_security_subtraction_indv.py b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_social_security_subtraction_indv.py index 26e7e45bf..ffb1ec794 100644 --- a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_social_security_subtraction_indv.py +++ b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_social_security_subtraction_indv.py @@ -10,7 +10,7 @@ class co_social_security_subtraction_indv(Variable): reference = ( "https://tax.colorado.gov/sites/tax/files/documents/DR0104AD_2022.pdf#page=1", "https://tax.colorado.gov/sites/tax/files/documents/DR_104_Book_2022.pdf#page=12", - "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/" + "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/", # C.R.S. 39-22-104(4)(g)(III) ) definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_social_security_subtraction_indv_eligible.py b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_social_security_subtraction_indv_eligible.py index 0ace2a33e..11287fc38 100644 --- a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_social_security_subtraction_indv_eligible.py +++ b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_social_security_subtraction_indv_eligible.py @@ -10,7 +10,7 @@ class co_social_security_subtraction_indv_eligible(Variable): reference = ( "https://tax.colorado.gov/sites/tax/files/documents/DR0104AD_2022.pdf#page=1", "https://tax.colorado.gov/sites/tax/files/documents/DR_104_Book_2022.pdf#page=12", - "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/" + "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/", # C.R.S. 39-22-104(4)(g)(III) ) definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/sc/tax/income/deductions/net_capital_gain/sc_net_capital_gain_deduction.py b/fiscalsim_us/variables/gov/states/sc/tax/income/deductions/net_capital_gain/sc_net_capital_gain_deduction.py index b8e48f033..f2325b642 100644 --- a/fiscalsim_us/variables/gov/states/sc/tax/income/deductions/net_capital_gain/sc_net_capital_gain_deduction.py +++ b/fiscalsim_us/variables/gov/states/sc/tax/income/deductions/net_capital_gain/sc_net_capital_gain_deduction.py @@ -10,7 +10,7 @@ class sc_net_capital_gain_deduction(Variable): defined_for = StateCode.SC reference = ( "https://dor.sc.gov/forms-site/Forms/IITPacket_2021.pdf#page=15", - "https://www.scstatehouse.gov/code/t12c006.php" + "https://www.scstatehouse.gov/code/t12c006.php", # South Carolina Code of Laws Section 12-6-1150 (A) ) From 45613553a7ab41f4afe3ee647b1f9ff7bd2bbea6 Mon Sep 17 00:00:00 2001 From: Brenden Bodily Date: Thu, 28 Mar 2024 13:49:26 -0600 Subject: [PATCH 194/194] new black formatted files --- fiscalsim_us/__init__.py | 1 + fiscalsim_us/tools/taxcalc/generate_taxcalc_variable.py | 8 +++++--- fiscalsim_us/tools/taxsim/generate_taxsim_tests.py | 8 +++++--- .../gov/states/ar/tax/income/ar_income_adjustments.py | 1 - .../co_charitable_contribution_subtraction.py | 2 +- .../co_charitable_contribution_subtraction_eligible.py | 2 +- .../co_collegeinvest_subtraction.py | 2 +- .../co_military_retirement_subtraction.py | 2 +- .../subtractions/pension/co_pension_subtraction_indv.py | 2 +- .../pension/co_pension_subtraction_indv_eligible..py | 2 +- .../pension/co_social_security_subtraction_indv.py | 2 +- .../co_social_security_subtraction_indv_eligible.py | 2 +- .../net_capital_gain/sc_net_capital_gain_deduction.py | 2 +- 13 files changed, 20 insertions(+), 16 deletions(-) diff --git a/fiscalsim_us/__init__.py b/fiscalsim_us/__init__.py index 830ed641f..e231a7456 100644 --- a/fiscalsim_us/__init__.py +++ b/fiscalsim_us/__init__.py @@ -7,6 +7,7 @@ See https://openfisca.org/doc/key-concepts/tax_and_benefit_system.html """ + from fiscalsim_us.system import ( CountryTaxBenefitSystem, Simulation, diff --git a/fiscalsim_us/tools/taxcalc/generate_taxcalc_variable.py b/fiscalsim_us/tools/taxcalc/generate_taxcalc_variable.py index 2e3fc2c93..b42cb2f06 100644 --- a/fiscalsim_us/tools/taxcalc/generate_taxcalc_variable.py +++ b/fiscalsim_us/tools/taxcalc/generate_taxcalc_variable.py @@ -62,9 +62,11 @@ def formula(tax_unit, period, parameters): dict( entity=TaxUnit, definition_period=YEAR, - label=variable.label + " (Tax-Calculator)" - if hasattr(variable, "label") - else name + "(Tax-Calculator)", + label=( + variable.label + " (Tax-Calculator)" + if hasattr(variable, "label") + else name + "(Tax-Calculator)" + ), unit=variable.unit if hasattr(variable, "unit") else None, documentation=documentation, value_type=variable.value_type, diff --git a/fiscalsim_us/tools/taxsim/generate_taxsim_tests.py b/fiscalsim_us/tools/taxsim/generate_taxsim_tests.py index 978582e21..66d8f77ec 100644 --- a/fiscalsim_us/tools/taxsim/generate_taxsim_tests.py +++ b/fiscalsim_us/tools/taxsim/generate_taxsim_tests.py @@ -132,9 +132,11 @@ def calculate(self, input_data: dict) -> dict: else: input_csv = pd.DataFrame( { - col: [value] - if not isinstance(value, collections.Sequence) - else value + col: ( + [value] + if not isinstance(value, collections.Sequence) + else value + ) for col, value in input_data.items() } ) diff --git a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py index 92b2f42a5..17014bf49 100644 --- a/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py +++ b/fiscalsim_us/variables/gov/states/ar/tax/income/ar_income_adjustments.py @@ -2,7 +2,6 @@ class ar_income_adjustments(Variable): - """Line 24 of Form AR1000F Adjustments include: Border city/Texarkana exemption diff --git a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/charitable_contribution/co_charitable_contribution_subtraction.py b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/charitable_contribution/co_charitable_contribution_subtraction.py index a5c65e673..d1b61fe82 100644 --- a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/charitable_contribution/co_charitable_contribution_subtraction.py +++ b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/charitable_contribution/co_charitable_contribution_subtraction.py @@ -10,7 +10,7 @@ class co_charitable_contribution_subtraction(Variable): reference = ( "https://tax.colorado.gov/sites/tax/files/documents/DR0104AD_2022.pdf#page=1", "https://tax.colorado.gov/sites/tax/files/documents/DR_104_Book_2022.pdf#page=12", - "https://casetext.com/regulation/colorado-administrative-code/department-200-department-of-revenue/division-201-taxation-division/rule-1-ccr-201-2-income-tax/rule-39-22-1044m-charitable-contribution-subtraction-for-taxpayers-claiming-the-federal-standard-deduction" + "https://casetext.com/regulation/colorado-administrative-code/department-200-department-of-revenue/division-201-taxation-division/rule-1-ccr-201-2-income-tax/rule-39-22-1044m-charitable-contribution-subtraction-for-taxpayers-claiming-the-federal-standard-deduction", # C.R.S. 39-22-104(4)(m)(1) ) defined_for = "co_charitable_contribution_subtraction_eligible" diff --git a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/charitable_contribution/co_charitable_contribution_subtraction_eligible.py b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/charitable_contribution/co_charitable_contribution_subtraction_eligible.py index 34e1e6c2f..a54bd577f 100644 --- a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/charitable_contribution/co_charitable_contribution_subtraction_eligible.py +++ b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/charitable_contribution/co_charitable_contribution_subtraction_eligible.py @@ -9,7 +9,7 @@ class co_charitable_contribution_subtraction_eligible(Variable): reference = ( "https://tax.colorado.gov/sites/tax/files/documents/DR0104AD_2022.pdf#page=1", "https://tax.colorado.gov/sites/tax/files/documents/DR_104_Book_2022.pdf#page=12", - "https://casetext.com/regulation/colorado-administrative-code/department-200-department-of-revenue/division-201-taxation-division/rule-1-ccr-201-2-income-tax/rule-39-22-1044m-charitable-contribution-subtraction-for-taxpayers-claiming-the-federal-standard-deduction" + "https://casetext.com/regulation/colorado-administrative-code/department-200-department-of-revenue/division-201-taxation-division/rule-1-ccr-201-2-income-tax/rule-39-22-1044m-charitable-contribution-subtraction-for-taxpayers-claiming-the-federal-standard-deduction", # C.R.S. 39-22-104(4)(m)(1) ) defined_for = StateCode.CO diff --git a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/collegeinvest_contribution/co_collegeinvest_subtraction.py b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/collegeinvest_contribution/co_collegeinvest_subtraction.py index 56c9346b7..e35a59374 100644 --- a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/collegeinvest_contribution/co_collegeinvest_subtraction.py +++ b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/collegeinvest_contribution/co_collegeinvest_subtraction.py @@ -10,7 +10,7 @@ class co_collegeinvest_subtraction(Variable): reference = ( "https://tax.colorado.gov/sites/tax/files/documents/DR0104AD_2022.pdf#page=1", "https://tax.colorado.gov/sites/tax/files/documents/DR_104_Book_2022.pdf#page=12", - "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/" + "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/", # C.R.S. 39-22-104(4)(i)(II)(B) ) defined_for = StateCode.CO diff --git a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/military_retirement/co_military_retirement_subtraction.py b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/military_retirement/co_military_retirement_subtraction.py index 64575e389..331887534 100644 --- a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/military_retirement/co_military_retirement_subtraction.py +++ b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/military_retirement/co_military_retirement_subtraction.py @@ -10,7 +10,7 @@ class co_military_retirement_subtraction(Variable): reference = ( "https://tax.colorado.gov/sites/tax/files/documents/DR0104AD_2022.pdf#page=1", "https://tax.colorado.gov/sites/tax/files/documents/DR_104_Book_2022.pdf#page=12", - "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/" + "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/", # C.R.S. 39-22-104(4)(y)(I) ) definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_pension_subtraction_indv.py b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_pension_subtraction_indv.py index 591276ee2..a6b064f7e 100644 --- a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_pension_subtraction_indv.py +++ b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_pension_subtraction_indv.py @@ -10,7 +10,7 @@ class co_pension_subtraction_indv(Variable): reference = ( "https://tax.colorado.gov/sites/tax/files/documents/DR0104AD_2022.pdf#page=1", "https://tax.colorado.gov/sites/tax/files/documents/DR_104_Book_2022.pdf#page=12", - "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/" + "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/", # C.R.S. 39-22-104(4)(g)(III) ) definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_pension_subtraction_indv_eligible..py b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_pension_subtraction_indv_eligible..py index 0a5072dc6..9a1b8a8c0 100644 --- a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_pension_subtraction_indv_eligible..py +++ b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_pension_subtraction_indv_eligible..py @@ -9,7 +9,7 @@ class co_pension_subtraction_indv_eligible(Variable): reference = ( "https://tax.colorado.gov/sites/tax/files/documents/DR0104AD_2022.pdf#page=1", "https://tax.colorado.gov/sites/tax/files/documents/DR_104_Book_2022.pdf#page=12", - "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/" + "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/", # C.R.S. 39-22-104(4)(g)(III) ) definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_social_security_subtraction_indv.py b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_social_security_subtraction_indv.py index 26e7e45bf..ffb1ec794 100644 --- a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_social_security_subtraction_indv.py +++ b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_social_security_subtraction_indv.py @@ -10,7 +10,7 @@ class co_social_security_subtraction_indv(Variable): reference = ( "https://tax.colorado.gov/sites/tax/files/documents/DR0104AD_2022.pdf#page=1", "https://tax.colorado.gov/sites/tax/files/documents/DR_104_Book_2022.pdf#page=12", - "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/" + "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/", # C.R.S. 39-22-104(4)(g)(III) ) definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_social_security_subtraction_indv_eligible.py b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_social_security_subtraction_indv_eligible.py index 0ace2a33e..11287fc38 100644 --- a/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_social_security_subtraction_indv_eligible.py +++ b/fiscalsim_us/variables/gov/states/co/tax/income/subtractions/pension/co_social_security_subtraction_indv_eligible.py @@ -10,7 +10,7 @@ class co_social_security_subtraction_indv_eligible(Variable): reference = ( "https://tax.colorado.gov/sites/tax/files/documents/DR0104AD_2022.pdf#page=1", "https://tax.colorado.gov/sites/tax/files/documents/DR_104_Book_2022.pdf#page=12", - "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/" + "https://law.justia.com/codes/colorado/2022/title-39/article-22/part-1/section-39-22-104/", # C.R.S. 39-22-104(4)(g)(III) ) definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/sc/tax/income/deductions/net_capital_gain/sc_net_capital_gain_deduction.py b/fiscalsim_us/variables/gov/states/sc/tax/income/deductions/net_capital_gain/sc_net_capital_gain_deduction.py index b8e48f033..f2325b642 100644 --- a/fiscalsim_us/variables/gov/states/sc/tax/income/deductions/net_capital_gain/sc_net_capital_gain_deduction.py +++ b/fiscalsim_us/variables/gov/states/sc/tax/income/deductions/net_capital_gain/sc_net_capital_gain_deduction.py @@ -10,7 +10,7 @@ class sc_net_capital_gain_deduction(Variable): defined_for = StateCode.SC reference = ( "https://dor.sc.gov/forms-site/Forms/IITPacket_2021.pdf#page=15", - "https://www.scstatehouse.gov/code/t12c006.php" + "https://www.scstatehouse.gov/code/t12c006.php", # South Carolina Code of Laws Section 12-6-1150 (A) )