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

British Columbia Tuition and Education Credits #465

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all 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:
- British Columbia tuition and education credits.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
description: British Columbia qualifies filers for the tuition credit above this age.
values:
2022-01-01: 16
metadata:
unit: year
label: British Columbia tuition credit age eligibility
reference:
- title: British Columbia eligible tuition fees
- href: https://www.canada.ca/en/revenue-agency/services/tax/individuals/topics/about-your-tax-return/tax-return/completing-a-tax-return/deductions-credits-expenses/line-32300-your-tuition-education-textbook-amounts/eligible-tuition-fees.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
description: British Columbia divides the tax on taxable income by the lowest tax rate to calculate the tuition credit.
values:
2022-01-01: 0.0506
metadata:
unit: currency-CAD
# "appropriate percentage" for a taxation year means the lowest percentage specified in section 4.1 (1)
# that is applicable in determining tax payable under this Act for the year
label: British Columbia lowest tax rate # appropriate percentage
reference:
- title: 2023 British Columbia income tax act § 4.6
href: https://www.bclaws.gov.bc.ca/civix/document/id/complete/statreg/96215_00_multi#section4.6
- title: 2022 British Columbia tuition and education amounts, BC(S11)
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/5004-s11/5004-s11-22e.pdf#page=1
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
description: British Columbia taxes individuals based on their income at a progressive rate.
brackets:
- threshold:
2022-01-01: 0
rate:
2022-01-01: 0.0506
- threshold:
2022-01-01: 43_070
rate:
2022-01-01: 0.077
- threshold:
2022-01-01: 86_141
rate:
2022-01-01: 0.105
- threshold:
2022-01-01: 98_901
rate:
2022-01-01: 0.1229
- threshold:
2022-01-01: 120_094
rate:
2022-01-01: 0.147
- threshold:
2022-01-01: 162_832
rate:
2022-01-01: 0.168
- threshold:
2022-01-01: 227_091
rate:
2022-01-01: 0.205


metadata:
type: marginal_rate
threshold_unit: currency-CAD
rate_unit: /1
label: British Columbia tax brackets rate
reference:
- title: 2023 British Columbia income tax act § 4.1
href: https://www.bclaws.gov.bc.ca/civix/document/id/complete/statreg/96215_00_multi#section4.1
- title: 2022 British Columbia tuition and education amounts, Schedule BC(S11)
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/5010-s11/5010-s11-22e.pdf#page=1
- title: 2022 British Columbia Tax, BC428
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/5010-c/5010-c-22e.pdf#page=1
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
description: British Columbia qualifies filers for the tuition tax credit with tuition expenses above this amount.
values:
2022-01-01: 100
metadata:
unit: currency-CAD
period: year
label: British Columbia tuition credit tuition threshold
reference:
- title: 2023 British Columbia Personal Tax Credits Return, TD1BC
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1nb/td1nb-23e.pdf#page=1
# The tuition credit section of British Columbia income act refered to section 118.5 of federal act
- title: 2023 Canada Income Tac Act § 118.5(1.1)
href: https://laws-lois.justice.gc.ca/PDF/I-3.3.pdf#page=1566
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
- name: Lowest tax on taxable income threshold
period: 2023
absolute_error_margin: 0.01
input:
bc_taxable_income: 44_887
bc_comprehensive_tax_credits: 20_000
tuition_expenses: 10_000
output:
bc_tuition_credit: 10_000

- name: Second tax on taxable income threshold
period: 2023
absolute_error_margin: 0.01
input:
bc_taxable_income: 54_887
bc_comprehensive_tax_credits: 20_000
tuition_expenses: 10_000
output:
bc_tuition_credit: 10_000

- name: Third tax on taxable income threshold
period: 2023
absolute_error_margin: 0.01
input:
bc_taxable_income: 139_775
bc_comprehensive_tax_credits: 20_000
tuition_expenses: 50_000
output:
bc_tuition_credit: 50_000

- name: Fourth tax on taxable income threshold
period: 2023
absolute_error_margin: 0.01
input:
bc_taxable_income: 145_965
bc_comprehensive_tax_credits: 100_000
tuition_expenses: 150_000
output:
bc_tuition_credit: 150_000

