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 Amount for infirm dependants #413

Open
wants to merge 19 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 14 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions changelog_entry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- bump: minor
changes:
added:
- Saskatchewan infirm dependant amount.
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
description: Saskatchewan qualifies dependants for the infirm dependant tax credit above this age.
values:
2022-01-01: 18
metadata:
unit: year
label: Saskatchewan infirm dependants tax credit age threshold
period: year
reference:
- title: 2023 Sasktachewan Personal Tax Credits Return Line10 Amount for infirm dependants age 18 or older
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 Line10 Amount for infirm dependants age 18 or older
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 Line10 Amount for infirm dependants age 18 or older
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 Line10 Amount for infirm dependants age 18 or older
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-lp-22e.pdf#page=6
- title: Sasktachewan The Income Tax Act, 2000#2020, c25, s.5.
href: https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=13 #page=14,15
Yaohhhh 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 allows for this maximum infirm dependant tax credit amount.
values:
2022-01-01: 9_789
2023-01-01: 10_405
metadata:
unit: currency-CAD
label: Saskatchewan infirm dependants tax credit maximum amount
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
period: year
reference:
- title: 2023 Sasktachewan Personal Tax Credits Return Line10 Amount for infirm dependants age 18 or older
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 Line10 Amount for infirm dependants age 18 or older
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 Line10 Amount for infirm dependants age 18 or older
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 Line10 Amount for infirm dependants age 18 or older
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-lp-22e.pdf#page=6
- title: Sasktachewan The Income Tax Act, 2000#2020, c25, s.5.
href: https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=13 #page=14,15
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 reduces the maximum infirm dependants tax credit amount by the difference of this threshold and the dependants income.
values:
2022-01-01: 16_734
2023-01-01: 17_788
metadata:
unit: currency-CAD
label: Saskatchewan infirm dependants tax credit higher income threshold
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
period: year
reference:
- title: 2023 Sasktachewan Personal Tax Credits Return Line10 Amount for infirm dependants age 18 or older
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 Line10 Amount for infirm dependants age 18 or older
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 Line10 Amount for infirm dependants age 18 or older
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 Line10 Amount for infirm dependants age 18 or older
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-lp-22e.pdf#page=6
- title: Sasktachewan The Income Tax Act, 2000#2020, c25, s.5.
href: https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=13 #page=14,15
Yaohhhh 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 reduces the infirm dependants tax credit amount for dependants with net income above this threshold.
values:
2022-01-01: 6_945
2023-01-01: 7_383
metadata:
unit: currency-CAD
label: Saskatchewan infirm dependants tax credit lower income threshold
period: year
reference:
- title: 2023 Sasktachewan Personal Tax Credits Return Line10 Amount for infirm dependants age 18 or older
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 Line10 Amount for infirm dependants age 18 or older
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 Line10 Amount for infirm dependants age 18 or older
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 Line10 Amount for infirm dependants age 18 or older
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1sk-ws/td1sk-ws-lp-22e.pdf#page=6
- title: Sasktachewan The Income Tax Act, 2000#2020, c25, s.5.
href: https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=13 #page=14,15
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
- name: Do not have eligible dependants
period: 2023
input:
province_code: SK
sk_infirm_dependant_amount_eligible_person: false
dependant_income: 10_000
output:
sk_infirm_dependant_amount: 0

- name: 2023 Have eligible dependants with income at lower income threshold
period: 2023
input:
province_code: SK
sk_infirm_dependant_amount_eligible_person: true
dependant_income: 7_383
output:
sk_infirm_dependant_amount: 10_405

- name: 2023 Have eligible dependants with income below lower income threshold
period: 2023
input:
province_code: SK
sk_infirm_dependant_amount_eligible_person: true
dependant_income: 7_382
output:
sk_infirm_dependant_amount: 10_405

- name: 2023 Have eligible dependants with income between lower and higher income threshold
period: 2023
input:
province_code: SK
sk_infirm_dependant_amount_eligible_person: true
dependant_income: 10_000
output:
sk_infirm_dependant_amount: 7_788

- name: 2023 Have eligible dependants with income at higher income threshold
period: 2023
input:
province_code: SK
sk_infirm_dependant_amount_eligible_person: true
dependant_income: 17_788
output:
sk_infirm_dependant_amount: 0

- name: 2023 Have eligible dependants with income above higher income threshold
period: 2023
input:
province_code: SK
sk_infirm_dependant_amount_eligible_person: true
dependant_income: 17_789
output:
sk_infirm_dependant_amount: 0

- name: 2022 Have eligible dependants with income at lower income threshold
period: 2022
input:
province_code: SK
sk_infirm_dependant_amount_eligible_person: true
dependant_income: 6_945
output:
sk_infirm_dependant_amount: 9_789

