Skip to content

Commit

Permalink
EITC changes
Browse files Browse the repository at this point in the history
  • Loading branch information
llennemann committed Jan 23, 2025
1 parent ecfbbbb commit 4a36ffc
Show file tree
Hide file tree
Showing 12 changed files with 27 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ values:
2010-12-31: 2_200
metadata:
unit: currency-USD
label: Puerto Rico max investment income to receive earned income credit
label: Puerto Rico earned income credit investment income limit
period: year
reference:
- title: P.R. Laws tit. 13, § 30211 (e)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
description: Puerto Rico will deny the earned income credit if the sum of the following forms of income is greater than the defined maximum limit.
description: Puerto Rico accounts for the following investment income sources, under the earned income tax credit.
values:
2010-12-31:
- interest_income
Expand All @@ -9,7 +9,7 @@ values:
metadata:
unit: list
period: year
label: Puerto Rico investment income sources to calculate for credit denial criteria for earned income credit
label: Puerto Rico earned income credit investment income sources
reference:
- title: P.R. Laws tit. 13, § 30211 (e)
href: https://casetext.com/statute/laws-of-puerto-rico/title-thirteen-taxation-and-finance/subtitle-17-internal-revenue-code-of-2011/part-ii-income-taxes/chapter-1007-credits-against-tax/subchapter-b-refundable-credits/30211-earned-income-credit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
description: Puerto Rico allows a maximum amount of credit for the earned income credit.
description: Puerto Rico provides this maximum earned income credit.
values:
2010-12-31: 350
2011-12-31: 400
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
description: Puerto Rico has a phase in rate for the earned income credit.
description: Puerto Rico phases the earned income credit in at this rate of state gross income.
values:
2010-12-31: 0.035
2011-12-31: 0.04
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
description: Puerto Rico has a phase out rate for the earned income credit.
description: Puerto Rico phases the earned income credit out at this rate of state gross income.
brackets:
# if below the threshold, no phase out
- threshold:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,4 @@
pr_gross_income_person: 8_000
pr_earned_income_credit_eligible: true
output:
pr_earned_income_credit_amount: 320
pr_earned_income_credit_amount: 280
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
- name: Dependent
period: 2024
input:
is_tax_unit_head_or_spouse: true
is_tax_unit_head_or_spouse: false
pr_earned_income_credit_investment_income: 2_000
output:
pr_earned_income_credit_eligible: false

- name: Investment income over the limit
period: 2024
input:
is_tax_unit_head_or_spouse: false
is_tax_unit_head_or_spouse: true
pr_earned_income_credit_investment_income: 2_201
output:
pr_earned_income_credit_eligible: false
Expand Down
Empty file.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from policyengine_us.model_api import *


class pr_earned_income_credit_amount(Variable):
value_type = float
entity = Person
Expand All @@ -9,14 +10,14 @@ class pr_earned_income_credit_amount(Variable):
reference = "https://casetext.com/statute/laws-of-puerto-rico/title-thirteen-taxation-and-finance/subtitle-17-internal-revenue-code-of-2011/part-ii-income-taxes/chapter-1007-credits-against-tax/subchapter-b-refundable-credits/30211-earned-income-credit"
defined_for = "pr_earned_income_credit_eligible"

def formula(tax_unit, period, parameters):
def formula(person, period, parameters):
p = parameters(
period
).gov.territories.pr.tax.income.credits.earned_income

gross_income = person("pr_gross_income_person", period)
# if in the lower bracket: gross_income * rate. if higher, use max credit
phase_in = min(gross_income * p.phase_in_rate, p.max_amount)
phase_in = min_(gross_income * p.phase_in_rate, p.max_amount)
phase_out = p.phase_out_rate.calc(gross_income)

return phase_in - phase_out
return phase_in - phase_out
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
from policyengine_us.model_api import *


class pr_earned_income_credit_eligible(Variable):
value_type = bool
entity = Person
label = "Eligible person for Puerto Rico earned income credit"
label = "Puerto Rico earned income credit eligibility"
definition_period = YEAR
reference = "https://casetext.com/statute/laws-of-puerto-rico/title-thirteen-taxation-and-finance/subtitle-17-internal-revenue-code-of-2011/part-ii-income-taxes/chapter-1007-credits-against-tax/subchapter-b-refundable-credits/30211-earned-income-credit"

def formula(person, period, parameters):
p = parameters(
period
).gov.territories.pr.tax.income.credits.earned_income
).gov.territories.pr.tax.income.credits.earned_income.investment_income
head_or_spouse = person("is_tax_unit_head_or_spouse", period)
investment_income = person("pr_earned_income_credit_investment_income", period)
investment_income_amount_under_limit = investment_income < p.max_investment_income
return head_or_spouse & investment_income_amount_under_limit
investment_income = person(
"pr_earned_income_credit_investment_income", period
)
investment_income_amount_under_limit = investment_income <= p.limit
return head_or_spouse & investment_income_amount_under_limit
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
from policyengine_us.model_api import *


class pr_earned_income_credit_investment_income(Variable):
value_type = float
entity = Person
label = "Puerto Rico earned income credit investment income"
definition_period = YEAR
unit = USD
reference = "https://casetext.com/statute/laws-of-puerto-rico/title-thirteen-taxation-and-finance/subtitle-17-internal-revenue-code-of-2011/part-ii-income-taxes/chapter-1007-credits-against-tax/subchapter-b-refundable-credits/30211-earned-income-credit"

def formula(person, period, parameters):
p = parameters(
period
).gov.territories.pr.tax.income.credits.earned_income
# sum up all defined categories for investment income
adds = "gov.territories.pr.tax.income.credits.earned_income.ineligible_income_categories"
return adds
adds = "gov.territories.pr.tax.income.credits.earned_income.ineligible_income_categories"
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
from policyengine_us.model_api import *


class pr_gross_income(Variable):
class pr_gross_income_person(Variable):
value_type = float
entity = Person
label = "Puerto Rico gross income person level"
label = "Puerto Rico gross income person"
unit = USD
definition_period = YEAR
reference = "https://casetext.com/statute/laws-of-puerto-rico/title-thirteen-taxation-and-finance/subtitle-17-internal-revenue-code-of-2011/part-ii-income-taxes/chapter-1005-computation-of-taxable-income/subchapter-a-determination-of-net-income-general-concepts/30101-gross-income"
reference = "https://casetext.com/statute/laws-of-puerto-rico/title-thirteen-taxation-and-finance/subtitle-17-internal-revenue-code-of-2011/part-ii-income-taxes/chapter-1005-computation-of-taxable-income/subchapter-a-determination-of-net-income-general-concepts/30101-gross-income"

0 comments on commit 4a36ffc

Please sign in to comment.