- name: Highest tax on taxable income threshold
period: 2023
absolute_error_margin: 0.01
input:
bc_taxable_income: 167_280
bc_comprehensive_tax_credits: 100_000
tuition_expenses: 160_000
output:
bc_tuition_credit: 160_000
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
- name: Age eligible and tuition ineligible
period: 2023
input:
province_code: BC
age: 17
tuition_expenses: 50
output:
bc_tuition_credit_eligibility: false

- name: Age eligible and tuition eligible
period: 2023
input:
province_code: BC
age: 16
tuition_expenses: 101
output:
bc_tuition_credit_eligibility: true

- name: Age ineligible and tuition eligible
period: 2023
input:
province_code: BC
age: 10
tuition_expenses: 200
output:
bc_tuition_credit_eligibility: false

- name: Age ineligible and tuition ineligible
period: 2023
input:
province_code: BC
age: 10
tuition_expenses: 30
output:
bc_tuition_credit_eligibility: false
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
from policyengine_canada.model_api import *


class bc_comprehensive_tax_credits(Variable):
value_type = float
entity = Person
label = "British Columbia comprehensive tax credits"
unit = CAD
definition_period = YEAR
reference = (
# C is the smaller of the value of "B" and the amount that would be the individual's tax payable under
# this Act for the year if the only amounts deductible were the amounts under the following sections:
# (a) section 4.3 [personal credits];
# (b) section 4.31 [age credit];
# (c) section 4.32 [pension credit];
# (c.1) section 4.33 [adoption expense credit];
# (c.2) and (c.21) [Repealed 2017-12-30.]
# (c.3) [Repealed 2017-12-30.]
# (c.31) [Repealed 2017-12-29.]
# (c.4) section 4.36 [BC education coaching tax credit];
# (c.5) section 4.37 [tax credit for volunteer firefighters and search and rescue volunteers];
# (d) section 4.51 [credit for mental or physical impairment];
# (e) section 4.64 [credit for EI premium and CPP contribution],
"https://www.bclaws.gov.bc.ca/civix/document/id/complete/statreg/96215_00_multi#section4.62", # § 4.62
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/5010-c/5010-c-22e.pdf#page=1", # Line 40
)
defined_for = ProvinceCode.BC
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
from policyengine_canada.model_api import *


class bc_tuition_credit(Variable):
value_type = float
entity = Person
label = "British Columbia tuition credit"
definition_period = YEAR
defined_for: "bc_tuition_credit_eligibility"
reference = (
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/5010-s11/5010-s11-22e.pdf#page=1", # BC(S11) line 10
"https://www.bclaws.gov.bc.ca/civix/document/id/complete/statreg/96215_00_multi#section4.62", # section 4.62
)

def formula(person, period, parameters):
age = person("age", period)
tuition = person("tuition_expenses", period)
taxable_income = person("bc_taxable_income", period)
comprehensive_tax_credits = person(
"bc_comprehensive_tax_credits", period
)
p = parameters(
period
).gov.provinces.bc.tax.income.credits.tuition_amount
net_income = max_(taxable_income - comprehensive_tax_credits, 0)
tax_on_taxable_income = p.tax_bracket_rate.calc(taxable_income)
net_tax = max_(
(tax_on_taxable_income / p.lowest_tax_rate)
- comprehensive_tax_credits,
0,
)
return select(
[
taxable_income <= p.tax_bracket_rate.thresholds[1],
taxable_income > p.tax_bracket_rate.thresholds[1],
],
[
min_(net_income, tuition),
min_(net_tax, tuition),
],
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
from policyengine_canada.model_api import *


class bc_tuition_credit_eligibility(Variable):
value_type = bool
entity = Person
label = "Eligibility for the British Columbia tuition credit"
definition_period = YEAR
reference = (
"https://www.canada.ca/en/revenue-agency/services/tax/individuals/topics/about-your-tax-return/tax-return/completing-a-tax-return/deductions-credits-expenses/line-32300-your-tuition-education-textbook-amounts/eligible-tuition-fees.html", # Tuition Amount
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/td1nb/td1nb-23e.pdf#page=1",
"https://laws-lois.justice.gc.ca/PDF/I-3.3.pdf#page=1566", # Line 4
)
defined_for = ProvinceCode.BC

def formula(person, period, parameters):
p = parameters(
period
).gov.provinces.bc.tax.income.credits.tuition_amount
age = person("age", period)
tuition = person("tuition_expenses", period)
return (age >= p.eligible_age) & (tuition >= p.tuition_threshold)