Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Saskatchewan Caregiver Amount #406

Open
wants to merge 26 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions changelog_entry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
- bump: minor
changes:
added:
- Saskatchewan Caregiver Amount
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved

Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
description: Saskatchewan provides the Caregiver Tax Credit Amount for filer with dependants this age or older.
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
values:
2022-01-01: 65
metadata:
unit: year
label: Saskatchewan Caregiver Tax Credit Elderly Dependant Age Eligibility
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
reference:
- title: 2023 Sasktachewan Personal Tax Credits Return Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk/td1sk-23e.pdf#page=1
- title: 2023 Sasktachewan Personal Tax Credits Return Calculation Form Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-23e.pdf#page=1
- title: 2022 Sasktachewan Personal Tax Credits Return Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk/td1sk-22e.pdf#page=1
- title: 2022 Sasktachewan Sasktachewan Personal Tax Credits Return Calculation Form Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-lp-22e.pdf#page=5
- title: Sasktachewan The Income Tax Act, 2000
href: https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=13,14,16,17
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
description: Saskatchewan provides the Caregiver Tax Credit Amount for filer with infirm dependants this age or younger.
values:
2022-01-01: 18
metadata:
unit: year
label: Saskatchewan Caregiver Tax Credit Infirm Dependant Age Eligibility
reference:
- title: 2023 Sasktachewan Personal Tax Credits Return Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk/td1sk-23e.pdf#page=1
- title: 2023 Sasktachewan Personal Tax Credits Return Calculation Form Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-23e.pdf#page=1
- title: 2022 Sasktachewan Personal Tax Credits Return Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk/td1sk-22e.pdf#page=1
- title: 2022 Sasktachewan Sasktachewan Personal Tax Credits Return Calculation Form Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-lp-22e.pdf#page=5
- title: Sasktachewan The Income Tax Act, 2000
href: https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=13,14,16,17
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
description: Saskatchewan provides this caregiver amount tax credit for filers with eligible dependants.
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
values:
2022-01-01: 9_789
2023-01-01: 10_405
metadata:
unit: currency-CAD
label: Saskatchewan Caregiver Tax Credit Maximum Amount
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
reference:
- title: 2023 Sasktachewan Personal Tax Credits Return Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk/td1sk-23e.pdf#page=1
- title: 2023 Sasktachewan Personal Tax Credits Return Calculation Form Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-23e.pdf#page=1
- title: 2022 Sasktachewan Personal Tax Credits Return Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk/td1sk-22e.pdf#page=1
- title: 2022 Sasktachewan Sasktachewan Personal Tax Credits Return Calculation Form Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-lp-22e.pdf#page=5
- title: Sasktachewan The Income Tax Act, 2000
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
href: https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=13,14,16,17
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved

PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
description: Saskatchewan provides partial Caregiver Tax Credit Amount for filer with dependants whose net income is below this threshold.
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
values:
2022-01-01: 26_506
2023-01-01: 28_175
metadata:
unit: currency-CAD
label: Saskatchewan Caregiver Tax Credit Higher Income Threshold for the Dependant
reference:
- title: 2023 Sasktachewan Personal Tax Credits Return Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk/td1sk-23e.pdf#page=1
- title: 2023 Sasktachewan Personal Tax Credits Return Calculation Form Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-23e.pdf#page=1
- title: 2022 Sasktachewan Personal Tax Credits Return Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk/td1sk-22e.pdf#page=1
- title: 2022 Sasktachewan Sasktachewan Personal Tax Credits Return Calculation Form Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-lp-22e.pdf#page=5
- title: Sasktachewan The Income Tax Act, 2000
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
href: https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=13,14,16,17
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
description: Saskatchewan provides the maximum Caregiver Tax Credit Amount for filer with dependants whose net income is below this threshold.
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
values:
2022-01-01: 16_717
2023-01-01: 17_770
metadata:
unit: currency-CAD
label: Saskatchewan Caregiver Tax Credit Lower Income Threshold for the dependant
reference:
- title: 2023 Sasktachewan Personal Tax Credits Return Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk/td1sk-23e.pdf#page=1
- title: 2023 Sasktachewan Personal Tax Credits Return Calculation Form Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-23e.pdf#page=1
- title: 2022 Sasktachewan Personal Tax Credits Return Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk/td1sk-22e.pdf#page=1
- title: 2022 Sasktachewan Sasktachewan Personal Tax Credits Return Calculation Form Line9 Caregiver Amount
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-lp-22e.pdf#page=5
- title: Sasktachewan The Income Tax Act, 2000
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
href: https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=13,14,16,17

Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
- name: 2023 Do not have eligible dependants
period: 2023
input:
province_code: SK
sk_caregiver_amount_eligibility: false
individual_net_income: 10_000
output:
sk_caregiver_amount: 0

- name: 2023 Have eligible dependants with income at lower income threshold
period: 2023
input:
province_code: SK
sk_caregiver_amount_eligibility: true
individual_net_income: 17_770
output:
sk_caregiver_amount: 10_405

- name: 2023 Have eligible dependants with income below lower income threshold
period: 2023
input:
province_code: SK
sk_caregiver_amount_eligibility: true
individual_net_income: 17_669
output:
sk_caregiver_amount: 10_405

- name: 2023 Have eligible dependants with income between the lower income threshold and the higher income threshold
period: 2023
input:
province_code: SK
sk_caregiver_amount_eligibility: true
individual_net_income: 20_000
output:
sk_caregiver_amount: 8_175

- name: 2023 Have eligible dependants with income at higher income threshold
period: 2023
input:
province_code: SK
sk_caregiver_amount_eligibility: true
individual_net_income: 28_175
output:
sk_caregiver_amount: 0

