diff --git a/l10n_us_hr_payroll/data/state/tx_texas.xml b/l10n_us_hr_payroll/data/state/tx_texas.xml
index 5d9c5772..d188e480 100644
--- a/l10n_us_hr_payroll/data/state/tx_texas.xml
+++ b/l10n_us_hr_payroll/data/state/tx_texas.xml
@@ -7,11 +7,7 @@
-
- 9000.0
-
-
-
+
9000.0
@@ -26,11 +22,7 @@
-
- 2.7
-
-
-
+
2.7
@@ -44,11 +36,7 @@
-
- 0.0
-
-
-
+
0.0
@@ -62,11 +50,7 @@
-
- 0.1
-
-
-
+
0.1
diff --git a/l10n_us_hr_payroll/tests/test_us_tx_texas_payslip_2019.py b/l10n_us_hr_payroll/tests/test_us_tx_texas_payslip_2019.py
deleted file mode 100755
index 15e657ae..00000000
--- a/l10n_us_hr_payroll/tests/test_us_tx_texas_payslip_2019.py
+++ /dev/null
@@ -1,100 +0,0 @@
-# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details.
-
-from .common import TestUsPayslip, process_payslip
-from odoo.addons.l10n_us_hr_payroll.models.hr_contract import USHRContract
-
-class TestUsTXPayslip(TestUsPayslip):
- ###
- # 2019 Taxes and Rates
- ###
- TX_UNEMP_MAX_WAGE = 9000.0
- TX_UNEMP = -2.7 / 100.0
- TX_OA = 0.0
- TX_ETIA = -0.1 / 100.0
-
- def test_2019_taxes(self):
- salary = 5000.0
-
- employee = self._createEmployee()
- contract = self._createContract(employee,
- wage=salary,
- state_id=self.get_us_state('TX'),
- )
-
- self._log('2019 Texas tax first payslip:')
- payslip = self._createPayslip(employee, '2019-01-01', '2019-01-31')
-
- payslip.compute_sheet()
-
- cats = self._getCategories(payslip)
- rules = self._getRules(payslip)
-
- self.assertPayrollEqual(rules['ER_US_TX_SUTA'], salary * self.TX_UNEMP)
- self.assertPayrollEqual(rules['ER_US_TX_SUTA_OA'], salary * self.TX_OA)
- self.assertPayrollEqual(rules['ER_US_TX_SUTA_ETIA'], salary * self.TX_ETIA)
-
- process_payslip(payslip)
-
- # Make a new payslip, this one will have maximums
-
- remaining_tx_unemp_wages = self.TX_UNEMP_MAX_WAGE - salary if (self.TX_UNEMP_MAX_WAGE - 2*salary < salary) \
- else salary
-
- self._log('2019 Texas tax second payslip:')
- payslip = self._createPayslip(employee, '2019-02-01', '2019-02-28')
-
- payslip.compute_sheet()
-
- cats = self._getCategories(payslip)
- rules = self._getRules(payslip)
-
- self.assertPayrollEqual(rules['ER_US_TX_SUTA'], remaining_tx_unemp_wages * self.TX_UNEMP)
-
- def test_2019_taxes_with_external(self):
- salary = 5000.0
- external_wages = 6000.0
-
- employee = self._createEmployee()
-
- contract = self._createContract(employee,
- wage=salary,
- state_id=self.get_us_state('TX'),
- external_wages=external_wages,
- )
-
- self._log('2019 Texas_external tax first payslip:')
- payslip = self._createPayslip(employee, '2019-01-01', '2019-01-31')
-
- payslip.compute_sheet()
-
- cats = self._getCategories(payslip)
- rules = self._getRules(payslip)
-
- expected_wage = self.TX_UNEMP_MAX_WAGE - external_wages
- self.assertPayrollEqual(rules['ER_US_TX_SUTA'], expected_wage * self.TX_UNEMP)
- self.assertPayrollEqual(rules['ER_US_TX_SUTA_OA'], expected_wage * self.TX_OA)
- self.assertPayrollEqual(rules['ER_US_TX_SUTA_ETIA'], expected_wage * self.TX_ETIA)
-
- def test_2019_taxes_with_state_exempt(self):
- salary = 5000.0
- external_wages = 6000.0
-
- employee = self._createEmployee()
-
- contract = self._createContract(employee,
- wage=salary,
- state_id=self.get_us_state('TX'),
- external_wages=external_wages,
- futa_type=USHRContract.FUTA_TYPE_BASIC)
-
- self._log('2019 Texas_external tax first payslip:')
- payslip = self._createPayslip(employee, '2019-01-01', '2019-01-31')
-
- payslip.compute_sheet()
-
- cats = self._getCategories(payslip)
- rules = self._getRules(payslip)
-
- self.assertPayrollEqual(rules.get('ER_US_TX_SUTA', 0.0), 0.0)
- self.assertPayrollEqual(rules.get('ER_US_TX_SUTA_OA', 0.0), 0.0)
- self.assertPayrollEqual(rules.get('ER_US_TX_SUTA_ETIA', 0.0), 0.0)
diff --git a/l10n_us_hr_payroll/tests/test_us_tx_texas_payslip_2021.py b/l10n_us_hr_payroll/tests/test_us_tx_texas_payslip_2021.py
new file mode 100755
index 00000000..8dba312c
--- /dev/null
+++ b/l10n_us_hr_payroll/tests/test_us_tx_texas_payslip_2021.py
@@ -0,0 +1,17 @@
+# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details.
+
+from datetime import date
+from .common import TestUsPayslip
+
+class TestUsTXPayslip(TestUsPayslip):
+ ###
+ # 2020 Taxes and Rates
+ ###
+ TX_UNEMP_MAX_WAGE = 9000.0
+ TX_UNEMP = 2.7
+ TX_OA = 0.0
+ TX_ETIA = 0.1
+
+ def test_2020_taxes(self):
+ combined_rate = self.TX_UNEMP + self.TX_OA + self.TX_ETIA
+ self._test_er_suta('TX', combined_rate, date(2020, 1, 1), wage_base=self.TX_UNEMP_MAX_WAGE)