2020 新税法工资计算
用ABAP 写的一个工资税计算程序,按新税法累计计算个税,工资越高越到后面扣的多、。。。。。
举例 8000 和 30000
工资8000:
工资30000
*&---------------------------------------------------------------------*
*& Report Z_CALCULATE_PAYROLL_TAX
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT z_calculate_payroll_tax.
SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE TEXT-000.
PARAMETERS: p_year TYPE char4 , "DEFAULT '2020',
p_month TYPE char2.
PARAMETERS: p_payr TYPE p DECIMALS 2 MODIF ID pay,
p_ded1 TYPE i MODIF ID de1,
p_ded2 TYPE p DECIMALS 2 MODIF ID de2.
SELECTION-SCREEN END OF BLOCK bl1.
TYPES:BEGIN OF ty_tax,
level TYPE i,
low TYPE i,
high TYPE i,
pecent TYPE p DECIMALS 2,
de_amount TYPE i,
END OF ty_tax.
DATA:gt_tax TYPE STANDARD TABLE OF ty_tax,
gs_tax TYPE ty_tax.
TYPES:BEGIN OF ty_tax_cal,
month TYPE i,
payroll TYPE p DECIMALS 2,
ded1 TYPE p DECIMALS 2,
ded2 TYPE p DECIMALS 2,
payroll_cal TYPE p DECIMALS 2,
tax TYPE p DECIMALS 2,
END OF ty_tax_cal.
DATA:gt_month TYPE STANDARD TABLE OF ty_tax_cal,
gs_month TYPE ty_tax_cal.
DATA:gt_month_tmp TYPE STANDARD TABLE OF ty_tax_cal,
gs_month_tmp TYPE ty_tax_cal.
INITIALIZATION.
PERFORM frm_init.
p_year = sy-datum+0(4).
p_month = 12.
START-OF-SELECTION.
END-OF-SELECTION.
PERFORM frm_calculate_tax.
FORM frm_init.
REFRESH gt_tax.
CLEAR gs_tax.
gs_tax-level = 1.
gs_tax-low = 0.
gs_tax-high = 36000.
gs_tax-pecent = '0.03'.
gs_tax-de_amount = 0.
APPEND gs_tax TO gt_tax.
gs_tax-level = 2.
gs_tax-low = 36000.
gs_tax-high = 144000.
gs_tax-pecent = '0.1'.
gs_tax-de_amount = 2520.
APPEND gs_tax TO gt_tax.
gs_tax-level = 3.
gs_tax-low = 144000.
gs_tax-high = 300000.
gs_tax-pecent = '0.2'.
gs_tax-de_amount = 16920.
APPEND gs_tax TO gt_tax.
gs_tax-level = 4.
gs_tax-low = 300000.
gs_tax-high = 420000.
gs_tax-pecent = '0.25'.
gs_tax-de_amount = 31920.
APPEND gs_tax TO gt_tax.
gs_tax-level = 5.
gs_tax-low = 420000.
gs_tax-high = 660000.
gs_tax-pecent = '0.3'.
gs_tax-de_amount = 52920.
APPEND gs_tax TO gt_tax.
gs_tax-level = 6.
gs_tax-low = 660000.
gs_tax-high = 960000.
gs_tax-pecent = '0.35'.
gs_tax-de_amount = 85920.
APPEND gs_tax TO gt_tax.
gs_tax-level = 7.
gs_tax-low = 960000.
gs_tax-high = 9960000.
gs_tax-pecent = '0.45'.
gs_tax-de_amount = 181920.
APPEND gs_tax TO gt_tax.
REFRESH gt_month.
CLEAR gs_month.
ENDFORM.
FORM frm_calculate_tax.
*按税率计算税额
DATA lv_month TYPE i.
DATA lv_time TYPE i.
lv_month = 0.
lv_time = p_month.
DO lv_time TIMES.
lv_month = lv_month + 1.
gs_month-month = lv_month."月份
gs_month-payroll = p_payr * lv_month."累计工资
gs_month-ded1 = p_ded1 * lv_month. "累计附加扣除
gs_month-ded2 = p_ded2 * lv_month. "累计扣的五险一金
gs_month-payroll_cal = gs_month-payroll - gs_month-ded1 - gs_month-ded2 - 5000 * lv_month."总工资扣除总的五险一金和累计附加扣除后用于计算税的部分
APPEND gs_month TO gt_month.
ENDDO.
LOOP AT gt_month INTO gs_month.
LOOP AT gt_tax INTO gs_tax WHERE low < gs_month-payroll_cal AND high >= gs_month-payroll_cal.
gs_month-tax = gs_month-payroll_cal * gs_tax-pecent - gs_tax-de_amount.
ENDLOOP.
MODIFY gt_month FROM gs_month.
ENDLOOP.
REFRESH gt_month_tmp.
APPEND LINES OF gt_month TO gt_month_tmp.
SORT gt_month_tmp BY month DESCENDING.
DATA lv_tax TYPE p DECIMALS 2.
*扣除之前扣掉的税额
LOOP AT gt_month INTO gs_month.
LOOP AT gt_month_tmp INTO gs_month_tmp WHERE month < gs_month-month.
gs_month-tax = gs_month-tax - gs_month_tmp-tax.
EXIT.
ENDLOOP.
MODIFY gt_month FROM gs_month.
WRITE : / gs_month-month,gs_month-tax.
" WRITE :'\n'.
lv_tax = lv_tax + gs_month-tax.
CLEAR gs_month.
ENDLOOP.
WRITE:/ '总共' && lv_tax.
ENDFORM.
2020 新税法工资计算相关推荐
- [Python] 2018新税法下工资计算
新个税的草案,明确了新版7级税率明细:全年应纳税所得额不超过3.6万元的,适用3%税率:超过3.6万元至14.4万元的部分,适用10%税率:超过14.4万元至30万元的部分,适用20%税率:超过30万 ...
- 新版个人所得税计算python_2019年新税率工资计算器(python脚本) | linux系统运维...
#!/usr/bin/evn python # coding=utf-8 # 2019年新税率个人所得税计算器,本脚本仅供学习 # blog: http://www.linuxyw.com # aut ...
- 程序员真香!IT 业 2020 年平均工资最高
整理 | 王晓曼 出品 | 程序人生 (ID:coder _life) 5月19日,国家统计局发布2020年平均工资数据,随后,相关话题便冲上微博热搜. 程序员真香! 据国家统计局发布的数据显示,20 ...
- 2020年平均工资出炉 IT行业超17万居首
2020年平均工资数据出炉. 在疫情冲击下,平均工资的增速回落至多年较低水平,但是仍然保持增长. 其中,城镇非私营单位平均工资超9.7万元:程序员还是最吃香,IT业年平均工资超17万元居首. 非私营单 ...
- 今年两会大火的新基建,平均企业月薪1.63万 | 2020新基建中高端人才市场就业吸引力报告...
来源:猎聘 本文长度为3000字,建议阅读9分钟. 北上深新基建企业薪资领先全国,东莞位居第四成黑马. 今年,新基建(新型基础设施建设)成为当之无愧的社会流行热词,受到了社会各界的关注,也频频出现在地 ...
- 2019年新税法+抵扣项的个人所得税攻击计算器
由于新税法是累进抵扣,所以每月需要缴税的金额也是不一样的,写了个python程序算一下自己每年要交多少个税 # -*- coding: utf-8 -*- import matplotlib.pypl ...
- 2017西安php行业工资,西安2020冬季平均工资出炉!基金、IT服务这些行业薪资高...
前段时间各大平台的年度总结都出炉了,看到微信.支付宝年度账单的时候,小编着实倒吸了一口凉气:"怎么花了这么多?".不过挣钱就是为了花(小编自我安慰一下).新的一年继续好好挣钱就行了 ...
- 2020新基建人才薪资:工业互联网月薪1.81万元居首,超5G、人工智能
近日,猎聘大数据研究院推出<2020新基建中高端人才市场就业吸引力报告>,刻画新基建领域的中高端人才画像. 该<报告>数据统计时间主要为2020年1-4月,重点针对5G.大数据 ...
- 2020年平均工资出炉!哪个行业最赚钱?
点击上方 "编程技术圈"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 每日英文 Man has to be crazy for once, whe ...
最新文章
- 【mybatis基础】mybatis开发dao两种方法
- 原来流行也可以变成怀旧!
- notepad++每行首尾添加内容
- 使用Canvas扩展绘制动态ASP.NET Core Blazor气泡图
- 腾讯广告算法大赛 | 复赛第一周周冠军心得分享
- 小狗扫地机器人与石头_石头扫地机器人 T7:使用一周后的真实测评报告
- oracle的解析計劃,Oracle中获取执行计划的几种方法分析
- android桌面小工具,超好用的手机桌面小组件,一键美化桌面,实用又美观
- 大学课程 | 《软件工程》知识点超详细总结归纳
- 基于51单片机机械臂控制系统
- SXF python
- CrystalDiskInfo 各项参数说明
- java 如何转化成机器指令_Java代码到底是如何编译成机器指令的
- (自己编写函数)Python + Opencv 图像边缘检测(模糊算法【老师给的ppt中原理是这样的,但是还有很多不明白,有很多参数老师没说怎么算,只说了每张图片不一样】)
- Mysql 安装及my.ini的创建
- oracle 关系 表 视图_oracle主要的动态视图与基表的对应关系
- linux系统man手册,Linux中man手册的使用
- Mysql 中MVCC 设计方式
- 技术体系构建_构建出色的技术简历的简单指南
- thinkph5 路由技巧
热门文章
- innerHTML与innerText区别
- 于g2o新版本编译出错的原因及解决办法
- 【表格】科研每日日程安排表【来自知乎】
- SQL查询知识点总结
- 家用投影仪什么牌子好?怎样选投影仪
- Excel批量删除插入的对象的2种方法
- c语言编译生成的目标文件拓展名,系统默认的C语言源程序文件的扩展名是(),经过编译后生成的目标文件的扩展名是(),经过连接后生成的可执行文件的扩展名是()。...
- 03、css float 浮动属性
- java swing课程表设计_阶段2:手把手快速做一个Java swing mysql学生选课系统附带完整源码及视频开发教程【猿来入此自营】...
- 对您的爱,一直都在。