个人所得税的算法

今天没事看了下个人所得税的计算方法,目前的起征额为2000。基本算法为:

本次所得税 = (本月工资总额-公积金或社保缴纳额-缴税起征额)× 税率 – 速算扣除数。我们个人所得税率是按超额累进税率方法来计算。

http://114.xixik.com//table-of-rates/

根据上面个人所得税率表中的计算方法写的一个SQL。有点死板,以后慢慢改进

1 征税额
2 起征标准(目前为2000)

Note: 1必须是除去保险或公积金之后的金额,比如: 小王 月工资8500.社保缴纳1500 那1= 8500-1600后为实际的征税额

SELECT (CASE
         WHEN a1 <= 500
	  THEN a1 * 0.05
	 WHEN a1 > 500 AND a1 <= 2000
	  THEN a1 * 0.1 - (500 * 0.05)
	 WHEN a1 > 2000 AND a1 <= 5000
	  THEN a1 * 0.15 - (1500 * 0.05 + 500 * 0.1)
	 WHEN a1 > 5000 AND a1 <= 20000
	  THEN a1 * 0.2 - (3000 * 0.05 + 1500 * 0.1 + 500 * 0.15)
	 WHEN a1 > 20000 AND a1 <= 40000
	  THEN a1 * 0.25 - (15000 * 0.05 + 3000 * 0.1 + 1500 * 0.1 + 500 * 0.2)
	 WHEN a1 > 40000 AND a1 <= 60000
	  THEN a1 * 0.3 - (20000 * 0.05 + 15000 * 0.1 + 3000 * 0.15 + 1500 * 0.2 + 500 * 0.25)
	 WHEN a1 > 60000 AND a1 <= 80000
	  THEN a1 * 0.35 - (20000 * 0.05 + 20000 * 0.1 + 15000 * 0.15 + 3000 * 0.2 + 1500 * 0.25 + 500 * 0.3)
	 WHEN a1 > 80000 AND a1 <= 100000
	  THEN a1 * 0.4 - (20000 * 0.05 + 20000 * 0.1 + 20000 * 0.15 + 15000 * 0.2 + 3000 * 0.25 + 1500 * 0.3 + 500 * 0.35)
	 WHEN a1 > 100000
	  THEN a1 * 0.45 - (20000 * 0.05 + 20000 * 0.1 + 20000 * 0.15 + 20000 * 0.2 + 15000 * 0.25 + 3000 * 0.3 + 1500 * 0.35 + 500 * 0.4)
	 ELSE 0
	END) "Income tax for This Month"
  FROM (
         SELECT
              (CASE
                WHEN &&1 > &&2 THEN &&1 - &&2
	        ELSE 0
               END) a1
          FROM DUAL
	)
/

Relative Posts

Tags: , ,

Reader's Comments »

  1. By 安利产品 on 2010/08/17 at 9:28 上午

    写的不错,哈哈,博主文笔不错,做网站多久了?呵呵!!!!

Leave a Reply