diff --git a/changelog_entry.yaml b/changelog_entry.yaml index e69de29bb..81805a4df 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -0,0 +1,4 @@ +- bump: minor + changes: + added: + - Manitoba education property tax credit amount. diff --git a/policyengine_canada/parameters/gov/provinces/mb/tax/income/credits/education_property_tax_credit/age_amount.yaml b/policyengine_canada/parameters/gov/provinces/mb/tax/income/credits/education_property_tax_credit/age_amount.yaml new file mode 100644 index 000000000..1b1f1c1d6 --- /dev/null +++ b/policyengine_canada/parameters/gov/provinces/mb/tax/income/credits/education_property_tax_credit/age_amount.yaml @@ -0,0 +1,9 @@ +description: Manitoba provides different tax credits according to different age groups. +values: + 2022-01-01: 65 +metadata: + unit: year + label: Manitoba tax credit diference with people with different ages + reference: + - title: Manitoba Information Guide Manitoba Credits Form MB479 + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/5007-tc/5007-tc-22e.pdf # page=2 diff --git a/policyengine_canada/parameters/gov/provinces/mb/tax/income/credits/education_property_tax_credit/applicable_percentage.yaml b/policyengine_canada/parameters/gov/provinces/mb/tax/income/credits/education_property_tax_credit/applicable_percentage.yaml new file mode 100644 index 000000000..72acee11d --- /dev/null +++ b/policyengine_canada/parameters/gov/provinces/mb/tax/income/credits/education_property_tax_credit/applicable_percentage.yaml @@ -0,0 +1,9 @@ +description: Manitoba provides this specific percentage rate to education property tax credit. +values: + 2022-01-01: 0.625 +metadata: + unit: currency-CAD + label: Manitoba education property tax credit rate + reference: + - title: Manitoba Information Guide Manitoba Credits Form MB479 + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/5007-tc/5007-tc-22e.pdf #page=2 diff --git a/policyengine_canada/parameters/gov/provinces/mb/tax/income/credits/education_property_tax_credit/basic_credit_age_eligible.yaml b/policyengine_canada/parameters/gov/provinces/mb/tax/income/credits/education_property_tax_credit/basic_credit_age_eligible.yaml new file mode 100644 index 000000000..12298cd28 --- /dev/null +++ b/policyengine_canada/parameters/gov/provinces/mb/tax/income/credits/education_property_tax_credit/basic_credit_age_eligible.yaml @@ -0,0 +1,9 @@ +description: Manitoba provides this basic credit amount for either the head or the spouse having age of older than or equal to 65. +values: + 2022-01-01: 687.5 +metadata: + unit: currency-CAD + label: Manitoba basic credit amount of education property tax for either the head or the spouse having eligible age + reference: + - title: Manitoba Information Guide Manitoba Credits Form MB479 + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/5007-tc/5007-tc-22e.pdf #page=2 diff --git a/policyengine_canada/parameters/gov/provinces/mb/tax/income/credits/education_property_tax_credit/basic_credit_age_ineligible.yaml b/policyengine_canada/parameters/gov/provinces/mb/tax/income/credits/education_property_tax_credit/basic_credit_age_ineligible.yaml new file mode 100644 index 000000000..4468639db --- /dev/null +++ b/policyengine_canada/parameters/gov/provinces/mb/tax/income/credits/education_property_tax_credit/basic_credit_age_ineligible.yaml @@ -0,0 +1,9 @@ +description: Manitoba provides this basic credit amount for both head and spouse having age of younger than 65. +values: + 2022-01-01: 437.5 +metadata: + unit: currency-CAD + label: Manitoba basic credit amount of education property tax for both head and spouse having ineligible age + reference: + - title: Manitoba Information Guide Manitoba Credits Form MB479 + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/5007-tc/5007-tc-22e.pdf #page=2 diff --git a/policyengine_canada/parameters/gov/provinces/mb/tax/income/credits/education_property_tax_credit/family_income_applicable_rate.yaml b/policyengine_canada/parameters/gov/provinces/mb/tax/income/credits/education_property_tax_credit/family_income_applicable_rate.yaml new file mode 100644 index 000000000..6afb558ca --- /dev/null +++ b/policyengine_canada/parameters/gov/provinces/mb/tax/income/credits/education_property_tax_credit/family_income_applicable_rate.yaml @@ -0,0 +1,9 @@ +description: Manitoba provides this specific percentage rate to family income. +values: + 2022-01-01: 0.00625 +metadata: + unit: currency-CAD + label: Manitoba family income rate percentage + reference: + - title: Manitoba Information Guide Manitoba Credits Form MB479 + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/5007-tc/5007-tc-22e.pdf #page=1 & page=2 diff --git a/policyengine_canada/parameters/gov/provinces/mb/tax/income/credits/education_property_tax_credit/time_amount.yaml b/policyengine_canada/parameters/gov/provinces/mb/tax/income/credits/education_property_tax_credit/time_amount.yaml new file mode 100644 index 000000000..3a512c003 --- /dev/null +++ b/policyengine_canada/parameters/gov/provinces/mb/tax/income/credits/education_property_tax_credit/time_amount.yaml @@ -0,0 +1,9 @@ +description: Manitoba provides the certain time amount for education property tax credit calculations. +values: + 2022-01-01: 365 +metadata: + unit: year + label: Manitoba time amount for education property tax credit calculations + reference: + - title: Manitoba Information Guide Manitoba Credits Form MB479 + href: https://www.canada.ca/content/dam/cra-arc/formspubs/pbg/5007-tc/5007-tc-22e.pdf # page=2 diff --git a/policyengine_canada/tests/gov/provinces/mb/tax/income/credits/education_property_tax_credit/mb_education_property_tax_credit_amount.yaml b/policyengine_canada/tests/gov/provinces/mb/tax/income/credits/education_property_tax_credit/mb_education_property_tax_credit_amount.yaml new file mode 100644 index 000000000..f7b91dc98 --- /dev/null +++ b/policyengine_canada/tests/gov/provinces/mb/tax/income/credits/education_property_tax_credit/mb_education_property_tax_credit_amount.yaml @@ -0,0 +1,35 @@ +- name: Education property tax credit with eligible age amount + period: 2022 + input: + 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: + 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 diff --git a/policyengine_canada/variables/gov/provinces/mb/tax/income/credits/education_property_tax_credit/days_owning_education_property.py b/policyengine_canada/variables/gov/provinces/mb/tax/income/credits/education_property_tax_credit/days_owning_education_property.py new file mode 100644 index 000000000..a94b5f74c --- /dev/null +++ b/policyengine_canada/variables/gov/provinces/mb/tax/income/credits/education_property_tax_credit/days_owning_education_property.py @@ -0,0 +1,9 @@ +from policyengine_canada.model_api import * + + +class days_owning_education_property(Variable): + value_type = float + entity = Household + label = "Number of days at addresses of education property owned" + unit = CAD + definition_period = YEAR diff --git a/policyengine_canada/variables/gov/provinces/mb/tax/income/credits/education_property_tax_credit/education_property_tax_credit_amount.py b/policyengine_canada/variables/gov/provinces/mb/tax/income/credits/education_property_tax_credit/education_property_tax_credit_amount.py new file mode 100644 index 000000000..88b68acdb --- /dev/null +++ b/policyengine_canada/variables/gov/provinces/mb/tax/income/credits/education_property_tax_credit/education_property_tax_credit_amount.py @@ -0,0 +1,57 @@ +from policyengine_canada.model_api import * + + +class mb_education_property_tax_credit_amount(Variable): + value_type = float + entity = Household + label = "Manitoba education property tax credit" + unit = CAD + definition_period = YEAR + defined_for = ProvinceCode.MB + + def formula(household, period, parameters): + p = parameters( + period + ).gov.provinces.mb.tax.income.credits.education_property_tax_credit + + person = household.members + + age = person("age", period) + age_eligible = 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 = household("adjusted_family_net_income", period) + + 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 = max_(1,age_ineligible) * p.basic_credit_age_ineligible + + time_at_education_property = ( + household("days_owning_education_property", period) / p.time_amount + ) + + + education_property_tax_credit_amount = max_( + 0, + ( + min_( + eligible_age_credit_max * time_at_education_property, + property_tax, + ) + ) + - household("education_property_tax_received", period), + ) + + return household.sum(education_property_tax_credit_amount) diff --git a/policyengine_canada/variables/gov/provinces/mb/tax/income/credits/education_property_tax_credit/education_property_tax_received.py b/policyengine_canada/variables/gov/provinces/mb/tax/income/credits/education_property_tax_credit/education_property_tax_received.py new file mode 100644 index 000000000..ce2a147f3 --- /dev/null +++ b/policyengine_canada/variables/gov/provinces/mb/tax/income/credits/education_property_tax_credit/education_property_tax_received.py @@ -0,0 +1,9 @@ +from policyengine_canada.model_api import * + + +class education_property_tax_received(Variable): + value_type = float + entity = Household + label = "Education property taxes received" + unit = CAD + definition_period = YEAR diff --git a/policyengine_canada/variables/gov/provinces/mb/tax/income/credits/education_property_tax_credit/net_school_tax.py b/policyengine_canada/variables/gov/provinces/mb/tax/income/credits/education_property_tax_credit/net_school_tax.py new file mode 100644 index 000000000..db54a2758 --- /dev/null +++ b/policyengine_canada/variables/gov/provinces/mb/tax/income/credits/education_property_tax_credit/net_school_tax.py @@ -0,0 +1,9 @@ +from policyengine_canada.model_api import * + + +class net_school_tax(Variable): + value_type = float + entity = Household + label = "Net school tax paid" + unit = CAD + definition_period = YEAR