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

South Carolina sales tax cut for people age 85 and older #5428

Open
wants to merge 9 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:
- South Carolina sales and use tax, general and elderly.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
description: South Carolina provides a lower state sales and use tax rate for filers of this age and older.
values:
2021-01-01: 85

metadata:
unit: year
period: year
label: South Carolina sales and use tax exclusion age threshold
reference:
- title: SC REVENUE RULING 08-5
href: https://dor.sc.gov/resources-site/lawandpolicy/Advisory%20Opinions/RR08-5.pdf#page=2
- title: SC State Sales and Use Tax Return ST-3 Instructions
href: https://dor.sc.gov/forms-site/Forms/ST3I.pdf#page=5
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
description: South Carolina excludes the following percentage of the sales and use tax for elderly filers.
metadata:
unit: /1
label: South Carolina sales and use tax senior exclusion percentage
reference:
- title: SC REVENUE RULING 08-5
href: https://dor.sc.gov/resources-site/lawandpolicy/Advisory%20Opinions/RR08-5.pdf#page=2
- title: SC State Sales and Use Tax Return ST-3 Instructions
href: https://dor.sc.gov/forms-site/Forms/ST3I.pdf#page=5

values:
2021-01-01: 0.01
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
description: South Carolina imposes a general sales and use tax rate of this amount.
metadata:
unit: /1
period: year
label: South Carolina sales and use tax rate
reference:
- title: SC REVENUE RULING 08-5
href: https://dor.sc.gov/resources-site/lawandpolicy/Advisory%20Opinions/RR08-5.pdf#page=1
- title: SC State Sales and Use Tax Return ST-3
href: https://dor.sc.gov/forms-site/Forms/ST3.pdf#page=2

values:
2021-01-01: 0.06
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@


def create_family_security_act_2024_eitc() -> Reform:

class eitc_maximum(Variable):
value_type = float
entity = TaxUnit
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@


def create_second_earner_tax() -> Reform:

class is_primary_earner(Variable):
value_type = bool
entity = Person
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -490,7 +490,6 @@ class ny_exemptions(Variable):
defined_for = StateCode.NY

def formula(tax_unit, period, parameters):

count_dependents = add(
tax_unit, period, ["ny_exemptions_dependent"]
)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
- name: Person age 85 or above eligible for tax exclusion
period: 2022
input:
age: 90
state_code: SC
output:
sc_sales_and_use_exclusion_eligible: true

- name: Person age under 85 not eligible for tax exclusion
period: 2022
input:
age: 70
state_code: SC
output:
sc_sales_and_use_exclusion_eligible: false
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
- name: Person age 85 or above eligible for tax exclusion
period: 2022
input:
sc_sales_and_use_exclusion_eligible: true
sc_sales_and_purchases_proceeds: 10_000
state_code: SC
output:
sc_sales_and_use_tax: 500

- name: Person age under 85 not eligible for tax exclusion
period: 2022
input:
sc_sales_and_use_exclusion_eligible: false
sc_sales_and_purchases_proceeds: 10_000
state_code: SC
output:
sc_sales_and_use_tax: 600
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ class ctc_phase_in(Variable):
reference = "https://www.law.cornell.edu/uscode/text/26/24#d"

def formula(tax_unit, period, parameters):

ctc = parameters(period).gov.irs.credits.ctc

earnings = tax_unit("tax_unit_earned_income", period)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from policyengine_us.model_api import *


class sc_sales_and_purchases_proceeds(Variable):
value_type = float
entity = TaxUnit
label = "South Carolina sales and purchases proceeds"
unit = USD
definition_period = YEAR
defined_for = StateCode.SC
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
from policyengine_us.model_api import *


class sc_sales_and_use_exclusion_eligible(Variable):
value_type = bool
entity = TaxUnit
label = "Eligible for South Carolina sales and use tax senior exclusion"
definition_period = YEAR
reference = "https://dor.sc.gov/resources-site/lawandpolicy/Advisory%20Opinions/RR08-5.pdf#page=2"
defined_for = StateCode.SC

def formula(tax_unit, period, parameters):
p = parameters(period).gov.states.sc.tax.sales_and_use.exclusion
person = tax_unit.members
age = person("age", period)
age_eligible = age >= p.age_threshold
return age_eligible
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
from policyengine_us.model_api import *


class sc_sales_and_use_tax(Variable):
value_type = float
entity = TaxUnit
label = "South Carolina sales and use tax"
unit = USD
reference = "https://dor.sc.gov/forms-site/Forms/ST3.pdf#page=2"
definition_period = YEAR
defined_for = StateCode.SC

def formula(tax_unit, period, parameters):
p = parameters(period).gov.states.sc.tax.sales_and_use

# base amount
taxable_sales_and_purchases = tax_unit(
"sc_sales_and_purchases_proceeds", period
)

# sales and use tax rate with eligible exclusion
eligible = tax_unit("sc_sales_and_use_exclusion_eligible", period)
exclusion = p.exclusion.percentage * eligible
applicable_rate = p.rate - exclusion

# return base amount * applicable_rate
return taxable_sales_and_purchases * applicable_rate