diff --git a/policyengine_canada/parameters/gov/provinces/yt/tax/income/credits/age_amount/age_threshold.yaml b/policyengine_canada/parameters/gov/provinces/yt/tax/income/credits/age_amount/age_threshold.yaml new file mode 100644 index 000000000..662dad74f --- /dev/null +++ b/policyengine_canada/parameters/gov/provinces/yt/tax/income/credits/age_amount/age_threshold.yaml @@ -0,0 +1,12 @@ +description: Yukon limits teh age amount credit to filers at or above this age threshold. +values: + 2022-01-01: 65 +metadata: + unit: year + period: year + label: Yukon age amount age threshold + reference: + - title: Worksheet for the Yukon 2023 Personal Tax Credits Return + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1yt-ws/td1yt-ws-23e.pdf#page=1 + +# TODO: 2022 reference & law reference diff --git a/policyengine_canada/parameters/gov/provinces/yt/tax/income/credits/age_amount/base.yaml b/policyengine_canada/parameters/gov/provinces/yt/tax/income/credits/age_amount/base.yaml new file mode 100644 index 000000000..58df7a36f --- /dev/null +++ b/policyengine_canada/parameters/gov/provinces/yt/tax/income/credits/age_amount/base.yaml @@ -0,0 +1,13 @@ +description: Yukon provides this base age amount credit. +values: + 2022-01-01: + 2023-01-01: 8_369 +metadata: + unit: currency-CAD + period: year + label: Yukon age amount base + reference: + - title: Worksheet for the Yukon 2023 Personal Tax Credits Return + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1yt-ws/td1yt-ws-23e.pdf#page=1 + +# TODO: 2022 values & 2022 reference & law reference diff --git a/policyengine_canada/parameters/gov/provinces/yt/tax/income/credits/age_amount/reduction.yaml b/policyengine_canada/parameters/gov/provinces/yt/tax/income/credits/age_amount/reduction.yaml new file mode 100644 index 000000000..af6bc19bd --- /dev/null +++ b/policyengine_canada/parameters/gov/provinces/yt/tax/income/credits/age_amount/reduction.yaml @@ -0,0 +1,22 @@ +description: Yukon reduces the age amount credit by this rate, based on adjusted net income. +metadata: + type: marginal_rate + threshold_unit: currency-CAD + rate_unit: /1 + label: Yukon age amount credit reduction + reference: + - title: Worksheet for the Yukon 2023 Personal Tax Credits Return + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1yt-ws/td1yt-ws-23e.pdf#page=1 + +# TODO: 2022 values & 2022 reference & law reference + +brackets: + - threshold: + 2022-01-01: 0 + rate: + 2022-01-01: 0 + - threshold: + 2022-01-01: + 2023-01-01: 42_335 + rate: + 2022-01-01: 0.15 diff --git a/policyengine_canada/variables/gov/provinces/yt/tax/income/credits/age_amount/yt_age_amount_credit.py b/policyengine_canada/variables/gov/provinces/yt/tax/income/credits/age_amount/yt_age_amount_credit.py new file mode 100644 index 000000000..1c8f895e4 --- /dev/null +++ b/policyengine_canada/variables/gov/provinces/yt/tax/income/credits/age_amount/yt_age_amount_credit.py @@ -0,0 +1,16 @@ +from policyengine_canada.model_api import * + + +class yt_age_amount_credit(Variable): + value_type = float + entity = Person + label = "Yukon age amount credit" + definition_period = YEAR + defined_for = "yt_age_amount_credit_eligible_person" + + def formula(person, period, parameters): + income = person("individual_net_income", period) + p = parameters(period).gov.provinces.yt.tax.income.credits.age_amount + base = p.base + reduction = p.reduction.calc(income) + return max_(base - reduction, 0) diff --git a/policyengine_canada/variables/gov/provinces/yt/tax/income/credits/age_amount/yt_age_amount_credit_eligible_person.py b/policyengine_canada/variables/gov/provinces/yt/tax/income/credits/age_amount/yt_age_amount_credit_eligible_person.py new file mode 100644 index 000000000..1000d75be --- /dev/null +++ b/policyengine_canada/variables/gov/provinces/yt/tax/income/credits/age_amount/yt_age_amount_credit_eligible_person.py @@ -0,0 +1,14 @@ +from policyengine_canada.model_api import * + + +class yt_age_amount_credit_eligible_person(Variable): + value_type = bool + entity = Person + label = "Yukon age amount credit eligible person" + definition_period = YEAR + defined_for = ProvinceCode.YT + + def formula(person, period, parameters): + age = person("age", period) + p = parameters(period).gov.provinces.yt.tax.income.credits.age_amount + return age >= p.age_threshold