- name: 2022 Have eligible dependants with income below lower income threshold
period: 2022
input:
province_code: SK
sk_infirm_dependant_amount_eligible_person: true
dependant_income: 6_944
output:
sk_infirm_dependant_amount: 9_789

- name: 2022 Have eligible dependants with income between lower and higher income threshold
period: 2022
input:
province_code: SK
sk_infirm_dependant_amount_eligible_person: true
dependant_income: 10_000
output:
sk_infirm_dependant_amount: 6_734

- name: 2022 Have eligible dependants with income at higher income threshold
period: 2022
input:
province_code: SK
sk_infirm_dependant_amount_eligible_person: true
dependant_income: 16_734
output:
sk_infirm_dependant_amount: 0

- name: 2022 Have eligible dependants with income above higher income threshold
period: 2022
input:
province_code: SK
sk_infirm_dependant_amount_eligible_person: true
dependant_income: 16_735
output:
sk_infirm_dependant_amount: 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
- name: 2023 Have duplicate eligible infirm dependants - non eligible
period: 2023
input:
province_code: SK
age: 19
is_child_of_filer: true
is_disabled: true
dependant_income: 15_000
sk_caregiver_amount: 10_405
output:
sk_infirm_dependant_amount_eligible_person: false

- name: 2022 Have duplicate eligible infirm dependants - non eligible
period: 2022
input:
province_code: SK
age: 19
is_child_of_filer: true
is_disabled: true
dependant_income: 15_000
sk_caregiver_amount: 9_789
output:
sk_infirm_dependant_amount_eligible_person: false

- name: Have infirm dependants below the age threshold - non eligible
period: 2023
input:
province_code: SK
age: 17
is_child_of_filer: true
is_disabled: true
dependant_income: 15_000
sk_caregiver_amount: 0
output:
sk_infirm_dependant_amount_eligible_person: false

- name: Have no dependants - non eligible
period: 2023
input:
province_code: SK
age: 0
is_child_of_filer: false
is_disabled: true
dependant_income: 15_000
sk_caregiver_amount: 0
output:
sk_infirm_dependant_amount_eligible_person: false

- name: Have non-disabled dependants - non eligible
period: 2023
input:
province_code: SK
age: 20
is_child_of_filer: true
is_disabled: false
dependant_income: 15_000
sk_caregiver_amount: 0
output:
sk_infirm_dependant_amount_eligible_person: false

- name: 2023 Infirm dependants' income is above higher income threshold - non eligible
period: 2023
input:
province_code: SK
age: 20
is_child_of_filer: true
is_disabled: true
dependant_income: 17_789
sk_caregiver_amount: 0
output:
sk_infirm_dependant_amount_eligible_person: false

- name: 2022 Infirm dependants' income is above higher income threshold - non eligible
period: 2022
input:
province_code: SK
age: 20
is_child_of_filer: true
is_disabled: true
dependant_income: 16_735
sk_caregiver_amount: 0
output:
sk_infirm_dependant_amount_eligible_person: false

- name: 2023 Have eligible infirm dependant
period: 2023
input:
province_code: SK
age: 21
is_child_of_filer: true
is_disabled: true
dependant_income: 7_382
sk_caregiver_amount: 0
output:
sk_infirm_dependant_amount_eligible_person: true

- name: 2022 Have eligible infirm dependant
period: 2022
input:
province_code: SK
age: 19
is_child_of_filer: true
is_disabled: true
dependant_income: 6_944
sk_caregiver_amount: 0
output:
sk_infirm_dependant_amount_eligible_person: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
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", # page=14,16,17
)
defined_for = ProvinceCode.SK
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from policyengine_canada.model_api import *


class sk_infirm_dependant_amount(Variable):
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
value_type = float
entity = Person
label = "Saskatchewan Infirm Dependant 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=6",
"https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=13 #page=14,15",
)
defined_for = "sk_infirm_dependant_amount_eligible_person"

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

dependant_income = person("dependant_income", period)
income_differences = max_(
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
0, p.income_threshold.higher - dependant_income
)

return min_(p.amount, income_differences)
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
from policyengine_canada.model_api import *


class sk_infirm_dependant_amount_eligible_person(Variable):
value_type = bool
entity = Person
label = "Eligible person for the Saskatchewan Infirm Dependants Amount"
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=6",
"https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=13 #page=14,15",
)
defined_for = ProvinceCode.SK

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

age = person("age", period)
dependant = person("is_child_of_filer", period)
disabled = person("is_disabled", period)

is_infirm_dependant = dependant & disabled
infirm_age_eligibility = age >= p.age_threshold
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved

infirm_eligibility = is_infirm_dependant & infirm_age_eligibility
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved

dependants_income = person("dependant_income", period)
income_eligibility = dependants_income <= p.income_threshold.higher

caregiver_amount_eligible = person("sk_caregiver_amount", period) == 0

return (
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
infirm_eligibility & income_eligibility & caregiver_amount_eligible
)
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
Loading