1. 程式人生 > >2009年的個人所得稅和社保計算

2009年的個人所得稅和社保計算

#!/usr/bin/env python
#coding:utf8
# author: zhouhh
# email: [email protected]
# date: 2008.6.17
# update: 2010.3.18
# money.py
housing_fun_notes2009 =
'''
北京住房公積金管理委員會
關於2009住房公積金年度住房公積金繳存有關問題的通知
京房公積金管委會〔2009〕2號
北京住房公積金管理中心、各住房公積金繳存單位:
    根據《住房公積金管理條例》,經北京住房公積金管理委員會第八次全體會議審議通過,市政府批准,現就北京2009住房公積金年度住房公積金繳存有關問題通知如下:

    一、住房公積金繳存比例
    2009住房公積金年度(2009年7月1日至2010年6月30日)住房公積金繳存比例為12
%。 二、住房公積金繳存額上限 2009住房公積金年度的繳存額上限按照2008年北京市職工月均工資的300%,分別乘以單位和職工住房公積金繳存比例確定。按照北京市統計局公佈的資料,2009住房公積金年度職工住房公積金月繳存額上限是:3726×300%×12%×2=2682元(四捨五入)。原則上不允許住房公積金繳存額突破繳存額上限。 三、北京住房公積金管理委員會授權北京住房公積金管理中心審批單位住房公積金緩繳、降低繳存比例申請,並報北京住房公積金管理委員會備案。 北京住房公積金管理委員會 二○○九年四月二日 '''
notes2009 = ''' 關於調整本市部分社會保險繳費問題的通知 釋出日期:2009年03月03日 京勞社保發[2008]237號 各區(縣)勞動和社會保障局、各參保單位: 按照國家及市政府有關規定,經批准,現就調整本市部分社會保險繳費有關問題通知如下: 一、用人單位繳納失業保險費的繳費費率由1.5%調整為1%;個人繳納失業保險費的繳費費率由0.5%調整為0.2%。 二、用人單位繳納工傷保險的,按新的浮動檔次和繳費費率執行(具體浮動檔次和繳費費率附後)。 三、用人單位按2%的繳費費率按月為農民工繳納基本醫療保險的,繳費費率由2%調整為1%,其中0.9%劃入基本醫療保險統籌基金,0.1%劃入大額醫療互助資金。 四、以上繳費費率的調整均自2009年1月1日起執行。 五、2009年繳費年度(2009年4月1日至2010年3月31日),本市基本養老保險繳費下限過渡比例暫不調整,具體標準仍為上一年度(2008年度)本市職工月平均工資的40%,自2009年4月1日起執行。 六、基本醫療保險的繳費週期調整,具體繳費辦法和調整時間另行規定。 附件:《工傷保險費率調整方案》 北京市勞動和社會保障局 二○○八年十二月三十一日 附件: 工傷保險費率調整方案 一、一類行業 1.現行費率為0.2%、0.3%的用人單位不調整。 2.現行費率為0.5%的用人單位,2007、2008年度無費用支出的,費率下調為0.3;有費用支出,但支出/收入小於0.8(含0.8)的,費率下調為0.4%。 3.現行費率為0.4%的用人單位,費率下調為0.3%。 二、二類行業 1.現行費率為0.8%的用人單位,2007、2008年度無費用支出的,費率下調為0.5%。 2.現行費率為1.0%的用人單位,2007、2008年度無費用支出的,費率下調為0.8%。 3.現行費率為1.2%的用人單位,2007、2008年度無費用支出的,費率下調為1.0%。 4.現行費率為1.5%的用人單位,2007、2008年度無費用支出的,費率下調為1.2%。 ======================= 北京市基本醫療保險規定: http://www.bjld.gov.cn/LDJAPP/search/fgdetail.jsp?no=237 第十條 職工按本人上一年月平均工資的2%繳納基本醫療保險費。 職工本人上一年月平均工資低於上一年本市職工月平均工資60%的,以上一年本市職工月平均工資的60%為繳費工資基數,繳納基本醫療保險費。 職工本人上一年月平均工資高於上一年本市職工月平均工資300%以上的部分,不作為繳費工資基數,不繳納基本醫療保險費。 無法確定職工本人上一年月平均工資的,以上一年本市職工月平均工資為繳費工資基數,繳納基本醫療保險費。 第十二條 用人單位按全部職工繳費工資基數之和的9%繳納基本醫療保險費 第二十一條 用人單位繳納的基本醫療保險費的一部分按照下列標準劃入個人帳戶: (一)不滿35週歲的職工按本人月繳費工資基數的0.8%劃入個人帳戶; (二)35週歲以上不滿45週歲的職工按本人月繳費工資基數的1%劃入個人帳戶; (三)45週歲以上的職工按本人月繳費工資基數的2%劃入個人帳戶; (四)不滿70週歲的退休人員按上一年本市職工月平均工資的4.3%劃入個人帳戶; (五)70週歲以上的退休人員按上一年本市職工月平均工資的4.8%劃入個人帳戶。 第三十二條 基本醫療保險統籌基金支付的起付標準按上一年本市職工平均工資的10%左右確定。個人在一個年度內第二次以及以後住院發生的醫療費用,基本醫療保險統籌基金支付的起付標準按上一年本市職工平均工資的5%左右確定。 第三十三條 基本醫療保險統籌基金在一個年度內支付職工和退休人員的醫療費用累計最高支付限額按上一年本市職工平均工資的4倍左右確定。 第三十八條 大額醫療費用互助資金由用人單位和個人共同繳納。用人單位按全部職工繳費工資基數之和的1%繳納,職工和退休人員個人按每月3元繳納。大額醫療費用互助資金在每月繳納基本醫療保險費時一併繳納。 ============== 關於統一2009年度各項社會保險繳費工資基數和繳費金額的通知 京社保發[2009]24號 各區(縣)社會保險基金管理中心、市經濟技術開發區社會保險基金管理中心,各社會保險代辦機構,各參保單位: 根據北京市社會保險的相關規定、市勞動和社會保障局下發的《關於調整本市部分社會保險繳費問題的通知》(京勞社保發〔2008〕237號)和市統計局公佈的2008年北京市職工年平均工資(44715元),現就統一2009繳費年度各項社會保險繳費工資基數和繳費金額的有關問題通知如下: 一、凡以本市上一年職工月平均工資作為繳費基數的,其繳費工資基數為3726元。 二、凡是上一年職工月平均工資收入超過本市上一年職工月平均工資300%的,其繳費工資基數為11178元。 三、凡以本市上一年職工月平均工資的70%作為繳費基數的,其繳費工資基數為2608元。我要社保網 四、凡以本市上一年職工月平均工資的60%作為繳費基數的,其繳費工資基數為2236元。我要社保網 五、凡以本市上一年職工月平均工資的40%作為繳費基數的,其繳費工資基數為1490元。 六、本市和外埠農民工按上年度本市職工最低工資標準繳納養老保險、失業保險費的,其繳費工資基數為800元。 七、各區(縣)社會保險基金管理中心、市經濟技術開發區社會保險基金管理中心、社會保險代辦機構應根據參保單位申報的職工2008年月平均工資收入,核定參保單位與職工2009年度實際繳費工資基數。 八、個人委託存檔的靈活就業人員繳納基本養老保險、失業保險和基本醫療保險月繳費金額: (一)基本養老保險、失業保險 1.以本市上一年職工月平均工資為繳費基數的,月繳納基本養老保險費745.2元、失業保險費44.71元。 2.以本市上一年職工月平均工資的60%作為繳費基數的,月繳納基本養老保險費447.2元、失業保險費26.83元。 3.以本市上一年職工月平均工資的40%作為繳費基數的,月繳納基本養老保險298元、失業保險費17.88元。 (二)醫療保險 1.不享受醫療保險補貼人員: 個人月繳費為182.56元,其中基本統籌169.52元、大額互助13.04元。 2.享受醫療保險補貼人員: 個人月繳費為26.08元,其中基本統籌13.04元、大額互助13.04元。 二○○九年三月二十五日 '''
def money(all_salary,has_welfare,has_housing_fund): money = all_salary #bj_average_salary=3322;#in 2008 using average salary of year 2007 bj_average_salary=3726;#in 2009 using average salary of year 2008 min = 1490 #bj_average_salary*0.4 max = bj_average_salary*3 welfare_fund = all_salary if all_salary > max: welfare_fund = max if all_salary < min: welfare_fund = min print("total money=%.2f"%all_salary) medical_fund=welfare_fund*0.02+3 retire_fund=welfare_fund*0.08 #unemploy_fund =welfare_fund*0.005 #2008 unemploy_fund =welfare_fund*0.002 #2009 if not has_welfare: welfare_fund = 0 medical_fund=0 retire_fund=0 unemploy_fund =0 else: print("medical fund = %d*0.02+3=%.2f"%(welfare_fund,medical_fund) ) print("retirement fund = %d*0.08 =%.2f"%(welfare_fund,retire_fund) ) print("unemployment fund = %d*0.005=%.2f"%(welfare_fund,unemploy_fund )) housing_fund=welfare_fund*0.12 if not has_housing_fund: housing_fund = 0 else: print("housing fund = %d*0.12=%.2f"%(welfare_fund,housing_fund)) all_welfare_fund=medical_fund+retire_fund+unemploy_fund +housing_fund print("all welfare fund=%.2f"% all_welfare_fund) money -=all_welfare_fund before_tax = money print("before tax money =%.2f"%before_tax ) if before_tax < 2000 : print(" you have no tax,you own money=%.2f"%before_tax) return before_tax #after 2008.3.1 tax l1=500*0.05 #2000-2500, %5 l2=1500*0.10 #2500-4000 %10 +=25 l3=3000*0.15 #4000-7000 %0.15 +=175 l4=15000*0.20 #7000-22000 %20 += 625 l5=20000*0.25 #22000-42000 %25 +=3625 l6=20000*0.30 #42000-62000 %30 +=8625 l7=20000*0.35 #62000-82000 %35 +=14625 l8=20000*0.40 #82000-102000 %40 +=21625 l9=0 # +=29625 money -=2000 tax=0; if money<500: l1=money*0.05 tax=l1 print("you are in level 1,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax))) return before_tax-tax money -= 500 if money<1500: l2=money*0.10 tax=l1+l2 print("you are in level 2,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax))) return before_tax-tax money -= 1500 if money<3000: l3=money*0.15 tax=l1+l2+l3 print("you are in level 3,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax))) return before_tax-tax money -= 3000 if money<15000: l4=money*0.20 tax=l1+l2+l3+l4 print("you are in level 4,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax))) return before_tax-tax money -= 15000 if money<20000: l5=money*0.25 tax=l1+l2+l3+l4+l5 print("you are in level 5,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax))) return before_tax-tax money -= 20000 if money<20000: l6=money*0.30 tax=l1+l2+l3+l4+l5+l6 print("you are in level 6,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax))) return before_tax-tax money -= 20000 if money<20000: l7=money*0.35 tax=l1+l2+l3+l4+l5+l6+l7 print("you are in level 7,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax))) return before_tax-tax money -= 20000 if money<20000: l8=money*0.40 tax=l1+l2+l3+l4+l5+l6+l7+l8 print("you are in level 8,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax))) return before_tax-tax money -= 20000 l9=money*0.45 tax=l1+l2+l3+l4+l5+l6+l7+l8+l9 print("you are in level 9,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax))) return before_tax-tax