mirror of
https://gitlab.com/hibou-io/hibou-odoo/suite.git
synced 2025-01-20 12:37:31 +02:00
Squashed commits: [9ca3d040] [FIX] l10n_us_hr_payroll: payslip category sum over date range now includes child categories [7a92b96e] [FIX] l10n_us_hr_payroll: remove overwrite to correct wage calculation above [45d130ce] [IMP] l10n_us_hr_payroll: Add migration code to handle known issues from Odoo S.A. migrations. [54bffced] [FIX] l10n_us_hr_payroll: add missing `semi-monthly` as a default schedule pay [d7206395] [IMP] l10n_us_hr_payroll: common test call paramaterize defaults for Structure Type and Resource Calendar [a1174740] [FIX] l10n_us_hr_payroll : Fixed exempt test case for 2019. [2d8ec31b] [IMP] l10n_us_hr_payroll: Improved Tax table and improved Test case for NJ New Jersey 2020 [51f61ab5] [IMP] l10n_us_hr_payroll: Added comment and improved Test case for MS Mississippi 2020 [5bfe38f3] [IMP] l10n_us_hr_payroll: Improved Test case for MI Michigan 2020 [c21aa7a7] [IMP] l10n_us_hr_payroll: Added comment for MN Minnesota 2020 [ed67319a] [IMP] l10n_us_hr_payroll: Added comment and improved Test case for MO Missouri 2020 [cc68ea2e] [IMP] l10n_us_hr_payroll: Added Tax table and improved Test case for MT Montana 2020 [9450418c] [IMP] l10n_us_hr_payroll: Added Tax table and improved Test case for ID Idaho 2020 [c389748c] [IMP] l10n_us_hr_payroll: Added Tax table and improved Test case for KY Kentucky 2020 [6d4171fc] [IMP] l10n_us_hr_payroll: Reformat tax table, improved comments and test case for IA Iowa 2020 [77588bc6] [IMP] l10n_us_hr_payroll: Improved Tax table and Test case for HI Hawaii 2020 [585f8cbf] [IMP] l10n_us_hr_payroll: Added Tax table for 2020 and improved Test case for GA Georgia 2020 [92a89e59] [IMP] l10n_us_hr_payroll: Reformat tax table, improved comments and test case for CA California 2020 [785b33e3] [IMP] l10n_us_hr_payroll: Improved comments and test case for CT Connecticut 2020 [13198a9e] [IMP] l10n_us_hr_payroll: Improved test case for CO Colorado 2020 [c65b62a7] [IMP] l10n_us_hr_payroll: Improved comments and test case for AR Arkansas 2020 [e01eeb65] [IMP] l10n_us_hr_payroll: Improved test case for AZ Arizona 2020 [5cf0b69e] [IMP] l10n_us_hr_payroll: Improved comments, Tax table, filing status and test case for AL Alabama 2020 [64436b6e] [IMP] l10n_us_hr_payroll: Improved comments and test case for NM New Mexico 2020 [c395c8a9] [IMP] l10n_us_hr_payroll: Added Comment, removed one filing status which was not used in calculation and improve test case for exempt for NC North Carolina 2020 [ff4adfe8] [IMP] l10n_us_hr_payroll: Comment add for table for VA Virginia 2020 [9fc9b3b6] [IMP] l10n_us_hr_payroll: Reformat Tax table and changed wage for VT Vermont 2020 [5c96026b] [IMP] l10n_us_hr_payroll: Reformat Tax table and changed SUTA rate for RI Rhode Island 2020 [2a2abb62] [IMP] l10n_us_hr_payroll: Reformat Tax table, changed SUTA rate and improved test case for UT Utah 2020. [42edfc06] [IMP] l10n_us_hr_payroll: Refactored Tax table, changed filing status string and Improved test case for KS Kansas 2020. [733e721a] [IMP] l10n_us_hr_payroll: Reformat Tax table, changed field string and improved test case for OK Oklahoma 2020 [7c2d9a20] [IMP] l10n_us_hr_payroll: Reformat Tax table for WV West Virginia 2020. [91630c86] [IMP] l10n_us_hr_payroll: Refactored Tax table, changed tax rate and added additional withholding field. Improved test case for ME Maine 2020. [9c62ebaf] [IMP] l10n_us_hr_payroll: Refactored Tax table and Improved test case for NE Nebraska 2020. [88118297] [IMP] l10n_us_hr_payroll: Refactored Tax table and Improved test case for ME Maine 2020. [641bb815] [IMP] l10n_us_hr_payroll: Refactored sit rate tax table and added allowance field and apply on calculation. Also Improved test case for for ND North Dakota 2020. [f6f81615] [IMP] l10n_us_hr_payroll: Changed Form name and additional withholding field string for IN Indiana 2020. [e4c9774f] [IMP] l10n_us_hr_payroll: Added additional withholding, changed suta rate for 2020 and Improved test for SC South Carolina 2020. [91887067] [IMP] l10n_us_hr_payroll: Improved test and restructured table for WI Wisconsin 2020. [9110d174] [FIX] l10n_us_hr_payroll: Updated NY New York 2020 rates and tests. [1a7c26d8] [FIX] l10n_us_hr_payroll: Added exempt on filing status for NY. [8f447aaa] [IMP] l10n_us_hr_payroll: Changed wage base and suta rate for NY New York 2019/2020. [e9a53918] [IMP] l10n_us_hr_payroll: Changed suta rate for WY Wyoming 2020. H2914 [eddc6431] [IMP] l10n_us_hr_payroll: Changed suta rate and added exempt. H2816 [dff4a2ca] [IMP] l10n_us_hr_payroll: For Rhode Island 13.0 [baea9412] [IMP] l10n_us_hr_payroll: For West Virginia 13.0 [8fed8e7b] [IMP] l10n_us_hr_payroll: For Wisconsin 13.0 [57182a87] [IMP] l10n_us_hr_payroll: For South Dakota 13.0 [1011c62e] [IMP] l10n_us_hr_payroll: For Tennessee 13.0 [688a3cc1] [IMP] l10n_us_hr_payroll: For Utah 13.0 [ded656db] [IMP] l10n_us_hr_payroll: For Vermont 13.0 [a0da1841] [IMP] l10n_us_hr_payroll: Port `l10n_us_wy_hr_payroll` WY Wyoming including migration. [977cc3af] [IMP] l10n_us_hr_payroll: For Oklahoma 13.0 [68a0697c] [FIX]l10n_us_hr_payroll: Spell mistake on Kansas state payroll. [addd5f03] [IMP] l10n_us_hr_payroll: For Kentucky 13.0 [4fb48854] [IMP] l10n_us_hr_payroll: For Kansas 13.0 [60d40449] [IMP] l10n_us_hr_payroll: For Nevada 13.0 [2475250f] [IMP] l10n_us_hr_payroll: For Maine 13.0 [1234467d] [IMP] l10n_us_hr_payroll: For North Dakota 13.0 [d1642bbe] IMP `l10n_us_hr_payroll` Allow configurable changes to payslip summing behavior. In stock Odoo, summing anything in payroll rules (but most importantly rule amounts and category amounts by code), the considered payslips are referenced from their `date_from` field. However in the USA, it is in fact the `date_to` that is more important (or accounting date). A Payslip made for 2019-12-20 to 2020-01-04 should in fact be considered a '2020' payslip, and thus the summation on other '2020' payslips must find it by considering payslips `date_to`. [0af81085] IMP `l10n_us_hr_payroll` Port `l10n_us_ny_hr_payroll` NY New York including migration [bc5c0b47] IMP `l10n_us_hr_payroll` for Nebraska 13.0 [6f3120f8] IMP `l10n_us_hr_payroll` Port `l10n_us_sc_hr_payroll` SC South Carolina including migration [9bee1ce7] IMP `l10n_us_hr_payroll` Port `l10n_us_la_hr_payroll` LA Louisiana including migration [368a7e59] IMP `l10n_us_hr_payroll` for Indiana 13.0 [c7647d08] IMP `l10n_us_hr_payroll` for New Hampshire 13.0 [a738a0af] IMP `l10n_us_hr_payroll` for New Mexico 13.0 [d2898035] IMP `l10n_us_hr_payroll` Port `l10n_us_ia_hr_payroll` IA Iowa including migration [acdd3d43] IMP `l10n_us_hr_payroll` for Colorado 13.0 [e1eccfc2] IMP `l10n_us_hr_payroll` Port `l10n_us_de_hr_payroll` DE Delaware including migration [7b4adef4] IMP `l10n_us_hr_payroll` Port `l10n_us_hi_hr_payroll` HI Hawaii including migration [28eb5b9d] FIX `l10n_us_hr_payroll` Don't give error on Zero wage in FIT [498137cb] FIX `l10n_us_hr_payroll` Port `l10n_us_id_hr_payroll` Remove supplier from the Partners.. [8895e59f] FIX `l10n_us_hr_payroll` Port `l10n_us_ca_hr_payroll` Added test case on file. [0082fce8] IMP `l10n_us_hr_payroll` Port `l10n_us_id_hr_payroll` ID Idaho including migration [92f6d30c] IMP `l10n_us_hr_payroll` Port `l10n_us_ca_hr_payroll` CA California including migration [2059172b] IMP `l10n_us_hr_payroll` Port `l10n_us_ct_hr_payroll` CT Connecticut including migration [dd8f7369] IMP `l10n_us_hr_payroll` Port `l10n_us_al_hr_payroll` AL Alabama including migration [d5c3e427] IMP `l10n_us_hr_payroll` Port `l10n_us_ak_hr_payroll` AK Alaska including migration [fbba5b2b] FIX `l10n_us_hr_payroll` Changed SUTA Rate for Illinois 2020. [18421d01] IMP `l10n_us_hr_payroll` Port `l10n_us_az_hr_payroll` AZ Arizona including migration [f960d135] IMP `l10n_us_hr_payroll` Port `l10n_us_il_hr_payroll` IL Illinois including migration [b85e7483] IMP `l10n_us_hr_payroll` Port `l10n_us_ar_hr_payroll` AR Arkansas including migration [61e9530f] IMP `l10n_us_hr_payroll` Create tax exempt categories for table coverage from IRS Pub. 15-B [38decf71] IMP `l10n_us_hr_payroll` Port `l10n_us_mn_hr_payroll` MN Minnesota including migration [2c9dca19] IMP `l10n_us_hr_payroll` Port `l10n_us_mi_hr_payroll` MI Michigan including migration [e175ecbb] IMP `l10n_us_hr_payroll` Port `l10n_us_nc_hr_payroll` NC North Carolina including migration [db689da4] IMP `l10n_us_hr_payroll` Port `l10n_us_nj_hr_payroll` NJ New Jersey including migration [130ce65c] IMP `l10n_us_hr_payroll` Add MO Missouri (unemployment, income tax) [4d4fcd45] IMP `l10n_us_hr_payroll` Use the raw ER rate for Washington LNI (instead of the combined rate and removing EE portion) [45fb9682] FIX `l10n_us_hr_payroll` Missing Parent Category and Code not matching pattern. [3ae7b859] IMP `l10n_us_hr_payroll` Refactor to simply tax exempt deductions. [30eafd14] IMP `l10n_us_hr_payroll` Add MS Mississippi (unemployment, income tax) [2f7e7b96] IMP `l10n_us_hr_payroll` Add GA Georgia (unemployment, income tax) [3d79ed81] IMP `l10n_us_hr_payroll` Add form name in Virginia's state box. [2e6c7050] IMP `l10n_us_hr_payroll` Add VA Virginia (unemployment, income tax) [8ae58731] IMP `l10n_us_hr_payroll` Add TX Texas (unemployment, OA, ETIA) [f83bf47c] IMP `l10n_us_hr_payroll` Add WA Washington (unemployment, lni, fml) [1d661f8d] IMP `l10n_us_hr_payroll` Add OH Ohio (unemployment, income tax) [edbc8c59] IMP `l10n_us_hr_payroll` Add MT Montana (unemployment (with AFT), income tax) [dfe38521] IMP `l10n_us_hr_payroll` Implement generic state income tax exempt and additional fields. Include in PA Tests and State Form section. [900bc138] IMP `l10n_us_hr_payroll` Add Generic SIT Category and method, add PA Pennsylvania (unemployment (ER, EE), income tax) [dcafce90] IMP `l10n_us_hr_payroll` Refactor SUTA tests into generic test. (Reworked Florida 2020) (+1 squashed commit) Squashed commits: [667cc8c4] IMP `l10n_us_hr_payroll` Add Generic SUTA Category and method, add FL Florida (unemployment, no income tax)
279 lines
14 KiB
Python
279 lines
14 KiB
Python
# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details.
|
|
|
|
from odoo import api, fields, models
|
|
|
|
FUTA_TYPE_EXEMPT = 'exempt'
|
|
FUTA_TYPE_BASIC = 'basic'
|
|
FUTA_TYPE_NORMAL = 'normal'
|
|
|
|
|
|
class HRContractUSPayrollConfig(models.Model):
|
|
_name = 'hr.contract.us_payroll_config'
|
|
_description = 'Contract US Payroll Forms'
|
|
|
|
name = fields.Char(string="Description")
|
|
employee_id = fields.Many2one('hr.employee', string="Employee", required=True)
|
|
state_id = fields.Many2one('res.country.state', string="Applied State")
|
|
state_code = fields.Char(related='state_id.code')
|
|
state_income_tax_exempt = fields.Boolean(string='State Income Tax Exempt')
|
|
state_income_tax_additional_withholding = fields.Float(string='State Income Tax Additional Withholding')
|
|
workers_comp_ee_code = fields.Char(string='Workers\' Comp Code (Employee Withholding)',
|
|
help='Code for a Rule Parameter, used by some states or your own rules.')
|
|
workers_comp_er_code = fields.Char(string='Workers\' Comp Code (Employer Withholding)',
|
|
help='Code for a Rule Parameter, used by some states or your own rules.')
|
|
|
|
fed_940_type = fields.Selection([
|
|
(FUTA_TYPE_EXEMPT, 'Exempt (0%)'),
|
|
(FUTA_TYPE_NORMAL, 'Normal Net Rate (0.6%)'),
|
|
(FUTA_TYPE_BASIC, 'Basic Rate (6%)'),
|
|
], string="Federal Unemployment Tax Type (FUTA)", default='normal')
|
|
|
|
fed_941_fica_exempt = fields.Boolean(string='FICA Exempt', help="Exempt from Social Security and "
|
|
"Medicare e.g. F1 Student Visa")
|
|
|
|
fed_941_fit_w4_filing_status = fields.Selection([
|
|
('', 'Exempt'),
|
|
('single', 'Single or Married filing separately'),
|
|
('married', 'Married filing jointly'),
|
|
('married_as_single', 'Head of Household'),
|
|
], string='Federal W4 Filing Status [1(c)]', default='single')
|
|
fed_941_fit_w4_allowances = fields.Integer(string='Federal W4 Allowances (before 2020)')
|
|
fed_941_fit_w4_is_nonresident_alien = fields.Boolean(string='Federal W4 Is Nonresident Alien')
|
|
fed_941_fit_w4_multiple_jobs_higher = fields.Boolean(string='Federal W4 Multiple Jobs Higher [2(c)]',
|
|
help='Form W4 (2020+) 2(c) Checkbox. '
|
|
'Uses Higher Withholding tables.')
|
|
fed_941_fit_w4_dependent_credit = fields.Float(string='Federal W4 Dependent Credit [3]',
|
|
help='Form W4 (2020+) Line 3')
|
|
fed_941_fit_w4_other_income = fields.Float(string='Federal W4 Other Income [4(a)]',
|
|
help='Form W4 (2020+) 4(a)')
|
|
fed_941_fit_w4_deductions = fields.Float(string='Federal W4 Deductions [4(b)]',
|
|
help='Form W4 (2020+) 4(b)')
|
|
fed_941_fit_w4_additional_withholding = fields.Float(string='Federal W4 Additional Withholding [4(c)]',
|
|
help='Form W4 (2020+) 4(c)')
|
|
|
|
al_a4_sit_exemptions = fields.Selection([
|
|
('', '0'),
|
|
('S', 'S'),
|
|
('MS', 'MS'),
|
|
('M', 'M'),
|
|
('H', 'H'),
|
|
], string='Alabama A4 Withholding Exemptions', help='A4 1. 2. 3.')
|
|
al_a4_sit_dependents = fields.Integer(string='Alabama A4 Dependents', help='A4 4.')
|
|
|
|
ar_ar4ec_sit_allowances = fields.Integer(string='Arkansas AR4EC allowances', help='AR4EC 3.')
|
|
|
|
az_a4_sit_withholding_percentage = fields.Float(
|
|
string='Arizona A-4 Withholding Percentage',
|
|
help='A-4 1. (0.8 or 1.3 or 1.8 or 2.7 or 3.6 or 4.2 or 5.1 or 0 for exempt.')
|
|
|
|
ca_de4_sit_allowances = fields.Integer(string='California W-4 Allowances',
|
|
help='CA W-4 3.')
|
|
ca_de4_sit_additional_allowances = fields.Integer(string='California W-4 Additional Allowances',
|
|
help='CA W-4 4(c).')
|
|
ca_de4_sit_filing_status = fields.Selection([
|
|
('', 'Exempt'),
|
|
('single', 'Single or Married filing separately'),
|
|
('married', 'Married filing jointly'),
|
|
('head_household', 'Head of Household')
|
|
], string='California W-4 Filing Status', help='CA W-4 1(c).')
|
|
|
|
ct_w4na_sit_code = fields.Selection([
|
|
('a', 'A'),
|
|
('b', 'B'),
|
|
('c', 'C'),
|
|
('d', 'D'),
|
|
('f', 'F'),
|
|
], string='Connecticut CT-W4 Withholding Code', help='CT-W4 1.')
|
|
|
|
de_w4_sit_filing_status = fields.Selection([
|
|
('single', 'Single or Married filing separately'),
|
|
('married', 'Married filing jointly'),
|
|
], string='Delaware W-4 Marital Status', help='DE W-4 3.')
|
|
de_w4_sit_dependent = fields.Integer(string='Delaware W-4 Dependents', help='DE W-4 4.')
|
|
|
|
ga_g4_sit_filing_status = fields.Selection([
|
|
('', 'Exempt'),
|
|
('single', 'Single'),
|
|
('married filing joint, both spouses working', 'Married Filing Joint, both spouses working'),
|
|
('married filing joint, one spouse working', 'Married Filing Joint, one spouse working'),
|
|
('married filing separate', 'Married Filing Separate'),
|
|
('head of household', 'Head of Household'),
|
|
], string='Georgia G-4 Filing Status', help='G-4 3.')
|
|
ga_g4_sit_dependent_allowances = fields.Integer(string='Georgia G-4 Dependent Allowances',
|
|
help='G-4 4.')
|
|
ga_g4_sit_additional_allowances = fields.Integer(string='Georgia G-4 Additional Allowances',
|
|
help='G-4 5.')
|
|
|
|
hi_hw4_sit_filing_status = fields.Selection([
|
|
('', 'Exempt'),
|
|
('single', 'Single'),
|
|
('married', 'Married'),
|
|
('head_of_household', 'Head of Household'),
|
|
], string='Hawaii HW-4 Marital Status', help='HI HW-4 3.')
|
|
hi_hw4_sit_allowances = fields.Integer(string='Hawaii HW-4 Allowances', help='HI HW-4 4.')
|
|
|
|
ia_w4_sit_allowances = fields.Integer(string='Iowa W-4 allowances', help='IA W-4 6.')
|
|
|
|
id_w4_sit_filing_status = fields.Selection([
|
|
('single', 'Single'),
|
|
('married', 'Married'),
|
|
('head of household', 'Head of Household'),
|
|
], string='Idaho ID W-4 Withholding Status', help='ID W-4 A.B.C.')
|
|
id_w4_sit_allowances = fields.Integer(string='Idaho ID W-4 Allowances', help='ID W-4 1.')
|
|
|
|
il_w4_sit_basic_allowances = fields.Integer(string='Illinois IL-W-4 Number of Basic Allowances', help='IL-W-4 Step 1.')
|
|
il_w4_sit_additional_allowances = fields.Integer(string='Illinois IL-W-4 Number of Additional Allowances', help='IL-W-4 Step 2.')
|
|
|
|
in_w4_sit_personal_exemption = fields.Integer(string='Indiana In-W-4 Number of Personal Exemption', help='IN-W-4 5.')
|
|
in_w4_sit_dependent_exemption = fields.Integer(string='Indiana In-W-4 Number of Dependent Exemption', help='IN-W-4 6.')
|
|
|
|
ks_k4_sit_filing_status = fields.Selection([
|
|
('single', 'Single'),
|
|
('married', 'Joint'),
|
|
], string='Kansas K-4 Filing Status', help='KS K-4 3.')
|
|
ks_k4_sit_allowances = fields.Integer(string='Kansas KS K-4 Number of Allowances', help='KS K-4 Step 4.')
|
|
|
|
la_l4_sit_filing_status = fields.Selection([
|
|
('single', 'Single'),
|
|
('married', 'Married'),
|
|
], string='Louisiana LA L-4 Filing Status', help='LA L-4 3.')
|
|
la_l4_sit_exemptions = fields.Integer(string='Louisiana LA L-4 Number of Exemptions', help='LA L-4 6.')
|
|
la_l4_sit_dependents = fields.Integer(string='Louisiana LA L-4 Number of Dependents', help='LA L-4 7.')
|
|
|
|
me_w4me_sit_filing_status = fields.Selection([
|
|
('', 'Exempt'),
|
|
('single', 'Single or Head of Household'),
|
|
('married', 'Married'),
|
|
], string='Maine W-4ME Filing Status', help='ME W-4ME 3.')
|
|
me_w4me_sit_allowances = fields.Integer(string='Maine Allowances', help='W-4ME 4.')
|
|
|
|
mi_w4_sit_exemptions = fields.Integer(string='Michigan MI W-4 Exemptions', help='MI-W4 6.')
|
|
|
|
mn_w4mn_sit_filing_status = fields.Selection([
|
|
('', 'Exempt'),
|
|
('single', 'Single'),
|
|
('married', 'Married'),
|
|
], string='Minnesota W-4MN Marital Status', help='W-4MN')
|
|
mn_w4mn_sit_allowances = fields.Integer(string='Minnesota Allowances', help='W-4MN 1.')
|
|
|
|
mo_mow4_sit_filing_status = fields.Selection([
|
|
('', 'Exempt'),
|
|
('single', 'Single or Married Spouse Works or Married Filing Separate'),
|
|
('married', 'Married (Spouse does not work)'),
|
|
('head_of_household', 'Head of Household'),
|
|
], string='Missouri W-4 Filing Status', help='MO W-4 1.')
|
|
mo_mow4_sit_withholding = fields.Integer(string='Missouri MO W-4 Reduced Withholding', help='MO W-4 3.')
|
|
|
|
ms_89_350_sit_filing_status = fields.Selection([
|
|
('', 'Exempt'),
|
|
('single', 'Single'),
|
|
('married', 'Married (spouse NOT employed)'),
|
|
('married_dual', 'Married (spouse IS employed)'),
|
|
('head_of_household', 'Head of Household'),
|
|
], string='Mississippi 89-350 Filing Status', help='89-350 1. 2. 3. 8.')
|
|
ms_89_350_sit_exemption_value = fields.Float(string='Mississippi 89-350 Exemption Total',
|
|
help='89-350 Box 6 (including filing status amounts)')
|
|
|
|
mt_mw4_sit_exemptions = fields.Integer(string='Montana MW-4 Exemptions',
|
|
help='MW-4 Box G')
|
|
# Don't use the main state_income_tax_exempt because of special meaning and reporting
|
|
# Use additional withholding but name it on the form 'MW-4 Box H'
|
|
mt_mw4_sit_exempt = fields.Selection([
|
|
('', 'Not Exempt'),
|
|
('tribe', 'Registered Tribe'),
|
|
('reserve', 'Reserve or National Guard'),
|
|
('north_dakota', 'North Dakota'),
|
|
('montana_for_marriage', 'Montana for Marriage'),
|
|
], string='Montana MW-4 Exempt from Withholding', help='MW-4 Section 2')
|
|
|
|
nc_nc4_sit_filing_status = fields.Selection([
|
|
('', 'Exempt'),
|
|
('single', 'Single'),
|
|
('married', 'Married'),
|
|
('head_household', 'Head of Household')
|
|
], string='North Carolina NC-4 Filing Status', help='NC-4')
|
|
nc_nc4_sit_allowances = fields.Integer(string='North Carolina NC-4 Allowances', help='NC-4 1.')
|
|
|
|
nd_w4_sit_filing_status = fields.Selection([
|
|
('', 'Exempt'),
|
|
('single', 'Single'),
|
|
('married', 'Married'),
|
|
('head_household', 'Head of Household')
|
|
], string='North Dakota ND W-4 Filing Status', help='ND W-4')
|
|
nd_w4_sit_allowances = fields.Integer(string='North Dakota ND W-4')
|
|
|
|
ne_w4n_sit_filing_status = fields.Selection([
|
|
('single', 'Single'),
|
|
('married', 'Married'),
|
|
], string='Nebraska NE W-4N Filing Status', help='NE W-4N')
|
|
ne_w4n_sit_allowances = fields.Integer(string='Nebraska NE W-4N Allowances', help='NE W-4N 1.')
|
|
|
|
nj_njw4_sit_filing_status = fields.Selection([
|
|
('', 'Exempt'),
|
|
('single', 'Single'),
|
|
('married_separate', 'Married/Civil Union partner Separate'),
|
|
('married_joint', 'Married/Civil Union Couple Joint'),
|
|
('widower', 'Widower/Surviving Civil Union Partner'),
|
|
('head_household', 'Head of Household')
|
|
], string='New Jersey NJ-W4 Filing Status', help='NJ-W4 2.')
|
|
nj_njw4_sit_allowances = fields.Integer(string='New Jersey NJ-W4 Allowances', help='NJ-W4 4.')
|
|
nj_njw4_sit_rate_table = fields.Selection([
|
|
('A', 'A'),
|
|
('B', 'B'),
|
|
('C', 'C'),
|
|
('D', 'D'),
|
|
('E', 'E')
|
|
], string='New Jersey Wage Chart Letter', help='NJ-W4. 3.')
|
|
|
|
ny_it2104_sit_filing_status = fields.Selection([
|
|
('', 'Exempt'),
|
|
('single', 'Single'),
|
|
('married', 'Married'),
|
|
], string='New York NY IT-2104 Filing Status', help='NY IT-2104')
|
|
ny_it2104_sit_allowances = fields.Integer(string="New York IT-2104 Allowances", help="NY IT-2104 1. 2.")
|
|
|
|
# Ohio will use generic SIT exempt and additional fields
|
|
oh_it4_sit_exemptions = fields.Integer(string='Ohio IT-4 Exemptions',
|
|
help='Line 4')
|
|
|
|
ok_w4_sit_filing_status = fields.Selection([
|
|
('single', 'Single'),
|
|
('married', 'Married'),
|
|
('head_household', 'Married, but withhold at higher Single rate')
|
|
], string='Oklahoma OK-W-4 Filing Status', help='OK-W-4')
|
|
ok_w4_sit_allowances = fields.Integer(string='Oklahoma OK-W-4 Allowances', help='OK-W-4 5.')
|
|
|
|
ri_w4_sit_allowances = fields.Integer(string='Rhode Island RI W-4 Allowances', help='RI W-4 1.')
|
|
|
|
sc_w4_sit_allowances = fields.Integer(string='South Carolina SC W-4 Allowances', help='SC W-4 5.')
|
|
|
|
ut_w4_sit_filing_status = fields.Selection([
|
|
('single', 'Single'),
|
|
('married', 'Married'),
|
|
('head_household', 'Head of Household')
|
|
], string='Utah UT W-4 Filing Status', help='UT W-4 C.')
|
|
|
|
vt_w4vt_sit_filing_status = fields.Selection([
|
|
('single', 'Single'),
|
|
('married', 'Married'),
|
|
], string='Vermont VT W-4VT Filing Status', help='VT W-4VT')
|
|
vt_w4vt_sit_allowances = fields.Integer(string='Vermont VT W-4VT Allowances', help='VT W-4VT 5.')
|
|
|
|
va_va4_sit_exemptions = fields.Integer(string='Virginia VA-4(P) Personal Exemptions',
|
|
help='VA-4(P) 1(a)')
|
|
va_va4_sit_other_exemptions = fields.Integer(string='Virginia VA-4(P) Age & Blindness Exemptions',
|
|
help='VA-4(P) 1(b)')
|
|
|
|
wi_wt4_sit_filing_status = fields.Selection([
|
|
('single', 'Single'),
|
|
('married', 'Married'),
|
|
], string='Wisconsin WT-4 Filing Status', help='WI WT-4')
|
|
wi_wt4_sit_exemptions = fields.Integer(string='Wisconsin Exemptions', help='WI WT-4 1.(d)')
|
|
|
|
wv_it104_sit_filing_status = fields.Selection([
|
|
('single', 'Single'),
|
|
('married', 'Married'),
|
|
('head_household', 'Head of Household')
|
|
], string='West Virginia WV/IT-104 Filing Status', help='WV WV/IT-104')
|
|
wv_it104_sit_exemptions = fields.Integer(string='West Virginia Exemptions', help='WV WV/IT-104 4.')
|