A-A+

2019年新税率工资计算器(python脚本)

2018年12月27日 Python 暂无评论 阅读 2,690 views 次
    1. #!/usr/bin/evn python
    2. # coding=utf-8
    3. # 2019年新税率个人所得税计算器,本脚本仅供学习
    4. # blog: http://www.linuxyw.com
    5. # author: 戴儒锋
    6. wages = 25000       # 税前工资
    7. insurance = 2000    # 五险一金
    8. RAX_FREE = 5000     # 每月基本减除
    9. supertax = 1000     # 专项减免
    10. # 税率
    11. tax_rate_dict = {36000: 0.03, 144000: 0.1, 300000: 0.2, 420000: 0.25, 660000: 0.3, 960000: 0.35, "other": 0.45}
    12. # 速扣
    13. speek_dict = {36000: 0, 144000: 210 * 12, 300000: 1410 * 12, 420000: 2660 * 12, 660000: 4410 * 12, 960000: 7160 * 12, "other": 15160 * 12}
    14. def payTaxFree(month):
    15.     """计算当月应纳税额"""
    16.     return (wages  - RAX_FREE  - insurance - supertax)  * month
    17. def getMoney(month):
    18.     """当月预扣预缴税款(基础算法)"""
    19.     tax_free = payTaxFree(month)
    20.     tax_rate = taxCale("tax_rate", payTaxFree(month))
    21.     speek = taxCale("speek", payTaxFree(month))
    22.     return tax_free * tax_rate - speek
    23. def ExFunc(month):
    24.     """当月预扣预缴税款(累计减去已扣税款)"""
    25.     sum = [0]
    26.     def InsFunc():
    27.         s = getMoney(month)
    28.         if month > 1:
    29.             sum[0] += getMoney(month - 1)
    30.         return s - sum[0]
    31.     return InsFunc
  1. def taxCale(tag, value):
  2.     """计算税率和速扣额"""
  3.     if tag == "tax_rate":
  4.         value_dict = tax_rate_dict
  5.     else:
  6.         value_dict = speek_dict
  7.     keys = value_dict.keys()
  8.     keys.sort()
  9.     for k in keys:
  10.         if value <= k:
  11.             return value_dict.get(k)
  12.     return value_dict.get("other")
  13. def printLine(num = 50):
  14.     print "#" * num
  15. def main():
  16.     sum = 0
  17.     printLine()
  18.     print "你税前工资:%d,五险一金:%d, 专项减免:%d" % (wages, insurance, supertax)
  19.     printLine()
  20.     for month in xrange(1, 13):
  21.         myFunc = ExFunc(month)
  22.         final_paying_amount = wages - insurance - myFunc()
  23.         sum += final_paying_amount
  24.         print "%2d月份实发工资:%d, 扣税:%d" % (month,  final_paying_amount, wages - insurance - final_paying_amount)
  25.     printLine()
  26.     print "全年到手工资累计:%d 元" % sum
  27.     printLine()
  28. if __name__ == "__main__":
  29.     main()

图示:

2019年新税率工资计算器python脚本

2019年新税率工资计算器python脚本

 

本脚本已在本站实现了API,可在线查看:

URL:https://wx.linuxyw.com/api/tax/

方法:get

参数:

wages:税前工资

insurance: 五险一金

supertax: 专享税

mode: 视图模式(1:简易,2:正常)

如:https://wx.linuxyw.com/api/tax/?wages=25001&insurance=4800&supertax=2400&mode=2

 

返回参数包括每月实发工资列表,全年累计收入

 

给我留言

Copyright © linux系统运维 保留所有权利.   Theme  Ality 粤ICP备13023035号-1

用户登录

分享到: