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 Dividend Tax Credit #457

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
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 dividend tax credit.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
description: Saskatchewan multiplies the eligible taxable amount of dividends under the total dividend tax credit by this amount.
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
values:
2022-01-01: 0.11
metadata:
unit: /1
period: year
label: Saskatchewan dividend tax credit eligible dividends fraction
reference:
- title: 5008-D Worksheet SK428 - Saskatchewan 2022
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/5008-d/5008-d-22e.pdf#page=3
- title: Saskatchewan The Income Tax Act, 2000, Dividend credit, c25, s.13; 2020, c3-29*, s.3; 2022, c46, s.3.
href: https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=31
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
description: Saskatchewan multiplies the other than eligible taxable amount of dividends under the total dividend tax credit by this amount.
values:
2022-01-01: 0.01695
metadata:
unit: /1
period: year
label: Saskatchewan dividend tax credit other than eligible dividends fraction
reference:
- title: 5008-D Worksheet SK428 - Saskatchewan 2022
href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/5008-d/5008-d-22e.pdf#page=3
- title: Saskatchewan The Income Tax Act, 2000, Dividend credit, c25, s.13; 2020, c3-29*, s.3; 2022, c46, s.3.
href: https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=31
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
- name: 2022 Saskatchewan Dividend Tax Credit Test 1
period: 2022
input:
province_code: SK
taxable_dividend_income: 15_000
tax_exempt_dividend_income: 1_000
output:
sk_dividend_tax_credit: 1556.95

- name: 2022 Saskatchewan Dividend Tax Credit Test 2
period: 2022
input:
province_code: SK
taxable_dividend_income: 20_000
tax_exempt_dividend_income: 2_000
output:
sk_dividend_tax_credit: 2013.9

- name: 2022 Saskatchewan Dividend Tax Credit Test 3
period: 2022
input:
province_code: SK
taxable_dividend_income: 28_000
tax_exempt_dividend_income: 2_800
output:
sk_dividend_tax_credit: 2819.46

- name: 2022 Saskatchewan Dividend Tax Credit Test 4
period: 2022
input:
province_code: SK
taxable_dividend_income: 30_000
tax_exempt_dividend_income: 3_800
output:
sk_dividend_tax_credit: 2946.41
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
from policyengine_canada.model_api import *


class sk_dividend_tax_credit(Variable):
value_type = float
entity = Person
label = "Saskatchewan Dividend Tax Credit"
unit = CAD
definition_period = YEAR
reference = "https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/5008-d/5008-d-22e.pdf#page=3"
defined_for = ProvinceCode.SK

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

taxable_dividends = person("taxable_dividend_income", period)
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
other_than_eligible_taxable_dividends = person(
"tax_exempt_dividend_income", period
)

reduced_taxable_dividends = max_(
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
taxable_dividends - other_than_eligible_taxable_dividends, 0
)
credits_on_eligible_taxable_dividends = (
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
reduced_taxable_dividends * p.eligible
)

credits_on_other_than_eligible_taxable_dividends = (
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
other_than_eligible_taxable_dividends * p.other_than_eligible
)

return (
credits_on_eligible_taxable_dividends
+ credits_on_other_than_eligible_taxable_dividends
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from policyengine_canada.model_api import *


class tax_exempt_dividend_income(Variable):
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
value_type = float
entity = Person
label = "Taxable Dividends (Other Than Eligible)"
unit = CAD
definition_period = YEAR
reference = "https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=31"
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from policyengine_canada.model_api import *


class taxable_dividend_income(Variable):
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved
value_type = float
entity = Person
label = "Total taxable dividends (eligible and other than eligible)"
unit = CAD
definition_period = YEAR
reference = "https://pubsaskdev.blob.core.windows.net/pubsask-prod/806/I2-01.pdf#page=31"
Yaohhhh marked this conversation as resolved.
Show resolved Hide resolved