每月个人所得税、税后薪资计算器:
def due_tax(due_income): ''' 本函数计算年度应缴个税 :param due_income:本年累计应纳税所得额 :return:本月应缴个税金额 ''' if 0<due_income<=36000:return due_income*0.03-0 #本年累计应纳税所得额*税率-速算扣除数 if 36000<due_income<=144000:return due_income*0.10-2520 if 144000<due_income<=300000:return due_income*0.20-16920 if 300000<due_income<=420000:return due_income*0.25-31920 if 420000<due_income<=660000:return due_income*0.30-52920 if 660000<due_income<=960000:return due_income*0.35-85920 if due_income>960000:return due_income*0.45-181920 def cal_income(monthly_income=15000,house=0.07,pension=0.08,medical=0.02,unemployment=6.6,monthly_deductable=5000): ''' 计算个税及税后薪资 :param monthly_income: 每月税前薪资 :param house: 公积金比例 :param pension: 养老金比例 :param medical: 医疗保险比例 :param unemployment: 每月失业保险金(元) :param monthly_deductable: 每月扣除金额(如房租等) :return: 全年累计应缴个税、累计三险一金、累计净收入、每月应缴个税、每月税后收入 ''' print('每月税前工资:{:.2f}'.format(monthly_income)) print('公积金比例:{:.2f}'.format(house)) print('养老保险比例:{:.2f}'.format(pension)) print('医疗保险比例:{:.2f}'.format(medical)) print('失业保险金:{:.2f}'.format(unemployment)) print('每月扣除金额:{:.2f}'.format(monthly_deductable)) months=12 #本年工作月数 sum_insurance=0 #本年累计已缴三险一金 sum_deductable=0 #本年累计扣除 sum_income=0 #本年累计收入 sum_tax=0 #本年累计已缴个税 sum_pure_income=0 #本年累计净收入(税后或到手工资) taxes=[] pure_incomes=[] for i in range(1,months+1): sum_income+=monthly_income sum_deductable+=monthly_deductable #本年度累计应缴税所得额=年度累计总收入-累计扣除-累计三险一金 due_income=sum_income-sum_deductable-sum_insurance #本月个税=本年累计应缴个税-本年累计已缴个税 tax=due_tax(due_income)-sum_tax taxes.append(tax) #本月三险一金 insurance=monthly_income*(house+pension+medical)+unemployment #本月净收入=税前工资-本月三险一金-本月个税 pure_income=monthly_income-insurance-tax pure_incomes.append(pure_income) #打印本月个税、净收入 print('{}月份-本月应缴个税:{:.2f},税后收入:{:.2f}'.format(i,tax,pure_income)) #更新累计已缴个税、已缴三险一金、净收入 sum_tax+=tax sum_insurance+=insurance sum_pure_income+=pure_income plus_house=sum_pure_income+monthly_income*house*months print('全年累计应缴个税:{:.2f},全年应缴三险一金:{:.2f},全年净收入:{:.2f},净收入+公积金:{:.2f}'.format(sum_tax,sum_insurance,sum_pure_income,plus_house)) return sum_tax,sum_insurance,sum_pure_income,taxes,pure_incomes if __name__=='__main__': cal_income()
用以上默认的薪资等参数,函数的输出为:
每月税前工资:15000.00 公积金比例:0.07 养老保险比例:0.08 医疗保险比例:0.02 失业保险金:6.60 每月扣除金额:5000.00 1月份-本月应缴个税:300.00,税后收入:12143.40 2月份-本月应缴个税:223.30,税后收入:12220.10 3月份-本月应缴个税:223.30,税后收入:12220.10 4月份-本月应缴个税:223.30,税后收入:12220.10 5月份-本月应缴个税:487.45,税后收入:11955.95 6月份-本月应缴个税:744.34,税后收入:11699.06 7月份-本月应缴个税:744.34,税后收入:11699.06 8月份-本月应缴个税:744.34,税后收入:11699.06 9月份-本月应缴个税:744.34,税后收入:11699.06 10月份-本月应缴个税:744.34,税后收入:11699.06 11月份-本月应缴个税:744.34,税后收入:11699.06 12月份-本月应缴个税:744.34,税后收入:11699.06 全年累计应缴个税:6667.74,全年应缴三险一金:30679.20,全年净收入:142653.06,净收入+公积金:155253.06
将月收入设为3万元,则:
每月税前工资:30000.00 公积金比例:0.07 养老保险比例:0.08 医疗保险比例:0.02 失业保险金:6.60 每月扣除金额:5000.00 1月份-本月应缴个税:750.00,税后收入:24143.40 2月份-本月应缴个税:1219.34,税后收入:23674.06 3月份-本月应缴个税:1989.34,税后收入:22904.06 4月份-本月应缴个税:1989.34,税后收入:22904.06 5月份-本月应缴个税:1989.34,税后收入:22904.06 6月份-本月应缴个税:1989.34,税后收入:22904.06 7月份-本月应缴个税:2025.38,税后收入:22868.02 8月份-本月应缴个税:3978.68,税后收入:20914.72 9月份-本月应缴个税:3978.68,税后收入:20914.72 10月份-本月应缴个税:3978.68,税后收入:20914.72 11月份-本月应缴个税:3978.68,税后收入:20914.72 12月份-本月应缴个税:3978.68,税后收入:20914.72 全年累计应缴个税:31845.48,全年应缴三险一金:61279.20,全年净收入:266875.32,净收入+公积金:292075.32