知识要点

  • 劳务报酬定义
  • 计算方式
  • 税率表
  • 计算方式理解
  • 代码

2019年1月1日起,将劳务报酬、稿酬、特许权使用费等三项所得与工资薪金合并起来计算纳税,并实行专项附加扣除。
对于个人,你可能有劳动报酬所得,需要知道劳动报酬是怎么计税的;
或者工作中,有些项目需要按劳动报酬计税,也需要知道怎么计算。

劳务报酬定义

那么,哪些日常收入属于劳务报酬呢?

劳务报酬所得,是指个人从事设计、装潢、安装、制图、化验、测试、医疗、法律、会计、咨询、讲学、新闻、广播、翻译、审稿、书画、雕刻、影视、录音、录像、演出、表演、广告、展览、技术服务、介绍服务、经纪服务、代办服务以及其他劳务取得的所得。

计算方式

提醒:劳务报酬所得,每次收入不超过四千元的,减除费用八百元;四千元以上的,减除百分之二十的费用,其余额为应纳税所得额。然后适用比例税率,税率为百分之二十。

税率表

对劳务报酬所得一次收入,适用以下税率表:

计算方式理解

假设税前收入为x,应纳税所得额为y,速扣系数指的是按下一个阶梯税率计算时,会多扣除上面阶梯的金额,所以应该回补部分金额。

  • 税率适应于应纳税所得额,而不是税前总收入。
  • 收入小于等于800部分,不计税。
  • 收入大于800且小于等于4000的部分,应纳税所得额为x-800。
  • 收入大于等于4000部分,应纳税所得额为0.8x。
  • 应纳税所得额小于等于20000,适用于税率20%。
  • 应纳税所得额大于20000且小于等于50000,适用于税率30%,速扣系数2000。
  • 应纳税所得额大于50000,适用于税率40%,速扣系数7000。

代码

public class IncomeTaxUtils {/*** 小数点后保留位数,2位,四舍五入*/private static final int DIGIT_NUMBER_AFTER_DOT = 2;/*** 劳务报酬所得,每次收入不超过四千元的,减除费用八百元;四千元以上的,减除百分之二十的费用,其余* 额为应纳税所得额。然后适用比例税率,税率为百分之二十。** |收入(x)         |应纳税部分(y)     |   阶梯         |税率        | 纳税额           | 速扣系数     |* -----------------------------------------------------------------------------------------------* |x<=800         |      0       |     0             |  0        | 0               | 0           |* |800<x<=4000    |    x-800     |    y<=20000       |  20%      | (x-800)*20%     | 0           |* |4000<x<=20000  |    0.8x      |    y<=20000       |  20%      | 0.8x*20%        | 0           |* |20000<x<=50000 |    0.8x      |    20000<y<=50000 |  30%      | 0.8x*30%        | 2000        |* |x>50000        |    0.8x      |    y>50000        |  40%      | 0.8x*40%        | 7000        |** @param originIncome* @return*/public static double incomeAfterTax(double originIncome) {//应纳税部分double taxIncome = 0;double taxRate = 0;double quickDeducData = 0;if (originIncome <= 800) {return originIncome;} else if (originIncome > 800 && originIncome <= 4000) {taxIncome = originIncome - 800;taxRate = 0.2;}if (originIncome > 4000) {taxIncome = originIncome * 0.8;}if (taxIncome <= 20000) {taxRate = 0.2;} else if (taxIncome > 20000 && taxIncome <= 50000) {taxRate = 0.3;quickDeducData = 2000;} if (taxIncome > 50000) {taxRate = 0.4;quickDeducData = 7000;}double incomeAfterTax = originIncome - (taxIncome * taxRate - quickDeducData);return roundHalfUpValue(incomeAfterTax, DIGIT_NUMBER_AFTER_DOT);}private static double roundHalfUpValue(double value, int digitNumberAfterDot) {BigDecimal bigDecimal = new BigDecimal(value);return bigDecimal.setScale(digitNumberAfterDot, BigDecimal.ROUND_HALF_UP).doubleValue();}public static void main(String[] args) {double[] array = {799, 800, 2300, 4000, 8000, 20000, 21000, 30000, 50000, 80000, 28947.37, };for (double arr: array) {double value = incomeAfterTax(arr);System.out.println("income:" + arr +  "  after tax:"+ value);}double value = 1.2567;System.out.println(roundHalfUpValue(value, DIGIT_NUMBER_AFTER_DOT));}
}

对于个人所得税或其他税收计算其实也是类似的,只需要修改速扣系数和对应税率即可。
当前个人所得税按照年收入来计算,后面会再讲一下个人所得税是怎么算的。

劳务报酬所得税java程序计算相关推荐

