VT Vermont

This commit is contained in:
Jared Self
2021-01-13 17:39:12 -07:00
parent 1874a69fd9
commit a32b463076
2 changed files with 151 additions and 0 deletions

View File

@@ -12,6 +12,11 @@
<field name="rule_parameter_id" ref="rule_parameter_us_vt_suta_wage_base"/>
<field name="date_from" eval="datetime(2020, 1, 1).date()"/>
</record>
<record id="rule_parameter_us_vt_suta_wage_base_2021" model="hr.rule.parameter.value">
<field name="parameter_value">14100.0</field>
<field name="rule_parameter_id" ref="rule_parameter_us_vt_suta_wage_base"/>
<field name="date_from" eval="datetime(2021, 1, 1).date()"/>
</record>
</data>
<!-- Rate -->
@@ -21,6 +26,7 @@
<field name="country_id" ref="base.us"/>
</record>
<data noupdate="1">
<!-- Unchanged in 2021 https://labor.vermont.gov/unemployment-insurance/ui-employers/unemployment-tax-rates -->
<record id="rule_parameter_us_vt_suta_rate_2020" model="hr.rule.parameter.value">
<field name="parameter_value">1.0</field>
<field name="rule_parameter_id" ref="rule_parameter_us_vt_suta_rate"/>
@@ -46,6 +52,19 @@
<field name="rule_parameter_id" ref="rule_parameter_us_vt_sit_allowances_rate"/>
<field name="date_from" eval="datetime(2020, 1, 1).date()"/>
</record>
<!-- https://tax.vermont.gov/sites/tax/files/documents/GB-1210-2021.pdf -->
<record id="rule_parameter_us_vt_sit_allowances_rate_2021" model="hr.rule.parameter.value">
<field name="parameter_value">{
'weekly' : 84.62,
'bi-weekly' : 169.23,
'semi-monthly': 183.33,
'monthly' : 366.67,
'quarterly' : 1100.00,
'annually': 4400.00,
}</field>
<field name="rule_parameter_id" ref="rule_parameter_us_vt_sit_allowances_rate"/>
<field name="date_from" eval="datetime(2021, 1, 1).date()"/>
</record>
</data>
<!-- Table based on https://tax.vermont.gov/sites/tax/files/documents/WithholdingInstructions.pdf-->
<record id="rule_parameter_us_vt_sit_tax_rate" model="hr.rule.parameter">
@@ -148,6 +167,101 @@
<field name="rule_parameter_id" ref="rule_parameter_us_vt_sit_tax_rate"/>
<field name="date_from" eval="datetime(2020, 1, 1).date()"/>
</record>
<!-- https://tax.vermont.gov/sites/tax/files/documents/GB-1210-2021.pdf -->
<record id="rule_parameter_us_vt_sit_tax_rate_2021" model="hr.rule.parameter.value">
<field name="parameter_value">{
'single': {
'weekly': (
( 61, 0.00, 0.00),
( 849, 0.00, 3.35),
( 1969, 26.40, 6.60),
( 4041, 100.32, 7.60),
('inf', 257.79, 8.75),
),
'bi-weekly': (
( 122, 0.00, 0.00),
( 1697, 0.00, 3.35),
( 3938, 52.76, 6.60),
( 8082, 200.67, 7.60),
('inf', 515.61, 8.75),
),
'semi-monthly': (
( 132, 0.00, 0.00),
( 1839, 0.00, 3.35),
( 4266, 57.18, 6.60),
( 8755, 217.37, 7.60),
('inf', 558.53, 8.75),
),
'monthly': (
( 265, 0.00, 0.00),
( 3677, 0.00, 3.35),
( 8531, 114.30, 6.60),
(17510, 434.67, 7.60),
('inf', 1117.07, 8.75),
),
'quarterly': (
( 794, 0.00, 0.00),
(11031, 0.00, 3.35),
(25594, 342.94, 6.60),
(52531, 1304.10, 7.60),
('inf', 3351.31, 8.75),
),
'annually': (
( 3175, 0.00, 0.00),
( 44125, 0.00, 3.35),
(102375, 1371.83, 6.60),
(210125, 5216.33, 7.60),
( 'inf', 13405.33, 8.75),
),
},
'married': {
'weekly': (
( 183, 0.00, 0.00),
( 1499, 0.00, 3.35),
( 3363, 44.09, 6.60),
( 5028, 167.11, 7.60),
('inf', 293.65, 8.75),
),
'bi-weekly': (
( 366, 0.00, 0.00),
( 2997, 0.00, 3.35),
( 6726, 88.14, 6.60),
(10057, 334.25, 7.60),
('inf', 587.41, 8.75),
),
'semi-monthly': (
( 397, 0.00, 0.00),
( 3247, 0.00, 3.35),
( 7286, 95.48, 6.60),
(10895, 362.05, 7.60),
('inf', 636.33, 8.75),
),
'monthly': (
( 794, 0.00, 0.00),
( 6494, 0.00, 3.35),
(14573, 190.95, 6.60),
(21790, 724.16, 7.60),
('inf', 1272.66, 8.75),
),
'quarterly': (
( 2381, 0.00, 0.00),
(19481, 0.00, 3.35),
(43719, 572.85, 6.60),
(65719, 2172.56, 7.60),
('inf', 3817.96, 8.75),
),
'annually': (
( 9525, 0.00, 0.00),
( 77925, 0.00, 3.35),
(174875, 2291.40, 6.60),
(261475, 8690.10, 7.60),
( 'inf', 15271.70, 8.75),
),
},
}</field>
<field name="rule_parameter_id" ref="rule_parameter_us_vt_sit_tax_rate"/>
<field name="date_from" eval="datetime(2021, 1, 1).date()"/>
</record>
</data>
<!-- Partners and Contribution Registers -->

View File

@@ -0,0 +1,37 @@
# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details.
from datetime import date, timedelta
from .common import TestUsPayslip
class TestUsVTPayslip(TestUsPayslip):
###
# 2021 Taxes and Rates
###
VT_UNEMP_MAX_WAGE = 14100.0
VT_UNEMP = 1.0
# Calculation based on example https://tax.vermont.gov/sites/tax/files/documents/WithholdingInstructions.pdf
def _test_sit(self, wage, filing_status, allowances, additional_withholding, exempt, schedule_pay, date_start, expected_withholding):
employee = self._createEmployee()
contract = self._createContract(employee,
wage=wage,
state_id=self.get_us_state('VT'),
vt_w4vt_sit_filing_status=filing_status,
vt_w4vt_sit_allowances=allowances,
state_income_tax_additional_withholding=additional_withholding,
state_income_tax_exempt=exempt,
schedule_pay=schedule_pay)
payslip = self._createPayslip(employee, date_start, date_start + timedelta(days=7))
payslip.compute_sheet()
cats = self._getCategories(payslip)
self._log('Computed period tax: ' + str(expected_withholding))
self.assertPayrollEqual(cats.get('EE_US_SIT', 0.0), -expected_withholding)
def test_2021_taxes_example(self):
self._test_er_suta('VT', self.VT_UNEMP, date(2021, 1, 1), wage_base=self.VT_UNEMP_MAX_WAGE)
self._test_sit(1800, 'married', 2, 0, False, 'weekly', date(2021, 1, 1), 52.79)
self._test_sit(1800, 'married', 2, 10, False, 'weekly', date(2021, 1, 1), 62.79)
self._test_sit(1000, 'single', 1, 0, True, 'weekly', date(2021, 1, 1), 0.00)
self._test_sit(8000, 'single', 1, 10, False, 'bi-weekly', date(2021, 1, 1), 506.52)