From 10e6588b4bf05f3ae570d5a0d3000fc9340fc46f Mon Sep 17 00:00:00 2001 From: Kun Yao <90804230+Kenyaokun@users.noreply.github.com> Date: Thu, 8 Jun 2023 22:12:33 +0000 Subject: [PATCH 01/58] Alberta Caregiver Amount First try #331 Co-authored-by: YiweiJ --- .../credits_return/lower_age_eligibility.yaml | 9 +++++++ .../lower_dependent_income_threshold.yaml | 9 +++++++ .../maximum_caregiver_amount.yaml | 9 +++++++ .../upper_dependent_income_Threshold.yaml | 9 +++++++ .../credits_return/ab_caregiver_amount.yaml | 18 ++++++++++++++ .../tax/credits_return/ab_caregiver_amount.py | 24 +++++++++++++++++++ .../person/is_parent_or_grandparent.py | 11 +++++++++ 7 files changed, 89 insertions(+) create mode 100644 policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_age_eligibility.yaml create mode 100644 policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_dependent_income_threshold.yaml create mode 100644 policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/maximum_caregiver_amount.yaml create mode 100644 policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/upper_dependent_income_Threshold.yaml create mode 100644 policyengine_canada/tests/gov/provinces/ab/tax/income/credits/credits_return/ab_caregiver_amount.yaml create mode 100644 policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py create mode 100644 policyengine_canada/variables/household/person/is_parent_or_grandparent.py 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..16f66bc0a --- /dev/null +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_age_eligibility.yaml @@ -0,0 +1,9 @@ +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.alberta.ca/alberta-child-and-family-benefit.aspx \ No newline at end of file diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_dependent_income_threshold.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_dependent_income_threshold.yaml new file mode 100644 index 000000000..6f5da50f1 --- /dev/null +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_dependent_income_threshold.yaml @@ -0,0 +1,9 @@ +description: Alberta Lower Income threshold for dependents. +values: + 2023-01-01: 19_331 +metadata: + unit: currency-CAD + label: Alberta 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 \ No newline at end of file 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..200767bcf --- /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 \ No newline at end of file diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/upper_dependent_income_Threshold.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/upper_dependent_income_Threshold.yaml new file mode 100644 index 000000000..e358d5197 --- /dev/null +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/upper_dependent_income_Threshold.yaml @@ -0,0 +1,9 @@ +description: Alberta Upper Income Threshold +values: + 2023-01-01: 31_489 +metadata: + unit: currency-CAD + label: Alberta Upper Income + reference: + - title: Government of Canada - Alberta Caregiver Amount + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf \ No newline at end of file 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..25614ad94 --- /dev/null +++ b/policyengine_canada/tests/gov/provinces/ab/tax/income/credits/credits_return/ab_caregiver_amount.yaml @@ -0,0 +1,18 @@ +- name: Over 18 + period: 2023 + input: + age: 19 + is_disabled: true + is_parent_or_grandparent: false + individual_net_income: 20_000 + province_code: AB + output: + ab_caregiver_amount: 11_489 + +# - name: Under age eligibility +# period: 2023 +# input: +# age: 17 +# province_code: AB +# output: +# acfb_eligible_child: true 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..26611b1de --- /dev/null +++ b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py @@ -0,0 +1,24 @@ +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("is_parent_or_grandparent", period) | (person("age", period) >= 18 & person("is_disabled", period)) + dependant_net_income = person("individual_net_income", period) * is_dependant + + income_eligibility = (dependant_net_income >= p.lower_dependent_income_threshold & dependant_net_income <= p.upper_dependent_income_threshold) + caregiver_amount = income_eligibility * (p.upper_dependent_income_threshold - dependant_net_income) + + return min_(caregiver_amount, p.maximum_caregiver_amount) \ No newline at end of file diff --git a/policyengine_canada/variables/household/person/is_parent_or_grandparent.py b/policyengine_canada/variables/household/person/is_parent_or_grandparent.py new file mode 100644 index 000000000..aa429233a --- /dev/null +++ b/policyengine_canada/variables/household/person/is_parent_or_grandparent.py @@ -0,0 +1,11 @@ +from policyengine_canada.model_api import * + + +class is_parent_or_grandparent(Variable): + value_type = bool + entity = Person + label = "Is parent or grandparent" + definition_period = YEAR + + def formula(person, period, parameters): + return person("age", period) >= 65 \ No newline at end of file From d8b687957fdb44a60c814c40f56a2204aad85086 Mon Sep 17 00:00:00 2001 From: Kun Yao <90804230+Kenyaokun@users.noreply.github.com> Date: Fri, 9 Jun 2023 13:57:57 +0000 Subject: [PATCH 02/58] Alberta Caregiver Amount Debug #331 --- .../credits_return/lower_age_eligibility.yaml | 2 +- ... => lower_dependant_income_threshold.yaml} | 2 +- ... => upper_dependant_income_threshold.yaml} | 4 +- .../credits_return/ab_caregiver_amount.yaml | 48 +++++++++++++++---- .../tax/credits_return/ab_caregiver_amount.py | 6 +-- 5 files changed, 46 insertions(+), 16 deletions(-) rename policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/{lower_dependent_income_threshold.yaml => lower_dependant_income_threshold.yaml} (81%) rename policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/{upper_dependent_income_Threshold.yaml => upper_dependant_income_threshold.yaml} (66%) 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 index 16f66bc0a..f43dc60ae 100644 --- 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 @@ -6,4 +6,4 @@ metadata: label: Alberta child and Family Benefit child age eligibility reference: - title: Province of Alberta - Alberta Child and Family Benefit - href: https://www.alberta.ca/alberta-child-and-family-benefit.aspx \ No newline at end of file + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf \ No newline at end of file diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_dependent_income_threshold.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_dependant_income_threshold.yaml similarity index 81% rename from policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_dependent_income_threshold.yaml rename to policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_dependant_income_threshold.yaml index 6f5da50f1..4316b7a20 100644 --- a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_dependent_income_threshold.yaml +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_dependant_income_threshold.yaml @@ -1,4 +1,4 @@ -description: Alberta Lower Income threshold for dependents. +description: Alberta Lower Income threshold for dependants. values: 2023-01-01: 19_331 metadata: diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/upper_dependent_income_Threshold.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/upper_dependant_income_threshold.yaml similarity index 66% rename from policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/upper_dependent_income_Threshold.yaml rename to policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/upper_dependant_income_threshold.yaml index e358d5197..f2ee20204 100644 --- a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/upper_dependent_income_Threshold.yaml +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/upper_dependant_income_threshold.yaml @@ -1,9 +1,9 @@ -description: Alberta Upper Income Threshold +description: Alberta Upper Income Threshold for dependants. values: 2023-01-01: 31_489 metadata: unit: currency-CAD - label: Alberta Upper Income + 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 \ No newline at end of file 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 index 25614ad94..25e982c16 100644 --- 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 @@ -1,18 +1,48 @@ -- name: Over 18 +- name: Dependant Over 18 with net income between 19,331 and 31,489 period: 2023 input: age: 19 is_disabled: true - is_parent_or_grandparent: false individual_net_income: 20_000 province_code: AB output: ab_caregiver_amount: 11_489 -# - name: Under age eligibility -# period: 2023 -# input: -# age: 17 -# province_code: AB -# output: -# acfb_eligible_child: true +- name: Dependant Over 18 with net income below 19,331 + period: 2023 + input: + age: 19 + is_disabled: 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: + is_parent_or_grandparent: 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 + is_parent_or_grandparent: 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 + 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 index 26611b1de..03df4b130 100644 --- 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 @@ -15,10 +15,10 @@ 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("is_parent_or_grandparent", period) | (person("age", period) >= 18 & person("is_disabled", period)) + is_dependant = (person("is_parent_or_grandparent", period) | (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.lower_dependent_income_threshold & dependant_net_income <= p.upper_dependent_income_threshold) - caregiver_amount = income_eligibility * (p.upper_dependent_income_threshold - dependant_net_income) + income_eligibility = dependant_net_income <= p.upper_dependant_income_threshold + caregiver_amount = (p.upper_dependant_income_threshold - dependant_net_income) * income_eligibility return min_(caregiver_amount, p.maximum_caregiver_amount) \ No newline at end of file From fdd9a605e797bc03b9bd28d9ed8f1075e2379c3e Mon Sep 17 00:00:00 2001 From: Kun Yao <90804230+Kenyaokun@users.noreply.github.com> Date: Wed, 14 Jun 2023 23:21:09 +0000 Subject: [PATCH 03/58] Alberta Caregiver Amount Final Draft #331 Co-authored-by: YiweiJ Co-authored-by: 7qiwx <7qiwx@users.noreply.github.com> --- changelog_entry.yaml | 4 +++ .../credits_return/lower_age_eligibility.yaml | 2 +- .../lower_dependant_income_threshold.yaml | 2 +- .../maximum_caregiver_amount.yaml | 2 +- .../upper_dependant_income_threshold.yaml | 2 +- .../sa/qc_sa_married_both_eligible.yaml | 2 +- .../sa/qc_sa_married_one_eligible.yaml | 2 +- .../tax/credits_return/ab_caregiver_amount.py | 25 ++++++++++++++----- .../person/is_parent_or_grandparent.py | 2 +- 9 files changed, 30 insertions(+), 13 deletions(-) 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/lower_age_eligibility.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_age_eligibility.yaml index f43dc60ae..696c5f3dd 100644 --- 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 @@ -6,4 +6,4 @@ metadata: 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 \ No newline at end of file + 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/lower_dependant_income_threshold.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_dependant_income_threshold.yaml index 4316b7a20..64538a3ec 100644 --- 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 @@ -6,4 +6,4 @@ metadata: label: Alberta 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 \ No newline at end of file + 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 index 200767bcf..c1443f116 100644 --- 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 @@ -6,4 +6,4 @@ metadata: 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 \ No newline at end of file + 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 index f2ee20204..685fa8407 100644 --- 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 @@ -6,4 +6,4 @@ metadata: 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 \ No newline at end of file + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf diff --git a/policyengine_canada/tests/gov/provinces/qc/tax/income/credits/sa/qc_sa_married_both_eligible.yaml b/policyengine_canada/tests/gov/provinces/qc/tax/income/credits/sa/qc_sa_married_both_eligible.yaml index fcfcb7cb6..8f78cb520 100644 --- a/policyengine_canada/tests/gov/provinces/qc/tax/income/credits/sa/qc_sa_married_both_eligible.yaml +++ b/policyengine_canada/tests/gov/provinces/qc/tax/income/credits/sa/qc_sa_married_both_eligible.yaml @@ -29,4 +29,4 @@ members: [c1, c2] province_code: QC output: - qc_sa_married_both_eligible: 1 \ No newline at end of file + qc_sa_married_both_eligible: 1 diff --git a/policyengine_canada/tests/gov/provinces/qc/tax/income/credits/sa/qc_sa_married_one_eligible.yaml b/policyengine_canada/tests/gov/provinces/qc/tax/income/credits/sa/qc_sa_married_one_eligible.yaml index 6ce860c0e..fd8414b26 100644 --- a/policyengine_canada/tests/gov/provinces/qc/tax/income/credits/sa/qc_sa_married_one_eligible.yaml +++ b/policyengine_canada/tests/gov/provinces/qc/tax/income/credits/sa/qc_sa_married_one_eligible.yaml @@ -28,4 +28,4 @@ members: [c1, c2] province_code: QC output: - qc_sa_married_one_eligible: 1 \ No newline at end of file + qc_sa_married_one_eligible: 1 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 index 03df4b130..02956051a 100644 --- 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 @@ -12,13 +12,26 @@ class ab_caregiver_amount(Variable): def formula(person, period, parameters): - p = parameters(period).gov.provinces.ab.tax.income.credits.credits_return + p = parameters( + period + ).gov.provinces.ab.tax.income.credits.credits_return # Whether the person is dependant (65 or older/ disabled) - is_dependant = (person("is_parent_or_grandparent", period) | (person("age", period) >= p.lower_age_eligibility & person("is_disabled", period))) - dependant_net_income = person("individual_net_income", period) * is_dependant + is_dependant = person("is_parent_or_grandparent", period) | ( + 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 + income_eligibility = ( + dependant_net_income <= p.upper_dependant_income_threshold + ) - return min_(caregiver_amount, p.maximum_caregiver_amount) \ No newline at end of file + # https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab-ws/td1ab-ws-23e.pdf Deduct line 6 + caregiver_amount = ( + p.upper_dependant_income_threshold - dependant_net_income + ) * income_eligibility + + return min_(caregiver_amount, p.maximum_caregiver_amount) diff --git a/policyengine_canada/variables/household/person/is_parent_or_grandparent.py b/policyengine_canada/variables/household/person/is_parent_or_grandparent.py index aa429233a..f365f37cd 100644 --- a/policyengine_canada/variables/household/person/is_parent_or_grandparent.py +++ b/policyengine_canada/variables/household/person/is_parent_or_grandparent.py @@ -8,4 +8,4 @@ class is_parent_or_grandparent(Variable): definition_period = YEAR def formula(person, period, parameters): - return person("age", period) >= 65 \ No newline at end of file + return person("age", period) >= 65 From 74dbb83ea7e800003c1c26f6587767607e5c7717 Mon Sep 17 00:00:00 2001 From: Kun Yao <90804230+Kenyaokun@users.noreply.github.com> Date: Tue, 4 Jul 2023 18:03:01 +0000 Subject: [PATCH 04/58] Alberta Caregiver Amount Done #331 --- .../ab/tax/income/credits/pension/ab_pension_credit.yaml | 2 +- .../gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/policyengine_canada/tests/gov/provinces/ab/tax/income/credits/pension/ab_pension_credit.yaml b/policyengine_canada/tests/gov/provinces/ab/tax/income/credits/pension/ab_pension_credit.yaml index e3c23fabd..a9faa8c92 100644 --- a/policyengine_canada/tests/gov/provinces/ab/tax/income/credits/pension/ab_pension_credit.yaml +++ b/policyengine_canada/tests/gov/provinces/ab/tax/income/credits/pension/ab_pension_credit.yaml @@ -20,4 +20,4 @@ pension_and_savings_plan_income: 0 province_code: AB output: - ab_pension_credit: 0 \ No newline at end of file + ab_pension_credit: 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 index 02956051a..3d56f9df6 100644 --- 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 @@ -29,7 +29,6 @@ def formula(person, period, parameters): dependant_net_income <= p.upper_dependant_income_threshold ) - # https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab-ws/td1ab-ws-23e.pdf Deduct line 6 caregiver_amount = ( p.upper_dependant_income_threshold - dependant_net_income ) * income_eligibility From 3f6d0d882daf81e99ddabdaa71ddf5ffff01f4c5 Mon Sep 17 00:00:00 2001 From: Kun Yao <90804230+Kenyaokun@users.noreply.github.com> Date: Tue, 4 Jul 2023 18:12:07 +0000 Subject: [PATCH 05/58] Alberta Caregiver Amount Update #331 --- .../gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py | 1 - 1 file changed, 1 deletion(-) 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 index 3d56f9df6..0a01e36eb 100644 --- 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 @@ -11,7 +11,6 @@ class ab_caregiver_amount(Variable): defined_for = ProvinceCode.AB def formula(person, period, parameters): - p = parameters( period ).gov.provinces.ab.tax.income.credits.credits_return From 9e990a764fe2bf5b83989de820dd844eb4ef5421 Mon Sep 17 00:00:00 2001 From: Kun Yao <90804230+Kenyaokun@users.noreply.github.com> Date: Tue, 25 Jul 2023 23:48:31 +0000 Subject: [PATCH 06/58] Alberta Caregiver Amount Fixes #331 --- .../credits/credits_return/age_eligibility.yaml | 11 +++++++++++ .../credits/credits_return/lower_age_eligibility.yaml | 2 ++ .../lower_dependant_income_threshold.yaml | 4 ++-- .../credits/credits_return/ab_caregiver_amount.yaml | 8 ++++++-- .../ab/tax/credits_return/ab_caregiver_amount.py | 8 +++++--- .../provinces/ab/tax/credits_return/live_together.py | 11 +++++++++++ .../household/person/is_parent_or_grandparent.py | 11 ----------- 7 files changed, 37 insertions(+), 18 deletions(-) create mode 100644 policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility.yaml create mode 100644 policyengine_canada/variables/gov/provinces/ab/tax/credits_return/live_together.py delete mode 100644 policyengine_canada/variables/household/person/is_parent_or_grandparent.py 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 index 696c5f3dd..c1a6f4521 100644 --- 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 @@ -7,3 +7,5 @@ metadata: 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 index 64538a3ec..0ab34fc13 100644 --- 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 @@ -1,9 +1,9 @@ -description: Alberta Lower Income threshold for dependants. +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 Dependent Lower Income Threshold + 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/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 index 25e982c16..676d19d9f 100644 --- 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 @@ -3,6 +3,7 @@ input: age: 19 is_disabled: true + live_together: true individual_net_income: 20_000 province_code: AB output: @@ -13,6 +14,7 @@ input: age: 19 is_disabled: true + live_together: true individual_net_income: 10_000 province_code: AB output: @@ -21,7 +23,8 @@ - name: Dependant Over 65 with net income below 19,331 period: 2023 input: - is_parent_or_grandparent: true + age: 66 + live_together: true individual_net_income: 10_000 province_code: AB output: @@ -31,7 +34,7 @@ period: 2023 input: age: 67 - is_parent_or_grandparent: true + live_together: true individual_net_income: 20_000 province_code: AB output: @@ -42,6 +45,7 @@ input: age: 25 is_disabled: true + live_together: false individual_net_income: 40_000 province_code: AB output: 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 index 0a01e36eb..a82c4b364 100644 --- 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 @@ -16,7 +16,7 @@ def formula(person, period, parameters): ).gov.provinces.ab.tax.income.credits.credits_return # Whether the person is dependant (65 or older/ disabled) - is_dependant = person("is_parent_or_grandparent", period) | ( + is_dependant = (person("age", period) >= 65) | ( person("age", period) >= p.lower_age_eligibility & person("is_disabled", period) ) @@ -29,7 +29,9 @@ def formula(person, period, parameters): ) caregiver_amount = ( - p.upper_dependant_income_threshold - dependant_net_income - ) * income_eligibility + (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 diff --git a/policyengine_canada/variables/household/person/is_parent_or_grandparent.py b/policyengine_canada/variables/household/person/is_parent_or_grandparent.py deleted file mode 100644 index f365f37cd..000000000 --- a/policyengine_canada/variables/household/person/is_parent_or_grandparent.py +++ /dev/null @@ -1,11 +0,0 @@ -from policyengine_canada.model_api import * - - -class is_parent_or_grandparent(Variable): - value_type = bool - entity = Person - label = "Is parent or grandparent" - definition_period = YEAR - - def formula(person, period, parameters): - return person("age", period) >= 65 From d59402b8c11d897b6581c1bb3c2e036b8819d243 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Sun, 28 Apr 2024 16:42:30 +0000 Subject: [PATCH 07/58] edit changelog --- changelog_entry.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog_entry.yaml b/changelog_entry.yaml index 4afb06ce5..059a79c00 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -1,4 +1,4 @@ - bump: minor changes: added: - - Alberta Caregiver Amount. + - Alberta caregiver amount. From ad376018ef4cdebdec8bef22c824c6f746ad9e93 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 29 Apr 2024 20:05:38 +0000 Subject: [PATCH 08/58] added ab_caregiver --- .../credits/credits_return/age_eligibility.yaml | 12 +++++++----- .../credits_return/lower_age_eligibility.yaml | 8 +++++--- .../lower_dependant_income_threshold.yaml | 7 +++++-- .../credits_return/maximum_caregiver_amount.yaml | 7 +++++-- .../upper_dependant_income_threshold.yaml | 7 +++++-- .../credits/credits_return/ab_caregiver_amount.yaml | 10 +++++----- .../tests/household/cohabitating_dependant.py | 10 ++++++++++ .../provinces/ab/tax/credits_return/live_together.py | 11 ----------- 8 files changed, 42 insertions(+), 30 deletions(-) create mode 100644 policyengine_canada/tests/household/cohabitating_dependant.py delete mode 100644 policyengine_canada/variables/gov/provinces/ab/tax/credits_return/live_together.py 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 index c55128b97..efb17b04e 100644 --- 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 @@ -1,11 +1,13 @@ description: Alberta limits its Child and Family Benefit to people above this age. values: - 2023-01-01: 18 + 2022-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 + - title: Province of Alberta - Alberta Child and Family Benefit (2022) + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-22e.pdf#page=1 + - title: Province of Alberta - Alberta Child and Family Benefit (2023) + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf#page=1 + - title: Province of Alberta - Alberta Personal Income Tax Act, RSA 2000, Division 4 + 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 index c1a6f4521..8a7ebf24d 100644 --- 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 @@ -1,11 +1,13 @@ description: Alberta limits its Child and Family Benefit to people above this age. values: - 2023-01-01: 18 + 2022-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 Child and Family Benefit (2022) + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-22e.pdf#page=1 + - title: Province of Alberta - Alberta Child and Family Benefit (2023) + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf#page=1 - 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 index 0ab34fc13..52d0cd1c7 100644 --- 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 @@ -1,9 +1,12 @@ description: Alberta provides the caregiver amount for dependants with income below this threshold. values: + 2022-01-01: 17_826 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 + - title: Government of Canada - Alberta Caregiver Amount (2022) + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-22e.pdf#page=1 + - title: Government of Canada - Alberta Caregiver Amount (2023) + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf#page=1 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 index c1443f116..7e8be7395 100644 --- 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 @@ -1,9 +1,12 @@ description: Alberta Maximum Caregiver Amount values: + 2022-01-1: 11_212 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 + - title: Government of Canada - Alberta Caregiver Amount (2022) + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-22e.pdf#page=1 + - title: Government of Canada - Alberta Caregiver Amount (2023) + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf#page=1 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 index 685fa8407..c41a83ecb 100644 --- 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 @@ -1,9 +1,12 @@ description: Alberta Upper Income Threshold for dependants. values: + 2022-01-01: 29_038 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 + - title: Government of Canada - Alberta Caregiver Amount (2022) + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-22e.pdf#page=1 + - title: Government of Canada - Alberta Caregiver Amount (2023) + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf#page=1 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 index 676d19d9f..8c525d005 100644 --- 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 @@ -3,7 +3,7 @@ input: age: 19 is_disabled: true - live_together: true + cohabitating_dependant: true individual_net_income: 20_000 province_code: AB output: @@ -14,7 +14,7 @@ input: age: 19 is_disabled: true - live_together: true + cohabitating_dependant: true individual_net_income: 10_000 province_code: AB output: @@ -24,7 +24,7 @@ period: 2023 input: age: 66 - live_together: true + cohabitating_dependant: true individual_net_income: 10_000 province_code: AB output: @@ -34,7 +34,7 @@ period: 2023 input: age: 67 - live_together: true + cohabitating_dependant: true individual_net_income: 20_000 province_code: AB output: @@ -45,7 +45,7 @@ input: age: 25 is_disabled: true - live_together: false + cohabitating_dependant: false individual_net_income: 40_000 province_code: AB output: diff --git a/policyengine_canada/tests/household/cohabitating_dependant.py b/policyengine_canada/tests/household/cohabitating_dependant.py new file mode 100644 index 000000000..269d113ef --- /dev/null +++ b/policyengine_canada/tests/household/cohabitating_dependant.py @@ -0,0 +1,10 @@ +from policyengine_canada.model_api import * + + +class cohabitating_dependant(Variable): + value_type = bool + entity = Person + label = "Dependant living with the head of household" + documentation = "Whthere your spouse's or common-law partner's dependant lives with you or not." + definition_period = YEAR + reference = "https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf#page=1" \ No newline at end of file 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 deleted file mode 100644 index be2362f8f..000000000 --- a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/live_together.py +++ /dev/null @@ -1,11 +0,0 @@ -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 From 2895c86c77aa8268cfbeeb8f7cb3b4990e8a1088 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 29 Apr 2024 20:09:24 +0000 Subject: [PATCH 09/58] spelling --- policyengine_canada/tests/household/cohabitating_dependant.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policyengine_canada/tests/household/cohabitating_dependant.py b/policyengine_canada/tests/household/cohabitating_dependant.py index 269d113ef..d0588023b 100644 --- a/policyengine_canada/tests/household/cohabitating_dependant.py +++ b/policyengine_canada/tests/household/cohabitating_dependant.py @@ -5,6 +5,6 @@ class cohabitating_dependant(Variable): value_type = bool entity = Person label = "Dependant living with the head of household" - documentation = "Whthere your spouse's or common-law partner's dependant lives with you or not." + documentation = "Whether your spouse's or common-law partner's dependant lives with you or not." definition_period = YEAR reference = "https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf#page=1" \ No newline at end of file From 137dcadd82e5d4b56209cda6c04080cf99c137e7 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 6 May 2024 16:30:45 -0400 Subject: [PATCH 10/58] Update policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_dependant_income_threshold.yaml Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../credits_return/lower_dependant_income_threshold.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 52d0cd1c7..6eef3cdc5 100644 --- 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 @@ -1,4 +1,4 @@ -description: Alberta provides the caregiver amount for dependants with income below this threshold. +description: Alberta limits the caregiver amount to dependants with income below this threshold. values: 2022-01-01: 17_826 2023-01-01: 19_331 From 961b99c6778d81f08b97b6f81785427a4658b06c Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 6 May 2024 16:30:51 -0400 Subject: [PATCH 11/58] Update policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/maximum_caregiver_amount.yaml Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../income/credits/credits_return/maximum_caregiver_amount.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 7e8be7395..485c05a47 100644 --- 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 @@ -1,4 +1,4 @@ -description: Alberta Maximum Caregiver Amount +description: Alberta provides the following maximum caregicer amount. values: 2022-01-1: 11_212 2023-01-01: 12_158 From 382bc4201ddf440ce76c38ef2e5b01eadbb4fc51 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 6 May 2024 16:31:16 -0400 Subject: [PATCH 12/58] Update policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/maximum_caregiver_amount.yaml Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../income/credits/credits_return/maximum_caregiver_amount.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 485c05a47..24e0a4f4d 100644 --- 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 @@ -1,6 +1,6 @@ description: Alberta provides the following maximum caregicer amount. values: - 2022-01-1: 11_212 + 2022-01-01: 11_212 2023-01-01: 12_158 metadata: unit: currency-CAD From d13fb576d1d7b69338604d36a4908bbe2bcbeb3e Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 6 May 2024 20:52:56 +0000 Subject: [PATCH 13/58] fixes --- .../income/credits/credits_return/maximum_caregiver_amount.yaml | 2 +- .../gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py | 2 +- .../{tests => variables}/household/cohabitating_dependant.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename policyengine_canada/{tests => variables}/household/cohabitating_dependant.py (91%) 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 index 7e8be7395..469022af3 100644 --- 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 @@ -1,6 +1,6 @@ description: Alberta Maximum Caregiver Amount values: - 2022-01-1: 11_212 + 2022-01-01: 11_212 2023-01-01: 12_158 metadata: unit: currency-CAD 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 index a82c4b364..d1a93f4f9 100644 --- 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 @@ -31,7 +31,7 @@ def formula(person, period, parameters): caregiver_amount = ( (p.upper_dependant_income_threshold - dependant_net_income) * income_eligibility - * person("live_together", period) + * person("cohabitating_dependant", period) ) return min_(caregiver_amount, p.maximum_caregiver_amount) diff --git a/policyengine_canada/tests/household/cohabitating_dependant.py b/policyengine_canada/variables/household/cohabitating_dependant.py similarity index 91% rename from policyengine_canada/tests/household/cohabitating_dependant.py rename to policyengine_canada/variables/household/cohabitating_dependant.py index d0588023b..c7edf19ae 100644 --- a/policyengine_canada/tests/household/cohabitating_dependant.py +++ b/policyengine_canada/variables/household/cohabitating_dependant.py @@ -7,4 +7,4 @@ class cohabitating_dependant(Variable): label = "Dependant living with the head of household" documentation = "Whether your spouse's or common-law partner's dependant lives with you or not." definition_period = YEAR - reference = "https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf#page=1" \ No newline at end of file + reference = "https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf#page=1" From 4e4e67a9b08cc46de0f408fe74795654ab1f8748 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Sat, 11 May 2024 16:31:51 -0400 Subject: [PATCH 14/58] Update policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 index d1a93f4f9..0193d6de0 100644 --- 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 @@ -16,7 +16,8 @@ def formula(person, period, parameters): ).gov.provinces.ab.tax.income.credits.credits_return # Whether the person is dependant (65 or older/ disabled) - is_dependant = (person("age", period) >= 65) | ( + age = person("age", period) + is_dependant = (age >= 65) | ( person("age", period) >= p.lower_age_eligibility & person("is_disabled", period) ) From fc30a3b477d946b859dff8c859f0ca9a65a730c6 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Sat, 11 May 2024 20:35:16 +0000 Subject: [PATCH 15/58] updated --- .../ab/tax/credits_return/ab_caregiver_amount.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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 index d1a93f4f9..d7967e0a9 100644 --- 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 @@ -28,10 +28,14 @@ def formula(person, period, parameters): dependant_net_income <= p.upper_dependant_income_threshold ) + net_income = max_(0, p.upper_dependant_income_threshold - dependant_net_income) + + cohabitating_dependant = person("cohabitating_dependant", period) + caregiver_amount = ( - (p.upper_dependant_income_threshold - dependant_net_income) + net_income * income_eligibility - * person("cohabitating_dependant", period) + * cohabitating_dependant ) return min_(caregiver_amount, p.maximum_caregiver_amount) From f16f384e19cae5f934c79ec03e232cfbffb33c89 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Sat, 11 May 2024 20:38:33 +0000 Subject: [PATCH 16/58] added period + removed lower_age_eligibility --- .../credits_return/lower_age_eligibility.yaml | 13 ------------- .../lower_dependant_income_threshold.yaml | 1 + .../credits_return/maximum_caregiver_amount.yaml | 1 + .../upper_dependant_income_threshold.yaml | 1 + .../ab/tax/credits_return/ab_caregiver_amount.py | 2 +- 5 files changed, 4 insertions(+), 14 deletions(-) delete mode 100644 policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_age_eligibility.yaml 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 deleted file mode 100644 index 8a7ebf24d..000000000 --- a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_age_eligibility.yaml +++ /dev/null @@ -1,13 +0,0 @@ -description: Alberta limits its Child and Family Benefit to people above this age. -values: - 2022-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 (2022) - href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-22e.pdf#page=1 - - title: Province of Alberta - Alberta Child and Family Benefit (2023) - href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf#page=1 - - 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 index 6eef3cdc5..862336486 100644 --- 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 @@ -4,6 +4,7 @@ values: 2023-01-01: 19_331 metadata: unit: currency-CAD + period: year label: Alberta caregiver amount dependent lower income threshold reference: - title: Government of Canada - Alberta Caregiver Amount (2022) 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 index 24e0a4f4d..9f358660e 100644 --- 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 @@ -4,6 +4,7 @@ values: 2023-01-01: 12_158 metadata: unit: currency-CAD + period: year label: Alberta Maximum Caregiver Amount reference: - title: Government of Canada - Alberta Caregiver Amount (2022) 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 index c41a83ecb..5ac5c4657 100644 --- 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 @@ -4,6 +4,7 @@ values: 2023-01-01: 31_489 metadata: unit: currency-CAD + period: year label: Alberta Dependant Upper Income Threshold reference: - title: Government of Canada - Alberta Caregiver Amount (2022) 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 index 74eefea0c..a0fa78eba 100644 --- 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 @@ -19,7 +19,7 @@ def formula(person, period, parameters): age = person("age", period) is_dependant = (age >= 65) | ( person("age", period) - >= p.lower_age_eligibility & person("is_disabled", period) + >= p.age_eligibility & person("is_disabled", period) ) dependant_net_income = ( person("individual_net_income", period) * is_dependant From 2e425e84cae86f1500b04f55e5cbce30956ee4dd Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Sat, 11 May 2024 20:41:40 +0000 Subject: [PATCH 17/58] formatting --- .../ab/tax/credits_return/ab_caregiver_amount.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 index a0fa78eba..8f32e1c75 100644 --- 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 @@ -29,14 +29,14 @@ def formula(person, period, parameters): dependant_net_income <= p.upper_dependant_income_threshold ) - net_income = max_(0, p.upper_dependant_income_threshold - dependant_net_income) + net_income = max_( + 0, p.upper_dependant_income_threshold - dependant_net_income + ) cohabitating_dependant = person("cohabitating_dependant", period) caregiver_amount = ( - net_income - * income_eligibility - * cohabitating_dependant + net_income * income_eligibility * cohabitating_dependant ) return min_(caregiver_amount, p.maximum_caregiver_amount) From f3151b4d8ac98fcb62f6f64b6b6a3eaebfc296f0 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Sat, 11 May 2024 20:43:13 +0000 Subject: [PATCH 18/58] added lower higher age eligibility --- .../credits_return/higher_age_eligibility.yaml | 13 +++++++++++++ ..._eligibility.yaml => lower_age_eligibility.yaml} | 2 +- .../ab/tax/credits_return/ab_caregiver_amount.py | 4 ++-- 3 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/higher_age_eligibility.yaml rename policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/{age_eligibility.yaml => lower_age_eligibility.yaml} (95%) diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/higher_age_eligibility.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/higher_age_eligibility.yaml new file mode 100644 index 000000000..c5735ac33 --- /dev/null +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/higher_age_eligibility.yaml @@ -0,0 +1,13 @@ +description: Alberta limits its Child and Family Benefit to people above this age (who are not disabled). +values: + 2022-01-01: 65 +metadata: + unit: year + label: Alberta child and Family Benefit adult dependant age eligibility + reference: + - title: Province of Alberta - Alberta Child and Family Benefit (2022) + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-22e.pdf#page=1 + - title: Province of Alberta - Alberta Child and Family Benefit (2023) + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf#page=1 + - title: Province of Alberta - Alberta Personal Income Tax Act, RSA 2000, Division 4 + 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/age_eligibility.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_age_eligibility.yaml similarity index 95% rename from policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility.yaml rename to policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_age_eligibility.yaml index efb17b04e..357e8ade3 100644 --- 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/lower_age_eligibility.yaml @@ -1,4 +1,4 @@ -description: Alberta limits its Child and Family Benefit to people above this age. +description: Alberta limits its Child and Family Benefit to people above this age and disabled. values: 2022-01-01: 18 metadata: 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 index 8f32e1c75..3d469e897 100644 --- 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 @@ -17,9 +17,9 @@ def formula(person, period, parameters): # Whether the person is dependant (65 or older/ disabled) age = person("age", period) - is_dependant = (age >= 65) | ( + is_dependant = (age >= p.higher_age_eligiblity) | ( person("age", period) - >= p.age_eligibility & person("is_disabled", period) + >= p.lower_age_eligibility & person("is_disabled", period) ) dependant_net_income = ( person("individual_net_income", period) * is_dependant From 3d300798a5986515de9b0d4ef45241879985aa0f Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Sat, 11 May 2024 20:49:17 +0000 Subject: [PATCH 19/58] spelling --- .../gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 3d469e897..315a984f5 100644 --- 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 @@ -17,7 +17,7 @@ def formula(person, period, parameters): # Whether the person is dependant (65 or older/ disabled) age = person("age", period) - is_dependant = (age >= p.higher_age_eligiblity) | ( + is_dependant = (age >= p.higher_age_eligibility) | ( person("age", period) >= p.lower_age_eligibility & person("is_disabled", period) ) From 4b30602062bee2516b69133f9092fe4c5812f90b Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Tue, 14 May 2024 23:48:58 -0400 Subject: [PATCH 20/58] Update policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 315a984f5..6fdc85b0f 100644 --- 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 @@ -18,7 +18,7 @@ def formula(person, period, parameters): # Whether the person is dependant (65 or older/ disabled) age = person("age", period) is_dependant = (age >= p.higher_age_eligibility) | ( - person("age", period) + age >= p.lower_age_eligibility & person("is_disabled", period) ) dependant_net_income = ( From 51d4f1c8a33d9aff2c67b04830352447f13434fa Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Tue, 14 May 2024 23:49:07 -0400 Subject: [PATCH 21/58] Update policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 index 6fdc85b0f..d3ca9b528 100644 --- 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 @@ -21,8 +21,9 @@ def formula(person, period, parameters): age >= p.lower_age_eligibility & person("is_disabled", period) ) + income = person("individual_net_income", period) dependant_net_income = ( - person("individual_net_income", period) * is_dependant + income * is_dependant ) income_eligibility = ( From 588ac8fe7f2873a458975b2b6e960109933fcc61 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Wed, 15 May 2024 03:51:52 +0000 Subject: [PATCH 22/58] major --- .../higher.yaml} | 5 +++-- .../lower.yaml} | 5 +++-- .../{maximum_caregiver_amount.yaml => max_amount.yaml} | 2 +- .../provinces/ab/tax/credits_return/ab_caregiver_amount.py | 6 +++--- 4 files changed, 10 insertions(+), 8 deletions(-) rename policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/{higher_age_eligibility.yaml => age_eligibility/higher.yaml} (76%) rename policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/{lower_age_eligibility.yaml => age_eligibility/lower.yaml} (77%) rename policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/{maximum_caregiver_amount.yaml => max_amount.yaml} (91%) diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/higher_age_eligibility.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/higher.yaml similarity index 76% rename from policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/higher_age_eligibility.yaml rename to policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/higher.yaml index c5735ac33..9a299ca26 100644 --- a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/higher_age_eligibility.yaml +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/higher.yaml @@ -1,9 +1,10 @@ -description: Alberta limits its Child and Family Benefit to people above this age (who are not disabled). +description: Alberta limits its caregiver amount to people above this age (who are not disabled). values: 2022-01-01: 65 metadata: unit: year - label: Alberta child and Family Benefit adult dependant age eligibility + period: year + label: Alberta caregiver credit adult dependant age eligibility reference: - title: Province of Alberta - Alberta Child and Family Benefit (2022) href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-22e.pdf#page=1 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/age_eligibility/lower.yaml similarity index 77% rename from policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/lower_age_eligibility.yaml rename to policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/lower.yaml index 357e8ade3..738032279 100644 --- 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/age_eligibility/lower.yaml @@ -1,9 +1,10 @@ -description: Alberta limits its Child and Family Benefit to people above this age and disabled. +description: Alberta limits its caregiver amount to people above this age and disabled. values: 2022-01-01: 18 metadata: unit: year - label: Alberta child and Family Benefit adult dependant age eligibility + period: year + label: Alberta caregiver credit adult dependant age eligibility reference: - title: Province of Alberta - Alberta Child and Family Benefit (2022) href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-22e.pdf#page=1 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/max_amount.yaml similarity index 91% rename from policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/maximum_caregiver_amount.yaml rename to policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/max_amount.yaml index 9f358660e..dd77f0f05 100644 --- 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/max_amount.yaml @@ -5,7 +5,7 @@ values: metadata: unit: currency-CAD period: year - label: Alberta Maximum Caregiver Amount + label: Alberta caregiver amount max amount reference: - title: Government of Canada - Alberta Caregiver Amount (2022) href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-22e.pdf#page=1 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 index 315a984f5..7ded2b5d6 100644 --- 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 @@ -17,9 +17,9 @@ def formula(person, period, parameters): # Whether the person is dependant (65 or older/ disabled) age = person("age", period) - is_dependant = (age >= p.higher_age_eligibility) | ( + is_dependant = (age >= p.age_eligibility.higher) | ( person("age", period) - >= p.lower_age_eligibility & person("is_disabled", period) + >= p.age_eligibility.lower & person("is_disabled", period) ) dependant_net_income = ( person("individual_net_income", period) * is_dependant @@ -39,4 +39,4 @@ def formula(person, period, parameters): net_income * income_eligibility * cohabitating_dependant ) - return min_(caregiver_amount, p.maximum_caregiver_amount) + return min_(caregiver_amount, p.max_amount) From c7bb5bca69eead85f1273576ab7cfe14d1d045c7 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Wed, 15 May 2024 03:55:22 +0000 Subject: [PATCH 23/58] formatting --- .../provinces/ab/tax/credits_return/ab_caregiver_amount.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) 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 index 0dd18c90d..333aee467 100644 --- 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 @@ -22,9 +22,7 @@ def formula(person, period, parameters): >= p.age_eligibility.lower & person("is_disabled", period) ) income = person("individual_net_income", period) - dependant_net_income = ( - income * is_dependant - ) + dependant_net_income = income * is_dependant income_eligibility = ( dependant_net_income <= p.upper_dependant_income_threshold From 647275dd4e1ddad79623929c14139873441fc1ed Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 20 May 2024 04:06:12 +0000 Subject: [PATCH 24/58] rename higher to upper --- .../credits_return/age_eligibility/{higher.yaml => upper.yaml} | 0 .../gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/{higher.yaml => upper.yaml} (100%) diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/higher.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/upper.yaml similarity index 100% rename from policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/higher.yaml rename to policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/upper.yaml 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 index 333aee467..a0240e4a3 100644 --- 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 @@ -17,7 +17,7 @@ def formula(person, period, parameters): # Whether the person is dependant (65 or older/ disabled) age = person("age", period) - is_dependant = (age >= p.age_eligibility.higher) | ( + is_dependant = (age >= p.age_eligibility.upper) | ( person("age", period) >= p.age_eligibility.lower & person("is_disabled", period) ) From 4c4fee01091d0c92ff7b95640e911b28d6cca401 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 20 May 2024 20:02:14 +0000 Subject: [PATCH 25/58] added some legal refs --- .../income/credits/credits_return/age_eligibility/lower.yaml | 2 +- .../income/credits/credits_return/age_eligibility/upper.yaml | 2 +- .../credits_return/lower_dependant_income_threshold.yaml | 2 ++ .../ab/tax/income/credits/credits_return/max_amount.yaml | 2 ++ 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/lower.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/lower.yaml index 738032279..ae9e94470 100644 --- a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/lower.yaml +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/lower.yaml @@ -10,5 +10,5 @@ metadata: href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-22e.pdf#page=1 - title: Province of Alberta - Alberta Child and Family Benefit (2023) href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf#page=1 - - title: Province of Alberta - Alberta Personal Income Tax Act, RSA 2000, Division 4 + - title: Province of Alberta - Alberta Personal Income Tax Act, RSA 2000, Division 3 (b) (ii) (D) 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/age_eligibility/upper.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/upper.yaml index 9a299ca26..b47adb80d 100644 --- a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/upper.yaml +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/upper.yaml @@ -10,5 +10,5 @@ metadata: href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-22e.pdf#page=1 - title: Province of Alberta - Alberta Child and Family Benefit (2023) href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf#page=1 - - title: Province of Alberta - Alberta Personal Income Tax Act, RSA 2000, Division 4 + - title: Province of Alberta - Alberta Personal Income Tax Act, RSA 2000, Division 3 (c) 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 index 862336486..cc52516dc 100644 --- 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 @@ -11,3 +11,5 @@ metadata: href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-22e.pdf#page=1 - title: Government of Canada - Alberta Caregiver Amount (2023) href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf#page=1 + - title: Province of Alberta - Alberta Personal Income Tax Act, RSA 2000, Division 3 (b) (iv) + 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/max_amount.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/max_amount.yaml index dd77f0f05..afc20a1f8 100644 --- a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/max_amount.yaml +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/max_amount.yaml @@ -11,3 +11,5 @@ metadata: href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-22e.pdf#page=1 - title: Government of Canada - Alberta Caregiver Amount (2023) href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf#page=1 + - title: Province of Alberta - Alberta Personal Income Tax Act, RSA 2000, Division 3 (c) + href: https://www.canlii.org/en/ab/laws/stat/rsa-2000-c-a-30/latest/rsa-2000-c-a-30.html From 5348a365af7e94baca8ef3394546080288ef58d1 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 20 May 2024 20:04:28 +0000 Subject: [PATCH 26/58] fixed legal code --- .../credits_return/upper_dependant_income_threshold.yaml | 3 +++ 1 file changed, 3 insertions(+) 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 index 5ac5c4657..ca1f0f57e 100644 --- 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 @@ -11,3 +11,6 @@ metadata: href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-22e.pdf#page=1 - title: Government of Canada - Alberta Caregiver Amount (2023) href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf#page=1 + - title: Province of Alberta - Alberta Personal Income Tax Act, RSA 2000, Division 3 (d) (iii) + href: https://www.canlii.org/en/ab/laws/stat/rsa-2000-c-a-30/latest/rsa-2000-c-a-30.html + From de449ae811f12b3da8aa878d19f1577fe0e39e08 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 27 May 2024 15:18:55 -0400 Subject: [PATCH 27/58] Update policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/lower.yaml Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../income/credits/credits_return/age_eligibility/lower.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/lower.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/lower.yaml index ae9e94470..9ea6049b9 100644 --- a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/lower.yaml +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/lower.yaml @@ -1,4 +1,4 @@ -description: Alberta limits its caregiver amount to people above this age and disabled. +description: Alberta limits its caregiver amount to disabled adult dependants above this age. values: 2022-01-01: 18 metadata: From 7a72ca14749c38c2aee3e9c5d97abadbe9704b9a Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 27 May 2024 15:19:02 -0400 Subject: [PATCH 28/58] Update policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/upper.yaml Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../income/credits/credits_return/age_eligibility/upper.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/upper.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/upper.yaml index b47adb80d..4d4849285 100644 --- a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/upper.yaml +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/upper.yaml @@ -4,7 +4,7 @@ values: metadata: unit: year period: year - label: Alberta caregiver credit adult dependant age eligibility + label: Alberta caregiver credit adult dependant higher age eligibility reference: - title: Province of Alberta - Alberta Child and Family Benefit (2022) href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-22e.pdf#page=1 From cbd9cecf99da9cb109c288839ce2f6bf0abb5a97 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 27 May 2024 15:19:37 -0400 Subject: [PATCH 29/58] Update policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 index a0240e4a3..88c12153a 100644 --- 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 @@ -17,7 +17,8 @@ def formula(person, period, parameters): # Whether the person is dependant (65 or older/ disabled) age = person("age", period) - is_dependant = (age >= p.age_eligibility.upper) | ( + disabled = person("is_disabled", period) + is_dependant = (age >= p.age_eligibility.upper) | ( person("age", period) >= p.age_eligibility.lower & person("is_disabled", period) ) From b0200b8b041eb6c79381a4c302839b745d3569ed Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 27 May 2024 15:20:38 -0400 Subject: [PATCH 30/58] Update policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 88c12153a..022c4452b 100644 --- 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 @@ -19,7 +19,7 @@ def formula(person, period, parameters): age = person("age", period) disabled = person("is_disabled", period) is_dependant = (age >= p.age_eligibility.upper) | ( - person("age", period) + age >= p.age_eligibility.lower & person("is_disabled", period) ) income = person("individual_net_income", period) From 6a79dd6bf583fddd7664d0ac6ff61045506a8fb0 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 27 May 2024 15:20:45 -0400 Subject: [PATCH 31/58] Update policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/max_amount.yaml Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../ab/tax/income/credits/credits_return/max_amount.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/max_amount.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/max_amount.yaml index afc20a1f8..27ff9b6be 100644 --- a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/max_amount.yaml +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/max_amount.yaml @@ -1,4 +1,4 @@ -description: Alberta provides the following maximum caregicer amount. +description: Alberta provides the following maximum caregiver amount. values: 2022-01-01: 11_212 2023-01-01: 12_158 From 5a9215ae38ec8f8b70126f860ca44ff31468520b Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 27 May 2024 15:20:52 -0400 Subject: [PATCH 32/58] Update policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/lower.yaml Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../income/credits/credits_return/age_eligibility/lower.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/lower.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/lower.yaml index 9ea6049b9..102e35554 100644 --- a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/lower.yaml +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/lower.yaml @@ -4,7 +4,7 @@ values: metadata: unit: year period: year - label: Alberta caregiver credit adult dependant age eligibility + label: Alberta caregiver credit adult dependant lower age eligibility reference: - title: Province of Alberta - Alberta Child and Family Benefit (2022) href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-22e.pdf#page=1 From 85438caec4be4f9fee557cf8616ba5ab4d9f3a14 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 27 May 2024 15:20:58 -0400 Subject: [PATCH 33/58] Update policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/upper_dependant_income_threshold.yaml Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../credits_return/upper_dependant_income_threshold.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index ca1f0f57e..fbcdc3077 100644 --- 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 @@ -5,7 +5,7 @@ values: metadata: unit: currency-CAD period: year - label: Alberta Dependant Upper Income Threshold + label: Alberta caregiver amount upper dependant income threshold reference: - title: Government of Canada - Alberta Caregiver Amount (2022) href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-22e.pdf#page=1 From 51e09ebfd29a1ec7e6fae4147a9555b4d00e2b99 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 27 May 2024 15:21:07 -0400 Subject: [PATCH 34/58] Update policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/upper.yaml Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../income/credits/credits_return/age_eligibility/upper.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/upper.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/upper.yaml index 4d4849285..1272df9fa 100644 --- a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/upper.yaml +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/credits_return/age_eligibility/upper.yaml @@ -1,4 +1,4 @@ -description: Alberta limits its caregiver amount to people above this age (who are not disabled). +description: Alberta limits its caregiver amount to non-disabled adult dependants above this age. values: 2022-01-01: 65 metadata: From fbe4856141392e2e1dcd8507097905a00fda12bf Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 27 May 2024 19:23:02 +0000 Subject: [PATCH 35/58] fixed description --- .../credits_return/upper_dependant_income_threshold.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index ca1f0f57e..5d8b6605c 100644 --- 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 @@ -1,4 +1,4 @@ -description: Alberta Upper Income Threshold for dependants. +description: Alberta caregiver amount phases out for dependants above this income threshold. values: 2022-01-01: 29_038 2023-01-01: 31_489 From bfce0be068185a0ac6ad76844aad75ca1f2c891b Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 27 May 2024 19:25:01 +0000 Subject: [PATCH 36/58] fixed formatting --- .../provinces/ab/tax/credits_return/ab_caregiver_amount.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 index 022c4452b..168705fa8 100644 --- 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 @@ -18,10 +18,10 @@ def formula(person, period, parameters): # Whether the person is dependant (65 or older/ disabled) age = person("age", period) disabled = person("is_disabled", period) - is_dependant = (age >= p.age_eligibility.upper) | ( - age - >= p.age_eligibility.lower & person("is_disabled", period) + is_dependant = (age >= p.age_eligibility.upper) | ( + age >= p.age_eligibility.lower & person("is_disabled", period) ) + income = person("individual_net_income", period) dependant_net_income = income * is_dependant From 381a50256adabd624e28cd6b693c2dab2774fd25 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 27 May 2024 20:05:02 +0000 Subject: [PATCH 37/58] added to non refundable --- .../gov/provinces/ab/tax/income/credits/non_refundable.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/non_refundable.yaml b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/non_refundable.yaml index 2583dbae4..8f62e8a5e 100644 --- a/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/non_refundable.yaml +++ b/policyengine_canada/parameters/gov/provinces/ab/tax/income/credits/non_refundable.yaml @@ -6,6 +6,7 @@ values: - ab_pension_credit - ab_spouse_and_common_law_partner_amount_credit - ab_basic_personal_amount + - ab_caregiver_amount metadata: unit: list From beca7f9a2a97de9b535e711a74b20351adce0974 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Fri, 31 May 2024 03:44:09 +0000 Subject: [PATCH 38/58] minor change --- .../gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 168705fa8..b82a4897b 100644 --- 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 @@ -19,7 +19,7 @@ def formula(person, period, parameters): age = person("age", period) disabled = person("is_disabled", period) is_dependant = (age >= p.age_eligibility.upper) | ( - age >= p.age_eligibility.lower & person("is_disabled", period) + age >= p.age_eligibility.lower & disabled ) income = person("individual_net_income", period) From f989cfccac2f3f486718b91e5224fea897201a1d Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 3 Jun 2024 15:49:47 -0400 Subject: [PATCH 39/58] Update policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../provinces/ab/tax/credits_return/ab_caregiver_amount.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 index b82a4897b..048db5f72 100644 --- 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 @@ -18,8 +18,9 @@ def formula(person, period, parameters): # Whether the person is dependant (65 or older/ disabled) age = person("age", period) disabled = person("is_disabled", period) - is_dependant = (age >= p.age_eligibility.upper) | ( - age >= p.age_eligibility.lower & disabled + is_dependant = person("is_dependant", period) + eligible_dependant = ((age >= p.age_eligibility.upper) | ( + age >= p.age_eligibility.lower & disabled) & is_dependant ) income = person("individual_net_income", period) From da01d88aa7dd6c0e11b2a5d32c2c6815ec4b17f9 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 3 Jun 2024 15:49:54 -0400 Subject: [PATCH 40/58] Update policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 048db5f72..1f6805cf0 100644 --- 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 @@ -24,7 +24,7 @@ def formula(person, period, parameters): ) income = person("individual_net_income", period) - dependant_net_income = income * is_dependant + dependant_net_income = income * eligible_dependant income_eligibility = ( dependant_net_income <= p.upper_dependant_income_threshold From 3416a86728e11d778e2f6e98e3926c16b655d21e Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Sun, 9 Jun 2024 23:57:31 +0000 Subject: [PATCH 41/58] fix description --- .../credits_return/upper_dependant_income_threshold.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 3ca62c75c..08c1065cb 100644 --- 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 @@ -1,4 +1,4 @@ -description: Alberta caregiver amount phases out for dependants above this income threshold. +description: Alberta limits the caregiver amount for dependants above this income threshold. values: 2022-01-01: 29_038 2023-01-01: 31_489 From 0efb17cb365c80be115d094048cd4e90f78066df Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 10 Jun 2024 00:03:50 +0000 Subject: [PATCH 42/58] split into 2 python files --- .../tax/credits_return/ab_caregiver_amount.py | 16 ++------- .../ab_caregiver_amount_eligible.py | 33 +++++++++++++++++++ 2 files changed, 35 insertions(+), 14 deletions(-) create mode 100644 policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py 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 index 1f6805cf0..23500ce57 100644 --- 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 @@ -15,20 +15,8 @@ def formula(person, period, parameters): period ).gov.provinces.ab.tax.income.credits.credits_return - # Whether the person is dependant (65 or older/ disabled) - age = person("age", period) - disabled = person("is_disabled", period) - is_dependant = person("is_dependant", period) - eligible_dependant = ((age >= p.age_eligibility.upper) | ( - age >= p.age_eligibility.lower & disabled) & is_dependant - ) - - income = person("individual_net_income", period) - dependant_net_income = income * eligible_dependant - - income_eligibility = ( - dependant_net_income <= p.upper_dependant_income_threshold - ) + # Whether the person is eligible or not (income based) + income_eligibility = person("ab_caregiver_amount_eligible", period) net_income = max_( 0, p.upper_dependant_income_threshold - dependant_net_income diff --git a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py new file mode 100644 index 000000000..07083e4c2 --- /dev/null +++ b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py @@ -0,0 +1,33 @@ +from policyengine_canada.model_api import * + + +class ab_caregiver_amount_eligible(Variable): + value_type = float + entity = Person + label = "Alberta caregiver amount income eligibility" + 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) + age = person("age", period) + disabled = person("is_disabled", period) + is_dependant = person("is_dependant", period) + eligible_dependant = ((age >= p.age_eligibility.upper) | ( + age >= p.age_eligibility.lower & disabled) & is_dependant + ) + + income = person("individual_net_income", period) + dependant_net_income = income * eligible_dependant + + income_eligibility = ( + dependant_net_income <= p.upper_dependant_income_threshold + ) + + return income_eligibility \ No newline at end of file From 79812ddfcac79a4e00881975c242e2b40c7c2e55 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 10 Jun 2024 00:04:25 +0000 Subject: [PATCH 43/58] formatting --- .../ab/tax/credits_return/ab_caregiver_amount_eligible.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py index 07083e4c2..71131918b 100644 --- a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py +++ b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py @@ -19,9 +19,9 @@ def formula(person, period, parameters): age = person("age", period) disabled = person("is_disabled", period) is_dependant = person("is_dependant", period) - eligible_dependant = ((age >= p.age_eligibility.upper) | ( - age >= p.age_eligibility.lower & disabled) & is_dependant - ) + eligible_dependant = (age >= p.age_eligibility.upper) | ( + age >= p.age_eligibility.lower & disabled + ) & is_dependant income = person("individual_net_income", period) dependant_net_income = income * eligible_dependant @@ -30,4 +30,4 @@ def formula(person, period, parameters): dependant_net_income <= p.upper_dependant_income_threshold ) - return income_eligibility \ No newline at end of file + return income_eligibility From 2518072897d42d5dcbe975a8226f6e2371ca4aec Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 1 Jul 2024 10:28:07 -0400 Subject: [PATCH 44/58] Update policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../ab/tax/credits_return/ab_caregiver_amount_eligible.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py index 71131918b..2627e01c8 100644 --- a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py +++ b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py @@ -4,7 +4,7 @@ class ab_caregiver_amount_eligible(Variable): value_type = float entity = Person - label = "Alberta caregiver amount income eligibility" + label = "Eligible person for the Alberta caregiver amount" unit = CAD definition_period = YEAR reference = "https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf" From 08e6d6928f8f2f23ba63659837ee3f26d81b79c7 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 1 Jul 2024 10:28:16 -0400 Subject: [PATCH 45/58] Update policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py | 1 - 1 file changed, 1 deletion(-) 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 index 23500ce57..8ca576d5d 100644 --- 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 @@ -16,7 +16,6 @@ def formula(person, period, parameters): ).gov.provinces.ab.tax.income.credits.credits_return # Whether the person is eligible or not (income based) - income_eligibility = person("ab_caregiver_amount_eligible", period) net_income = max_( 0, p.upper_dependant_income_threshold - dependant_net_income From d18e080e1c48bca8e80c5c69da11c0d752a8b592 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 1 Jul 2024 10:28:28 -0400 Subject: [PATCH 46/58] Update policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 8ca576d5d..428d99f29 100644 --- 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 @@ -8,7 +8,7 @@ class ab_caregiver_amount(Variable): unit = CAD definition_period = YEAR reference = "https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf" - defined_for = ProvinceCode.AB + defined_for = "ab_caregiver_amount_eligible_person" def formula(person, period, parameters): p = parameters( From 8ef30770f9a90ba63eda5cede50019dee14304d4 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 1 Jul 2024 10:28:38 -0400 Subject: [PATCH 47/58] Update policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../ab/tax/credits_return/ab_caregiver_amount_eligible.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py index 2627e01c8..83ba350fe 100644 --- a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py +++ b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py @@ -2,7 +2,7 @@ class ab_caregiver_amount_eligible(Variable): - value_type = float + value_type = bool entity = Person label = "Eligible person for the Alberta caregiver amount" unit = CAD From 54c57b6bb2b606027226804e80cd859d9be9854e Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 1 Jul 2024 10:28:49 -0400 Subject: [PATCH 48/58] Update policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../ab/tax/credits_return/ab_caregiver_amount_eligible.py | 1 - 1 file changed, 1 deletion(-) diff --git a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py index 83ba350fe..9e13a1969 100644 --- a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py +++ b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py @@ -5,7 +5,6 @@ class ab_caregiver_amount_eligible(Variable): value_type = bool entity = Person label = "Eligible person for the 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 From 8da163f71b982ec3e1172beb907e975642402c0c Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 1 Jul 2024 10:28:56 -0400 Subject: [PATCH 49/58] Update policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../ab/tax/credits_return/ab_caregiver_amount_eligible.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py index 9e13a1969..29d56ebe7 100644 --- a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py +++ b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py @@ -25,7 +25,7 @@ def formula(person, period, parameters): income = person("individual_net_income", period) dependant_net_income = income * eligible_dependant - income_eligibility = ( + return ( dependant_net_income <= p.upper_dependant_income_threshold ) From 51154351c4b48c0b21e81534dc6c22f7d541fecd Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 1 Jul 2024 10:29:05 -0400 Subject: [PATCH 50/58] Update policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../ab/tax/credits_return/ab_caregiver_amount_eligible.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py index 29d56ebe7..86d6c5df8 100644 --- a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py +++ b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py @@ -1,7 +1,7 @@ from policyengine_canada.model_api import * -class ab_caregiver_amount_eligible(Variable): +class ab_caregiver_amount_eligible_person(Variable): value_type = bool entity = Person label = "Eligible person for the Alberta caregiver amount" From bc93764ca75c3fa9dfa7db2027ad1080f7142909 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 1 Jul 2024 10:29:13 -0400 Subject: [PATCH 51/58] Update policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py Co-authored-by: Pavel Makarchuk <110687043+PavelMakarchuk@users.noreply.github.com> --- .../ab/tax/credits_return/ab_caregiver_amount_eligible.py | 1 - 1 file changed, 1 deletion(-) diff --git a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py index 86d6c5df8..2bdf10960 100644 --- a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py +++ b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py @@ -29,4 +29,3 @@ def formula(person, period, parameters): dependant_net_income <= p.upper_dependant_income_threshold ) - return income_eligibility From 42dffa6b93c7fa0d1652681296939b0cf7cdf37c Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 1 Jul 2024 14:42:57 +0000 Subject: [PATCH 52/58] added restructuring --- .../tax/credits_return/ab_caregiver_amount.py | 2 +- .../ab_caregiver_amount_eligible.py | 11 +------ .../credits_return/ab_dependant_net_income.py | 29 +++++++++++++++++++ 3 files changed, 31 insertions(+), 11 deletions(-) create mode 100644 policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_dependant_net_income.py 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 index 23500ce57..edb2c8917 100644 --- 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 @@ -19,7 +19,7 @@ def formula(person, period, parameters): income_eligibility = person("ab_caregiver_amount_eligible", period) net_income = max_( - 0, p.upper_dependant_income_threshold - dependant_net_income + 0, p.upper_dependant_income_threshold - person("ab_dependant_net_income", period) ) cohabitating_dependant = person("cohabitating_dependant", period) diff --git a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py index 71131918b..2c7b087f7 100644 --- a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py +++ b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py @@ -15,16 +15,7 @@ def formula(person, period, parameters): period ).gov.provinces.ab.tax.income.credits.credits_return - # Whether the person is dependant (65 or older/ disabled) - age = person("age", period) - disabled = person("is_disabled", period) - is_dependant = person("is_dependant", period) - eligible_dependant = (age >= p.age_eligibility.upper) | ( - age >= p.age_eligibility.lower & disabled - ) & is_dependant - - income = person("individual_net_income", period) - dependant_net_income = income * eligible_dependant + dependant_net_income = person("ab_dependant_net_income", period) * eligible_dependant income_eligibility = ( dependant_net_income <= p.upper_dependant_income_threshold diff --git a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_dependant_net_income.py b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_dependant_net_income.py new file mode 100644 index 000000000..2c36c2696 --- /dev/null +++ b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_dependant_net_income.py @@ -0,0 +1,29 @@ +from policyengine_canada.model_api import * + + +class ab_caregiver_amount_eligible(Variable): + value_type = float + entity = Person + label = "Alberta caregiver amount dependant net income" + 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) + age = person("age", period) + disabled = person("is_disabled", period) + is_dependant = person("is_dependant", period) + eligible_dependant = (age >= p.age_eligibility.upper) | ( + age >= p.age_eligibility.lower & disabled + ) & is_dependant + + income = person("individual_net_income", period) + dependant_net_income = income * eligible_dependant + + return dependant_net_income From 2158717a5c82a45591be92856ea72c0258d4bb9b Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 1 Jul 2024 14:44:03 +0000 Subject: [PATCH 53/58] format --- .../provinces/ab/tax/credits_return/ab_caregiver_amount.py | 4 +++- .../ab/tax/credits_return/ab_caregiver_amount_eligible.py | 7 +++---- 2 files changed, 6 insertions(+), 5 deletions(-) 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 index 5e1d4dc85..0ca648765 100644 --- 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 @@ -18,7 +18,9 @@ def formula(person, period, parameters): # Whether the person is eligible or not (income based) net_income = max_( - 0, p.upper_dependant_income_threshold - person("ab_dependant_net_income", period) + 0, + p.upper_dependant_income_threshold + - person("ab_dependant_net_income", period), ) cohabitating_dependant = person("cohabitating_dependant", period) diff --git a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py index f7c3fb156..b0e33c1bf 100644 --- a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py +++ b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py @@ -14,9 +14,8 @@ def formula(person, period, parameters): period ).gov.provinces.ab.tax.income.credits.credits_return - dependant_net_income = person("ab_dependant_net_income", period) * eligible_dependant - - return ( - dependant_net_income <= p.upper_dependant_income_threshold + dependant_net_income = ( + person("ab_dependant_net_income", period) * eligible_dependant ) + return dependant_net_income <= p.upper_dependant_income_threshold From cad3f0136c758cf31caaf666fa2e28da85f2661e Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 1 Jul 2024 14:56:16 +0000 Subject: [PATCH 54/58] name change --- .../provinces/ab/tax/credits_return/ab_dependant_net_income.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_dependant_net_income.py b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_dependant_net_income.py index 2c36c2696..f3dafeb9f 100644 --- a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_dependant_net_income.py +++ b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_dependant_net_income.py @@ -1,7 +1,7 @@ from policyengine_canada.model_api import * -class ab_caregiver_amount_eligible(Variable): +class ab_dependant_net_income(Variable): value_type = float entity = Person label = "Alberta caregiver amount dependant net income" From c00fc62466509556d0cce5827e1cfd5c3119db20 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 1 Jul 2024 14:59:13 +0000 Subject: [PATCH 55/58] minor --- .../ab/tax/credits_return/ab_caregiver_amount_eligible.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py index b0e33c1bf..61658a501 100644 --- a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py +++ b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py @@ -14,8 +14,6 @@ def formula(person, period, parameters): period ).gov.provinces.ab.tax.income.credits.credits_return - dependant_net_income = ( - person("ab_dependant_net_income", period) * eligible_dependant - ) + dependant_net_income = person("ab_dependant_net_income", period) return dependant_net_income <= p.upper_dependant_income_threshold From 53d6b7e9d6426f39c97f7abf2683bb5d718ea309 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 1 Jul 2024 15:01:30 +0000 Subject: [PATCH 56/58] minor --- .../gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 0ca648765..ffb901643 100644 --- 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 @@ -26,7 +26,7 @@ def formula(person, period, parameters): cohabitating_dependant = person("cohabitating_dependant", period) caregiver_amount = ( - net_income * income_eligibility * cohabitating_dependant + net_income * person("ab_caregiver_amount_eligible", period) * cohabitating_dependant ) return min_(caregiver_amount, p.max_amount) From 72600d4e07559b118f5a40739d3d7ddabbcc9da2 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 1 Jul 2024 15:05:21 +0000 Subject: [PATCH 57/58] added unit test --- .../ab_caregiver_amount_eligible.yaml | 32 +++++++++++++++++++ .../tax/credits_return/ab_caregiver_amount.py | 4 ++- .../ab_caregiver_amount_eligible.py | 2 +- 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 policyengine_canada/tests/gov/provinces/ab/tax/income/credits/credits_return/ab_caregiver_amount_eligible.yaml diff --git a/policyengine_canada/tests/gov/provinces/ab/tax/income/credits/credits_return/ab_caregiver_amount_eligible.yaml b/policyengine_canada/tests/gov/provinces/ab/tax/income/credits/credits_return/ab_caregiver_amount_eligible.yaml new file mode 100644 index 000000000..9cdecba7d --- /dev/null +++ b/policyengine_canada/tests/gov/provinces/ab/tax/income/credits/credits_return/ab_caregiver_amount_eligible.yaml @@ -0,0 +1,32 @@ +- name: Dependant Over 18 with net income between 19,331 and 31,489 + period: 2023 + input: + age: 19 + is_disabled: true + cohabitating_dependant: true + individual_net_income: 20_000 + province_code: AB + output: + ab_caregiver_amount_eligible: true + +- name: Dependant Over 18 with net income below 19,331 + period: 2023 + input: + age: 19 + is_disabled: true + cohabitating_dependant: true + individual_net_income: 10_000 + province_code: AB + output: + ab_caregiver_amount_eligible: true + +- name: Dependant Over 65 with net income over 31,489 + period: 2023 + input: + age: 25 + is_disabled: true + cohabitating_dependant: false + individual_net_income: 40_000 + province_code: AB + output: + ab_caregiver_amount_eligible: false 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 index ffb901643..cf9a69fce 100644 --- 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 @@ -26,7 +26,9 @@ def formula(person, period, parameters): cohabitating_dependant = person("cohabitating_dependant", period) caregiver_amount = ( - net_income * person("ab_caregiver_amount_eligible", period) * cohabitating_dependant + net_income + * person("ab_caregiver_amount_eligible", period) + * cohabitating_dependant ) return min_(caregiver_amount, p.max_amount) diff --git a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py index 61658a501..cc9348875 100644 --- a/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py +++ b/policyengine_canada/variables/gov/provinces/ab/tax/credits_return/ab_caregiver_amount_eligible.py @@ -1,7 +1,7 @@ from policyengine_canada.model_api import * -class ab_caregiver_amount_eligible_person(Variable): +class ab_caregiver_amount_eligible(Variable): value_type = bool entity = Person label = "Eligible person for the Alberta caregiver amount" From e74f5cbe32bbe7a396a3712b079a367708faeea5 Mon Sep 17 00:00:00 2001 From: SirMalamute Date: Mon, 1 Jul 2024 15:07:43 +0000 Subject: [PATCH 58/58] edited var --- .../gov/provinces/ab/tax/credits_return/ab_caregiver_amount.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index cf9a69fce..2e052ffc1 100644 --- 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 @@ -8,7 +8,7 @@ class ab_caregiver_amount(Variable): unit = CAD definition_period = YEAR reference = "https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1ab/td1ab-23e.pdf" - defined_for = "ab_caregiver_amount_eligible_person" + defined_for = "ab_caregiver_amount_eligible" def formula(person, period, parameters): p = parameters(