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 16 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 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 wuth 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
sk_caregiver_amount: 10_405
dependant_income: 16_734
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
sk_caregiver_amount: 9_789
dependant_income: 16_734
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
sk_caregiver_amount: 0
dependant_income: 16_734
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
sk_caregiver_amount: 0
dependant_income: 16_734
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
sk_caregiver_amount: 0
dependant_income: 16_734
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
sk_caregiver_amount: 0
dependant_income: 16_734
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
sk_caregiver_amount: 0
dependant_income: 16_734
output:
sk_infirm_dependant_amount_eligible_person: true

- name: 2022 Income higher than the higher income threshold
period: 2022
input:
province_code: SK
age: 19
is_child_of_filer: true
is_disabled: true
sk_caregiver_amount: 0
dependant_income: 17_789
output:
sk_infirm_dependant_amount_eligible_person: false

- name: 2023 Income higher than the higher income threshold
period: 2023
input:
province_code: SK
age: 19
is_child_of_filer: true
is_disabled: true
sk_caregiver_amount: 0
dependant_income: 17_789
output:
sk_infirm_dependant_amount_eligible_person: false
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,34 @@
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
)
infirm_credit_amount = select(
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
dependant_income > p.income_threshold.lower,
min_(income_differences, p.amount),
Copy link
Collaborator

@PavelMakarchuk PavelMakarchuk Dec 7, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
min_(income_differences, p.amount),
reduced_income,

p.amount,
)

return infirm_credit_amount
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
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

caregiver_amount_eligible = person("sk_caregiver_amount", period) == 0
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved

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

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