Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/sc-dependent-exemption-parameter.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added a dedicated South Carolina dependent exemption parameter (Section 12-6-1140), with the young child deduction (Section 12-6-1160) set equal to it; no change to calculated values.
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
description: South Carolina provides a dependent exemption of this amount per dependent. The young child deduction (Section 12-6-1160) is set equal to this amount.
values:
2019-01-01: 4_100 # Value in the legal code, last updated in 2019.
2021-01-01: 4_300
2022-01-01: 4_430
2023-01-01: 4_610
2024-01-01: 4_790
2025-01-01: 4_930

metadata:
unit: currency-USD
period: year
uprating: gov.irs.uprating
rounding:
type: downwards
interval: 10
label: South Carolina dependent exemption amount
reference:
# 12-6-1140(13) defines the dependent exemption amount; 12-6-1160 sets the
# young child deduction equal to it.
- title: SC Legal Code | SECTION 12-6-1140
href: https://www.scstatehouse.gov/code/t12c006.php
- title: SC Legal Code | SECTION 12-6-1160
href: https://www.scstatehouse.gov/code/t12c006.php
- title: SC 1040 tax form instructions (2025)
href: https://dor.sc.gov/sites/dor/files/forms/SC1040Instr_2025.pdf#page=16
- title: SC 1040 tax form instructions (2021)
href: https://dor.sc.gov/forms-site/Forms/IITPacket_2021.pdf#page=19
- title: SC 1040 tax form (2022)
href: https://dor.sc.gov/forms-site/Forms/SC1040_2022.pdf#page=2
- title: SC 1040 tax form instructions (2023)
href: https://dor.sc.gov/forms-site/Forms/IITPacket_2023.pdf#page=29
- title: SC 1040 tax form instructions (2024)
href: https://dor.sc.gov/forms-site/Forms/SC1040Instr_2024.pdf#page=16
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
description: South Carolina provides a young child deduction of this amount.
description: South Carolina provides a young child deduction of this amount per dependent under age 6. Section 12-6-1160 sets it equal to the dependent exemption amount (Section 12-6-1140), but it is kept as its own parameter so the two can be modelled independently.
values:
2019-01-01: 4_100 # Value in the legal code, last updated in 2019.
2021-01-01: 4_300
Expand All @@ -16,13 +16,13 @@ metadata:
interval: 10
label: South Carolina young child deduction amount
reference:
# 12-6-1160 defines the young child deduction equal to the 12-6-1140 amount.
- title: SC Legal Code | SECTION 12-6-1160
href: https://www.scstatehouse.gov/code/t12c006.php
- title: SC 1040 tax form instructions (2025)
href: https://dor.sc.gov/sites/dor/files/forms/SC1040Instr_2025.pdf#page=16
- title: SC 1040 tax form instructions (2021)
href: https://dor.sc.gov/forms-site/Forms/IITPacket_2021.pdf#page=19
# 12-6-1160 defines the program and points to the amount in 1140.
- title: SC Legal Code | SECTION 12-6-1160
href: https://www.scstatehouse.gov/code/t12c006.php
- title: SC 1040 tax form (2022)
href: https://dor.sc.gov/forms-site/Forms/SC1040_2022.pdf#page=2
- title: SC 1040 tax form instructions (2023)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,60 @@
output:
sc_dependent_exemption: 4_430

- name: Case 2, family with 3 dependents, get 3 dependent exemptions.
- name: Case 2, family with 3 dependents, get 3 dependent exemptions.
period: 2022
input:
state_code: SC
tax_unit_dependents: 3
tax_unit_dependents: 3
output:
sc_dependent_exemption: 13_290

# Case 3, repoint pin: prove sc_dependent_exemption reads the dedicated
# dependent_exemption parameter, NOT the young_child parameter. Override both
# to distinct values; the variable must reflect dependent_exemption and ignore
# young_child. Without the repoint this case would fail.
- name: Case 3, repoint pin - variable reads dependent_exemption, not young_child.
period: 2025
input:
state_code: SC
tax_unit_dependents: 2
# Distinct override values so the two parameters cannot be confused.
gov.states.sc.tax.income.deductions.dependent_exemption.amount: 9_000
gov.states.sc.tax.income.deductions.young_child.amount: 1_000
output:
# 2 dependents * $9,000 (dependent_exemption) = $18,000.
# If the variable still read young_child it would be 2 * $1,000 = $2,000.
sc_dependent_exemption: 18_000

# Case 4, stacking: an under-6 dependent qualifies for BOTH the dependent
# exemption (12-6-1140) and the young child deduction (12-6-1160). They are
# separate provisions and must stack - check each independently.
- name: Case 4, under-6 dependent stacks dependent exemption and young child deduction.
period: 2025
input:
people:
person1: {}
person2:
age: 5
tax_units:
tax_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: SC
output:
# 2025 amount is $4,930; 1 dependent.
sc_dependent_exemption: 4_930
# Same child is under 6, so the young child deduction also applies.
sc_young_child_deduction: 4_930

# Case 5, per-year symmetry: 2025 dependent exemption at the baseline amount.
- name: Case 5, 3 dependents in 2025 get 3 dependent exemptions.
period: 2025
input:
state_code: SC
tax_unit_dependents: 3
output:
# 2025 dependent exemption amount is $4,930; 3 * $4,930 = $14,790.
sc_dependent_exemption: 14_790
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ class sc_dependent_exemption(Variable):
defined_for = StateCode.SC

def formula(tax_unit, period, parameters):
# Get relevant parameter subtree. The amount for dependent exemption is the same amount as the the young_child's.
p = parameters(period).gov.states.sc.tax.income.deductions.young_child
# Section 12-6-1140(13): a dependent exemption for every dependent.
p = parameters(period).gov.states.sc.tax.income.deductions.dependent_exemption
# every dependent is eligible
dependents = tax_unit("tax_unit_dependents", period)
# Multiply by the amount per exemption.
Expand Down
Loading