*关于工资薪金所得应交个人所得税的具体计算方法如下:
“应税所得=取得的收入-免税收入-费用扣除额
“应交的个税=应税所得*适用税率-速算扣除数。
“其中:
“1。免税收入包括有:个人按照规定交纳的社会保险金和住房公积金,等。
“2。费用扣除额(即平常所说的所谓的“起征点”)自2006年1月1日起,全国统一执行1 600元的标准。目前法定的费用扣除额为800元,但各地在执行中存在擅自提高的情况,因此各地实际的费用扣除额并不一样。
“3。税率为5%-45%九级超额累进税率。由于超额累进税率的计算较为复杂,因此转化为使用适用税率和速算扣除数的简化算法。具体适用税率和速算扣除数可查阅税率表:
“(应税所得、适用税率%、速算扣除数)
“0-500、5、0
“500-2 000、10、25
“2 000-5 000、15、125
“5 000-20 000、20、375
“20 000-40 000、25、1 375
“40 000-60 000、30、3 375
“60 000-80 000、35、6 375
“80 000-100 000、40、10 375
“100 000以上、45、15 375
DATA : l_salary type f.
PARAMETERS p_salary type string.
TRY .
l_salary = p_salary.
CATCH cx_root.
WRITE ‘Error input’ .
exit.
ENDTRY.
DATA:
l_sal_for_calc type p ,
l_house_fund type f ,
l_house_fund_p type p ,
l_old_passion type p ,
l_medicial type p ,
l_unemployed type p ,
l_tax type f.
if l_salary > 6705 .
l_sal_for_calc = 6705.
endif.
l_medicial = l_sal_for_calc / 100 * 2 .
l_house_fund = l_salary / 100 * 7.
if l_house_fund > 517 .
l_house_fund = 517 .
endif.
l_old_passion = l_sal_for_calc / 100 * 8.
l_unemployed = l_sal_for_calc / 100 * 1.
WRITE : / , ‘Medical: ’ ,l_medicial,
/ , ‘Unemployee: ’ ,l_unemployed,
/ , ‘Old Passion: ’ ,l_old_passion,
/ , ‘House Fund: ’ ,l_house_fund .
l_sal_for_calc = l_salary - l_medicial - l_unemployed - l_old_passion - l_house_fund.
l_sal_for_calc = l_sal_for_calc - 1600 .
DATA : l_tmp type f .
if l_sal_for_calc < 0 .
l_tax = 0 .
else .
l_tmp = l_sal_for_calc - 500 .
if l_tmp < 0 .
l_tax = l_tax + l_sal_for_calc * 5 / 100 .
else .
l_tax = l_tax + 500 * 5 / 100.
l_sal_for_calc = l_sal_for_calc - 500 .
l_tmp = l_sal_for_calc - 1500.
if l_tmp < 0 .
l_tax = l_tax + l_sal_for_calc * 10 / 100 .
else.
l_tax = l_tax + 1500 * 10 / 100.
l_sal_for_calc = l_sal_for_calc - 1500 .
l_tmp = l_sal_for_calc - 3000.
if l_tmp < 0 .
l_tax = l_tax + l_sal_for_calc * 15 / 100 .
else.
l_tax = l_tax + 3000 * 15 / 100.
l_sal_for_calc = l_sal_for_calc - 3000 .
l_tmp = l_sal_for_calc - 15000.
if l_tmp < 0 .
l_tax = l_tax + l_sal_for_calc * 20 / 100 .
else.
l_tax = l_tax + 15000 * 20 / 100.
l_sal_for_calc = l_sal_for_calc - 15000 .
endif.
endif.
endif.
endif.
l_sal_for_calc = l_sal_for_calc - 500.
endif.
NEW-LINE.
WRITE :/ ’tax:’ , l_tax.