-
Notifications
You must be signed in to change notification settings - Fork 35
British Columbia Tuition and Education Credits #465
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
Open
YiweiJ
wants to merge
4
commits into
PolicyEngine:master
Choose a base branch
from
YiweiJ:YiweiJ/issue463
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 3 commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| - bump: minor | ||
| changes: | ||
| added: | ||
| - British Columbia tuition and education credits. |
9 changes: 9 additions & 0 deletions
9
...ne_canada/parameters/gov/provinces/bc/tax/income/credits/tuition_amount/eligible_age.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |
13 changes: 13 additions & 0 deletions
13
...canada/parameters/gov/provinces/bc/tax/income/credits/tuition_amount/lowest_tax_rate.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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: New Brunswick 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 | ||
44 changes: 44 additions & 0 deletions
44
...anada/parameters/gov/provinces/bc/tax/income/credits/tuition_amount/tax_bracket_rate.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |
13 changes: 13 additions & 0 deletions
13
...nada/parameters/gov/provinces/bc/tax/income/credits/tuition_amount/tuition_threshold.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |
49 changes: 49 additions & 0 deletions
49
...ne_canada/tests/gov/provinces/bc/tax/income/credits/tuition_amount/bc_tuition_credit.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |
35 changes: 35 additions & 0 deletions
35
...sts/gov/provinces/bc/tax/income/credits/tuition_amount/bc_tuition_credit_eligibility.yaml
|
YiweiJ marked this conversation as resolved.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |
27 changes: 27 additions & 0 deletions
27
...iables/gov/provinces/bc/tax/income/credits/tuition_amount/bc_comprehensive_tax_credits.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |
41 changes: 41 additions & 0 deletions
41
..._canada/variables/gov/provinces/bc/tax/income/credits/tuition_amount/bc_tuition_credit.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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), | ||
| ], | ||
| ) |
22 changes: 22 additions & 0 deletions
22
...ables/gov/provinces/bc/tax/income/credits/tuition_amount/bc_tuition_credit_eligibility.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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) |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.