Skip to content

Commit

Permalink
Manitoba Education Property Tax Credit
Browse files Browse the repository at this point in the history
Fixes PolicyEngine#418
tests need to be modified
  • Loading branch information
laviniawo committed Aug 7, 2023
1 parent d957dd7 commit 6a65c53
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 29 deletions.
Original file line number Diff line number Diff line change
@@ -1,23 +1,35 @@
- name: Education property tax credit with eligible age amount
period: 2022
input:
province_code: MB
education_property_tax_received: 2_000
net_school_tax: 3_000
age: 70
adjusted_family_net_income: 100_000
days_owning_education_property: 1_825
people:
head:
age: 70
spouse:
age: 72
household:
members: [head, spouse]
province_code: MB
education_property_tax_received: 2_000
net_school_tax: 3_000
adjusted_family_net_income: 100_000
days_owning_education_property: 1_825
output:
mb_education_property_tax_credit_amount: 187.5

- name: Education property tax credit with ineligible age amount
period: 2022
input:
province_code: MB
education_property_tax_received: 2_000
net_school_tax: 3_000
age: 60
adjusted_family_net_income: 100_000
days_owning_education_property: 365
people:
head:
age: 60
spouse:
age: 62
household:
members: [head, spouse]
province_code: MB
education_property_tax_received: 2_000
net_school_tax: 3_000
adjusted_family_net_income: 100_000
days_owning_education_property: 1_825
output:
mb_education_property_tax_credit_amount: 187.5
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

class days_owning_education_property(Variable):
value_type = float
entity = Person
entity = Household
label = "Number of days at addresses of education property owned"
unit = CAD
definition_period = YEAR
Original file line number Diff line number Diff line change
Expand Up @@ -3,52 +3,55 @@

class mb_education_property_tax_credit_amount(Variable):
value_type = float
entity = Person
entity = Household
label = "Manitoba education property tax credit"
unit = CAD
definition_period = YEAR
defined_for = ProvinceCode.MB

def formula(person, period, parameters):
def formula(household, period, parameters):
p = parameters(
period
).gov.provinces.mb.tax.income.credits.education_property_tax_credit

property_tax = p.applicable_percentage * (
person("education_property_tax_received", period)
+ person("net_school_tax", period)
)
person = household.members

age = person("age", period)
age_eligible = age >= p.age_amount
age_ineligible = age < p.age_amount
age_ineligible = ~age_eligible

property_tax = p.applicable_percentage * (
household("education_property_tax_received", period)
+ household("net_school_tax", period)
)

# household net income
net_income = person("adjusted_family_net_income", period)
net_income = household("adjusted_family_net_income", period)

eligible_age_credit = age_eligible * (
eligible_age_credit = max_(1,age_eligible) * (
p.basic_credit_age_eligible
- p.family_income_applicable_rate * net_income
)
eligible_age_credit_max = max_(
eligible_age_credit, p.basic_credit_age_ineligible
)

ineligible_age_credit = age_ineligible * p.basic_credit_age_ineligible
ineligible_age_credit = max_(1,age_ineligible) * p.basic_credit_age_ineligible

time_at_education_property = (
person("days_owning_education_property", period) / p.time_amount
household("days_owning_education_property", period) / p.time_amount
)


education_property_tax_credit_amount = max_(
0,
(
min_(
ineligible_age_credit * time_at_education_property,
eligible_age_credit_max * time_at_education_property,
property_tax,
)
)
- person("education_property_tax_received", period),
- household("education_property_tax_received", period),
)

return education_property_tax_credit_amount
return household.sum(education_property_tax_credit_amount)
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

class education_property_tax_received(Variable):
value_type = float
entity = Person
entity = Household
label = "Education property taxes received"
unit = CAD
definition_period = YEAR
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

class net_school_tax(Variable):
value_type = float
entity = Person
entity = Household
label = "Net school tax paid"
unit = CAD
definition_period = YEAR

0 comments on commit 6a65c53

Please sign in to comment.