Skip to content

Commit

Permalink
Nova Scotia Basic Personal Amount
Browse files Browse the repository at this point in the history
Fixes format PolicyEngine#395
  • Loading branch information
okeyiii committed Jul 31, 2023
1 parent f13d546 commit ce10cc0
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 11 deletions.
1 change: 1 addition & 0 deletions changelog_entry.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
changes:
added:
- Chage names to proper expressions for title, label, reference and folder.
- Make format.

Original file line number Diff line number Diff line change
Expand Up @@ -7,29 +7,35 @@ class ns_basic_personal_credits(Variable):
label = "Nova Scotia Basic Personal Amount"
definition_period = YEAR
defined_for = ProvinceCode.NS
reference = ("https://hr.acadiau.ca/files/sites/hr/Payroll/Pensions%20&%20Benefits/NS_TD1_2022.pdf",
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/5003-d/5003-d-22e.pdf")
reference = (
"https://hr.acadiau.ca/files/sites/hr/Payroll/Pensions%20&%20Benefits/NS_TD1_2022.pdf",
"https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/5003-d/5003-d-22e.pdf",
)

def formula(person, period, parameters):
p = parameters(
period
).gov.provinces.ns.tax.income.credits.ns_basic_personal_amount
taxable_income = person("total_individual_pre_tax_income", period)

# Income Condition
lower_income_condition = (taxable_income <= p.lower_income_threshold)
medium_income_condition = (p.lower_income_threshold
< taxable_income
< p.higher_income_threshold)
higher_income_condition = (taxable_income >= p.higher_income_threshold)
lower_income_condition = taxable_income <= p.lower_income_threshold
medium_income_condition = (
p.lower_income_threshold
< taxable_income
< p.higher_income_threshold
)
higher_income_condition = taxable_income >= p.higher_income_threshold

# Basic Personal Amount
lower_basic_personal_amount = p.additional_amount + p.basic_amount
medium_basic_personal_amount = p.basic_amount + 3000 - p.applicable_rate * (taxable_income - p.lower_income_threshold)
medium_basic_personal_amount = (
p.basic_amount
+ 3000
- p.applicable_rate * (taxable_income - p.lower_income_threshold)
)
higher_basic_personal_amount = p.basic_amount



return select(
[
lower_income_condition,
Expand Down

0 comments on commit ce10cc0

Please sign in to comment.