diff --git a/l10n_us_hr_payroll/data/state/wi_wisconsin.xml b/l10n_us_hr_payroll/data/state/wi_wisconsin.xml
index baff6b3a..b62dc3f4 100644
--- a/l10n_us_hr_payroll/data/state/wi_wisconsin.xml
+++ b/l10n_us_hr_payroll/data/state/wi_wisconsin.xml
@@ -15,6 +15,7 @@
+
US WI Wisconsin SUTA Rate
us_wi_suta_rate
@@ -41,6 +42,7 @@
+
US WI Wisconsin SIT Tax Rate
us_wi_sit_tax_rate
@@ -49,8 +51,24 @@
{
- 'single': ((5730, 0.0000, 0.0), (15200, 4.0000, 0.0), (16486, 4.4800, 378.80), (26227, 6.5408, 436.41), (62950, 7.0224, 1073.55), (240190, 6.2700, 3652.39), ('inf', 7.6500, 14765.34)),
- 'married': ((7870, 0.0000, 0.0), (18780, 4.0000, 0.0), (21400, 5.8400, 436.40), (28308, 7.0080, 589.41), (60750, 7.5240, 1073.52), (240190, 6.2700, 3514.46), ('inf', 7.6500, 14765.35)),
+ 'single': (
+ ( 5730, 0.0000, 0.00),
+ ( 15200, 4.0000, 0.00),
+ ( 16486, 4.4800, 378.80),
+ ( 26227, 6.5408, 436.41),
+ ( 62950, 7.0224, 1073.55),
+ (240190, 6.2700, 3652.39),
+ ( 'inf', 7.6500, 14765.34),
+ ),
+ 'married': (
+ ( 7870, 0.0000, 0.00),
+ ( 18780, 4.0000, 0.00),
+ ( 21400, 5.8400, 436.40),
+ ( 28308, 7.0080, 589.41),
+ ( 60750, 7.5240, 1073.52),
+ (240190, 6.2700, 3514.46),
+ ( 'inf', 7.6500, 14765.35),
+ ),
}
diff --git a/l10n_us_hr_payroll/tests/test_us_wi_wisconsin_payslip_2020.py b/l10n_us_hr_payroll/tests/test_us_wi_wisconsin_payslip_2020.py
index 8241e4c1..32bdfa30 100755
--- a/l10n_us_hr_payroll/tests/test_us_wi_wisconsin_payslip_2020.py
+++ b/l10n_us_hr_payroll/tests/test_us_wi_wisconsin_payslip_2020.py
@@ -27,11 +27,13 @@ class TestUsWIPayslip(TestUsPayslip):
cats = self._getCategories(payslip)
self._log('Computed period tax: ' + str(expected_withholding))
- self.assertPayrollEqual(cats.get('EE_US_SIT', 0.0), -expected_withholding)
+ self.assertPayrollAlmostEqual(cats.get('EE_US_SIT', 0.0), -expected_withholding)
def test_2020_taxes_example(self):
self._test_er_suta('WI', self.WI_UNEMP, date(2020, 1, 1), wage_base=self.WI_UNEMP_MAX_WAGE)
- self._test_sit(300, 'single', 1, 0, False,'weekly', date(2020, 1, 1), 7.21)
+ self._test_sit(300, 'single', 1, 0, False, 'weekly', date(2020, 1, 1), 7.21)
self._test_sit(700, 'married', 3, 0, False, 'bi-weekly', date(2020, 1, 1), 13.35)
- self._test_sit(1300, 'single', 1, 10, True, 'bi-weekly', date(2020, 1, 1), 0.00)
- self._test_sit(700, 'married', 3, 10, False, 'bi-weekly', date(2020, 1, 1), 23.35)
+ self._test_sit(7000, 'single', 1, 10, True, 'bi-weekly', date(2020, 1, 1), 0.00)
+ self._test_sit(10000, 'married', 3, 10, False, 'bi-weekly', date(2020, 1, 1), 633.65)
+ # ((48000 - 26227) * (7.0224 /100) + 1073.55 - 44) / 12
+ self._test_sit(4000, 'single', 2, 0, False, 'monthly', date(2020, 1, 1), 213.21)