Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions changelog_entry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- bump: minor
changes:
added:
- Puerto Rico regular tax before credits.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
description: Puerto Rico determines the percentage reduction of normal tax based on gross income.
brackets:
- threshold:
2024-01-01: 0
amount:
2024-01-01: 0.92
- threshold:
2024-01-01: 100_001
amount:
2024-01-01: 0.95
metadata:
amount_unit: /1
threshold_unit: currency-USD
type: single_amount
label: Puerto Rico normal tax percentage reduction
period: year
reference:
- title: Gov. of Puerto Rico Form 482.0 2024
href: https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=3
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
- name: Lower bracket
period: 2024
input:
state_code: PR
pr_gross_income: 100_000
pr_tax: 2_000
pr_gradual_adjustment_amount: 0
output:
pr_tax_before_credits: 1_840

- name: Upper bracket
period: 2024
input:
state_code: PR
pr_gross_income: 100_001
pr_tax: 1_000
pr_gradual_adjustment_amount: 500
output:
pr_tax_before_credits: 1_425
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
from policyengine_us.model_api import *


class pr_gradual_adjustment_amount(Variable):
value_type = float
entity = TaxUnit
label = "Puerto Rico gradual adjustment amount"
documentation = (
"An additional amount added to tax amount for high income filers."
)
unit = USD
definition_period = YEAR
defined_for = "pr_gradual_adjustment_eligibility"
reference = "https://hacienda.pr.gov/sites/default/files/individuals_2024_rev._jul_12_24_9-30-24_informative.pdf#page=3"
11 changes: 11 additions & 0 deletions policyengine_us/variables/gov/territories/pr/tax/income/pr_tax.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from policyengine_us.model_api import *


class pr_tax(Variable):
value_type = float
entity = TaxUnit
label = "Puerto Rico tax"
unit = USD
definition_period = YEAR
defined_for = StateCode.PR
reference = "https://law.justia.com/codes/puerto-rico/title-thirteen/subtitle-17/part-ii/chapter-1004/subchapter-a/30061/"
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
from policyengine_us.model_api import *


class pr_tax_before_credits(Variable):
value_type = float
entity = TaxUnit
label = "Puerto Rico regular tax before credits"
unit = USD
definition_period = YEAR
defined_for = StateCode.PR
reference = "https://hacienda.pr.gov/sites/default/files/inst_individuals_2023.pdf#page=19"

def formula(tax_unit, period, parameters):
p = parameters(period).gov.territories.pr.tax.income
gross_income = tax_unit("pr_gross_income", period)
tax = tax_unit("pr_tax", period)
gradual_adjustment = tax_unit("pr_gradual_adjustment_amount", period)
total_normal_tax = tax + gradual_adjustment

return total_normal_tax * p.normal_tax_percent_reduction.calc(
gross_income
)