  1. 编写java程序计算梯形面积_【Java】编写一个应用程序计算梯形和圆形的面积。...

    说明:这是武汉理工大学计算机学院[Java语言程序设计]课程实验1:编写一个应用程序计算梯形和圆形的面积. >>点击查看WUTer计算机专业实验汇总 谨记:纸上得来终觉浅,绝知此事要躬行. ...

  2. java程序计算鸡兔同笼_.请编写一个Java程序,能够计算鸡兔同笼问题,已知笼中共有9个头和26只脚,要求计算出该笼中有几只兔子几...

    展开全部 很明显,这个题目的原型是一个数学中二32313133353236313431303231363533e78988e69d8331333363376531元一次方程组. 1.数学算法: 设:鸡 ...

  3. JAVA程序计算圆的周长面积

    import java.util.Scanner;//导入输入库文件包 public class Circle {public static void main(String[] args){fina ...

  4. java程序计算圆周率

    昨晚波士堂看到王兴背诵圆周率,感到有兴趣了,于是下个txt,圆周率100万位开始背诵,太辛苦,代码实现出来继续背. package com.xjtu.pi; /*** π的随机数算法* 描述:* 在单 ...

  5. java 字符串排列组合_Java 程序计算列出字符串的所有排列组合

    Java 程序计算列出字符串的所有排列组合 在此示例中,我们将学习计算Java中字符串的所有排列组合. 要理解此示例,您应该了解以下Java编程主题: 字符串的排列是指可以通过互换字符串字符的位置来形 ...

  6. java 求商_Java程序计算商和余数

    Java程序计算商和余数 在该程序中,您将学习从Java中给定的被除数和除数计算商和余数. 示例:计算商和余数 public class QuotientRemainder { public stat ...

  7. Java教程交集_Java 程序计算两个集合的交集

    Java 程序计算两个集合的交集 在此示例中,我们将学习计算Java中两个集合的交集. 要理解此示例,您应该了解以下Java编程主题: 示例1:计算两个集合的交集 示例import java.util ...

  8. 快速得到两个集合的并集java_Java 程序计算两个集合的并集

    Java 程序计算两个集合的并集 在此示例中,我们将学习计算Java中两个集合的并集. 要理解此示例,您应该了解以下Java编程主题: 示例1:使用addAll()计算两个集合的并集 示例import ...

  9. .java编写一个梯形类lader_能够完成相关计算above为高_【Java】编写一个应用程序计算梯形和圆形的面积...

    说明:这是武汉理工大学计算机学院[Java语言程序设计]课程实验1:编写一个应用程序计算梯形和圆形的面积. 谨记:纸上得来终觉浅,绝知此事要躬行. Java语言程序设计--实验1:类的设计与对象使用 ...

最新文章

  1. java if and_Java运算符-if分支语句
  2. MarkDown入门及技巧
  3. Java编程比C编程好吗?《精通Unix下C语言与项目实践》读书笔记(15)
  4. centos7-安装redis-教程190923-精准版
  5. 节日仪式感海报PSD分层模板,快来pick一下!
  6. hdu 1027 输出第m个全排列(next_permutation)
  7. matlab altera视频,Altera.FPGA入门及提高视频教程
  8. 双12使用腾讯云WAF反羊毛党、黄牛党战纪全记录
  9. QNX 系统日志设计
  10. MacBook Air如何清理缓存
  11. python 正则表达式 compile_使用compile()函数编译正则表达式【Python技术文章】
  12. 轨道交通通信施工学习总结(四)漏泄同轴电缆安装
  13. 热敏打印机 图片指令打印图片
  14. 【SSLGZ 1614】医院设置(Dijkstra)
  15. web开发详解,学习web前端开发的网站
  16. Proxy与Reflect详解
  17. 工业互联网系列白皮书(合集)
  18. 美光RCP28F系列 NAND FLASH
  19. Java-Eddy的难题
  20. 国内头部游戏本地化服务商 安睿杰本地化翻译

热门文章

  1. Java Web中涉及的编解码
  2. 继承和多态(Java程序设计)
  3. 撸一个自定义底部导航View 布局+代码实现导航栏
  4. 恭喜叶总完成从前端码农到技术负责人的蜕变……
  5. 母函数——整数拆分(HDOJ2152)
  6. 大咖分享|李志强:一文详解标签类目体系落地方法与建设价值
  7. 编译alsa相关库,在android4.1下应用。
  8. 【Distributed】分布式任务调度平台
  9. 【Python】从0到1:一文教会你如何用Python制作好看又实用的二维码!【文末彩蛋!】(可直接copy + 运行哦~!)
  10. 查看 k8s各版本 对应 各组件版本