diff --git a/changelog_entry.yaml b/changelog_entry.yaml index e69de29bb..4afb06ce5 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -0,0 +1,4 @@ +- bump: minor + changes: + added: + - Alberta Caregiver Amount. diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility.yaml new file mode 100644 index 000000000..c55128b97 --- /dev/null +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility.yaml @@ -0,0 +1,11 @@ +description: Alberta limits its Child and Family Benefit to people above this age. +values: + 2023-01-01: 18 +metadata: + unit: year + label: Alberta child and Family Benefit adult dependant age eligibility + reference: + - title: Province of Alberta - Alberta Child and Family Benefit + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf + - title: Province of Alberta - Alberta Personal Income Tax Act, RSA 2000 + href: https://www.canlii.org/en/ab/laws/stat/rsa-2000-c-a-30/latest/rsa-2000-c-a-30.html diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_age_eligibility.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_age_eligibility.yaml new file mode 100644 index 000000000..c1a6f4521 --- /dev/null +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_age_eligibility.yaml @@ -0,0 +1,11 @@ +description: Alberta limits its Child and Family Benefit to people above this age. +values: + 2023-01-01: 18 +metadata: + unit: year + label: Alberta child and Family Benefit child age eligibility + reference: + - title: Province of Alberta - Alberta Child and Family Benefit + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf + - title: Province of Alberta - Alberta Personal Income Tax Act, RSA 2000 + href: https://www.canlii.org/en/ab/laws/stat/rsa-2000-c-a-30/latest/rsa-2000-c-a-30.html diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_dependant_income_threshold.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_dependant_income_threshold.yaml new file mode 100644 index 000000000..0ab34fc13 --- /dev/null +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_dependant_income_threshold.yaml @@ -0,0 +1,9 @@ +description: Alberta provides the caregiver amount for dependants with income below this threshold. +values: + 2023-01-01: 19_331 +metadata: + unit: currency-CAD + label: Alberta caregiver amount dependent lower income threshold + reference: + - title: Government of Canada - Alberta Caregiver Amount + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/maximum_caregiver_amount.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/maximum_caregiver_amount.yaml new file mode 100644 index 000000000..c1443f116 --- /dev/null +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/maximum_caregiver_amount.yaml @@ -0,0 +1,9 @@ +description: Alberta Maximum Caregiver Amount +values: + 2023-01-01: 12_158 +metadata: + unit: currency-CAD + label: Alberta Maximum Caregiver Amount + reference: + - title: Government of Canada - Alberta Caregiver Amount + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/upper_dependant_income_threshold.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/upper_dependant_income_threshold.yaml new file mode 100644 index 000000000..685fa8407 --- /dev/null +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/upper_dependant_income_threshold.yaml @@ -0,0 +1,9 @@ +description: Alberta Upper Income Threshold for dependants. +values: + 2023-01-01: 31_489 +metadata: + unit: currency-CAD + label: Alberta Dependant Upper Income Threshold + reference: + - title: Government of Canada - Alberta Caregiver Amount + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf diff --git a/policyengine_canada/tests/gov/provinces/ab/tax/income/credits/credits_return/ab_caregiver_amount.yaml b/policyengine_canada/tests/gov/provinces/ab/tax/income/credits/credits_return/ab_caregiver_amount.yaml new file mode 100644 index 000000000..676d19d9f --- /dev/null +++ b/policyengine_canada/tests/gov/provinces/ab/tax/income/credits/credits_return/ab_caregiver_amount.yaml @@ -0,0 +1,52 @@ +- name: Dependant Over 18 with net income between 19,331 and 31,489 + period: 2023 + input: + age: 19 + is_disabled: true + live_together: true + individual_net_income: 20_000 + province_code: AB + output: + ab_caregiver_amount: 11_489 + +- name: Dependant Over 18 with net income below 19,331 + period: 2023 + input: + age: 19 + is_disabled: true + live_together: true + individual_net_income: 10_000 + province_code: AB + output: + ab_caregiver_amount: 12_158 + +- name: Dependant Over 65 with net income below 19,331 + period: 2023 + input: + age: 66 + live_together: true + individual_net_income: 10_000 + province_code: AB + output: + ab_caregiver_amount: 12_158 + +- name: Dependant Over 65 with net income between 19,331 and 31,489 + period: 2023 + input: + age: 67 + live_together: true + individual_net_income: 20_000 + province_code: AB + output: + ab_caregiver_amount: 11_489 + +- name: Dependant Over 65 with net income over 31,489 + period: 2023 + input: + age: 25 + is_disabled: true + live_together: false + individual_net_income: 40_000 + province_code: AB + output: + ab_caregiver_amount: 0 diff --git a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py new file mode 100644 index 000000000..a82c4b364 --- /dev/null +++ b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py @@ -0,0 +1,37 @@ +from policyengine_canada.model_api import * + + +class ab_caregiver_amount(Variable): + value_type = float + entity = Person + label = "Alberta caregiver amount" + unit = CAD + definition_period = YEAR + reference = "https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf" + defined_for = ProvinceCode.AB + + def formula(person, period, parameters): + p = parameters( + period + ).gov.provinces.ab.tax.income.credits.credits_return + + # Whether the person is dependant (65 or older/ disabled) + is_dependant = (person("age", period) >= 65) | ( + person("age", period) + >= p.lower_age_eligibility & person("is_disabled", period) + ) + dependant_net_income = ( + person("individual_net_income", period) * is_dependant + ) + + income_eligibility = ( + dependant_net_income <= p.upper_dependant_income_threshold + ) + + caregiver_amount = ( + (p.upper_dependant_income_threshold - dependant_net_income) + * income_eligibility + * person("live_together", period) + ) + + return min_(caregiver_amount, p.maximum_caregiver_amount) diff --git a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/live_together.py b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/live_together.py new file mode 100644 index 000000000..be2362f8f --- /dev/null +++ b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/live_together.py @@ -0,0 +1,11 @@ +from policyengine_canada.model_api import * + + +class live_together(Variable): + value_type = bool + entity = Person + label = "Albert Caregiver Dependant" + documentation = "Whthere your spouse's or common-law partner's dependant lives with you or not." + definition_period = YEAR + reference = "chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf" + defined_for = ProvinceCode.AB