- name: 2023 Have eligible dependants with income above higher income threshold
period: 2023
input:
province_code: SK
sk_caregiver_amount_eligibility: false
individual_net_income: 28_220
output:
sk_caregiver_amount: 0

- name: 2022 Have eligible dependants with income at lower income threshold
period: 2022
input:
province_code: SK
sk_caregiver_amount_eligibility: true
individual_net_income: 16_717
output:
sk_caregiver_amount: 9789

- name: 2022 Have eligible dependants with income below lower income threshold
period: 2022
input:
province_code: SK
sk_caregiver_amount_eligibility: true
individual_net_income: 15_669
output:
sk_caregiver_amount: 9789

- name: 2022 Have eligible dependants with income between the lower income threshold and the higher income threshold
period: 2022
input:
province_code: SK
sk_caregiver_amount_eligibility: true
individual_net_income: 20_000
output:
sk_caregiver_amount: 6_506

- name: 2022 Have eligible dependants with income at higher income threshold
period: 2022
input:
province_code: SK
sk_caregiver_amount_eligibility: true
individual_net_income: 26_506
output:
sk_caregiver_amount: 0

- name: 2022 Have eligible dependants with income above higher income threshold
period: 2022
input:
province_code: SK
sk_caregiver_amount_eligibility: false
individual_net_income: 28_220
output:
sk_caregiver_amount: 0

Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
- name: Have eligible infirm dependants
period: 2023
input:
province_code: SK
age: 19
is_infirm_dependant: true
is_elderly_dependant: false
individual_net_income: 15_000
output:
sk_caregiver_amount_eligibility: true

- name: Do not have eligible elderly dependants
period: 2022
input:
province_code: SK
age: 64
is_infirm_dependant: false
is_elderly_dependant: true
individual_net_income: 15_000
output:
sk_caregiver_amount_eligibility: false

- name: Do not have eligible dependants because of dependant's high net income
period: 2022
input:
province_code: SK
age: 66
is_infirm_dependant: false
is_elderly_dependant: true
individual_net_income: 26_507
output:
sk_caregiver_amount_eligibility: false

- name: Do not have eligible dependants because of dependant's high net income
period: 2024
input:
province_code: SK
age: 66
is_infirm_dependant: false
is_elderly_dependant: true
individual_net_income: 28_176
output:
sk_caregiver_amount_eligibility: false

- name: Have eligible elderly dependants
period: 2024
input:
province_code: SK
age: 66
is_infirm_dependant: false
is_elderly_dependant: true
individual_net_income: 28_174
output:
sk_caregiver_amount_eligibility: true

- name: Do not Have eligible infirm dependants
period: 2022
input:
province_code: SK
age: 15
is_infirm_dependant: true
is_elderly_dependant: false
individual_net_income: 16_716
output:
sk_caregiver_amount_eligibility: false
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from policyengine_canada.model_api import *


class is_elderly_dependant(Variable):
value_type = bool
entity = Person
label = "Is an elderly dependant"
definition_period = YEAR
reference = (
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk/td1sk-23e.pdf#page=1",
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-23e.pdf#page=1",
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk/td1sk-22e.pdf#page=1",
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-lp-22e.pdf#page=5",
"https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=13,14,16,17",
)
defined_for = ProvinceCode.SK
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from policyengine_canada.model_api import *


class is_infirm_dependant(Variable):
value_type = bool
entity = Person
label = "Is an infirm dependant"
definition_period = YEAR
reference = (
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk/td1sk-23e.pdf#page=1",
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-23e.pdf#page=1",
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk/td1sk-22e.pdf#page=1",
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-lp-22e.pdf#page=5",
"https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=13,14,16,17",
)
defined_for = ProvinceCode.SK
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
from policyengine_canada.model_api import *


class sk_caregiver_amount(Variable):
value_type = float
entity = Person
label = "Saskatchewan Caregiver Amount"
unit = CAD
definition_period = YEAR
reference = (
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk/td1sk-23e.pdf#page=1",
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-23e.pdf#page=1",
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk/td1sk-22e.pdf#page=1",
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-lp-22e.pdf#page=5",
"https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=13,14,16,17",
)
defined_for = "sk_caregiver_amount_eligibility"
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved

def formula(person, period, parameters):
p = parameters(
period
).gov.provinces.sk.tax.income.credits.sk_caregiver_amount
dependants_income = person("individual_net_income", period)
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved

return min(p.amount, p.higher_income_threshold - dependants_income)
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
from policyengine_canada.model_api import *


class sk_caregiver_amount_eligibility(Variable):
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
value_type = bool
entity = Person
label = "Saskatchewan Caregiver Amount Eligibility"
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
definition_period = YEAR
reference = (
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk/td1sk-23e.pdf#page=1",
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-23e.pdf#page=1",
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk/td1sk-22e.pdf#page=1",
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-lp-22e.pdf#page=5",
"https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=13,14,16,17",
)
defined_for = ProvinceCode.SK

def formula(person, period, parameters):
p = parameters(
period
).gov.provinces.sk.tax.income.credits.sk_caregiver_amount

PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
infirm_age_eligibility = (
person("age", period) >= p.age_threshold.infirm
)
elderly_age_eligibility = (
person("age", period) >= p.age_threshold.elderly
)

PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
infirm_eligibility = (
person("is_infirm_dependant", period) & infirm_age_eligibility
)
elderly_eligibility = (
person("is_elderly_dependant", period) & elderly_age_eligibility
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
)

PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
dependants_income = person("individual_net_income", period)
PavelMakarchuk marked this conversation as resolved.
Show resolved Hide resolved
income_eligibility = dependants_income <= p.higher_income_threshold

return income_eligibility & (infirm_eligibility | elderly_eligibility)