North Carolina Unemployment - Wages (2018) NC_UNEMP_WAGES_2018 python result = (payslip.date_to[:4] == '2018') code ytd = payslip.sum('NC_UNEMP_WAGES_2018', '2018-01-01', '2019-01-01') ytd += contract.external_wages remaining = 7000.0 - ytd if remaining <= 0.0: result = 0 elif remaining < categories.GROSS: result = remaining else: result = categories.GROSS North Carolina Unemployment (2018) NC_UNEMP_2018 python result = (payslip.date_to[:4] == '2018') code result_rate = -contract.nc_unemp_rate(2018) result = categories.NC_UNEMP_WAGES # result_rate of 0 implies 100% due to bug if result_rate == 0.0: result = 0.0 North Carolina Income Withholding NC_INC_WITHHOLD_2018 python result = (payslip.date_to[:4] == '2018') code wages = categories.GROSS allowances = contract.nc_nc4_allowances schedule_pay = contract.schedule_pay val = 0.00 # PST -> Portion of standard deduction PST = 0.0 allowance_multiplier = 0.0 if 'weekly' == schedule_pay: allowance_multiplier = 48.08 if contract.nc_nc4_filing_status == 'head_household': PST = 269.23 else: PST = 168.27 elif 'bi-weekly' == schedule_pay: allowance_multiplier = 96.15 if contract.nc_nc4_filing_status == 'head_household': PST = 538.46 else: PST = 336.54 elif 'semi-monthly' == schedule_pay: allowance_multiplier = 104.17 if contract.nc_nc4_filing_status == 'head_household': PST = 583.33 else: PST = 364.58 elif 'monthly' == schedule_pay: allowance_multiplier = 208.33 if contract.nc_nc4_filing_status == 'head_household': PST = 1166.67 else: PST = 729.17 else: raise Exception('Invalid schedule_pay="' + schedule_pay + '" for NC Income Withholding calculation') # Algorithm derived from percentage method in https://files.nc.gov/ncdor/documents/files/nc-30_book_web.pdf if contract.nc_nc4_filing_status == 'exempt': result = 0 else: result = -round(((wages - (PST + (allowance_multiplier * allowances))) * 0.05599) + contract.nc_nc4_additional_wh)