package com.engine.salary.remote.tax.response.calculate; import com.engine.salary.annotation.TaxField; import com.engine.salary.entity.taxpayment.response.BaseResponse; import lombok.Data; import lombok.EqualsAndHashCode; import java.math.BigDecimal; import java.util.List; @Data @EqualsAndHashCode(callSuper = true) public class GetASynIndividualIncomeTaxFeedbackResponse extends BaseResponse { /** * 返回数据 */ private Body body; @Data public static class Body { /** * 企业名称 必填:是 */ private String qymc; /** * 税号 必填:是 */ private String nsrsbh; /** * 地区编号 必填:是 6位行政区划代码,精确到市级,例如:440100,参考省市区编码 */ private String areaid; /** * 部门编号 必填:是 */ private String bmbh; /** * 部门名称 必填:否 */ private String bmmc; /** * 算税月份 必填:是 */ private String skssq; /** * 综合所得 必填:是 见综合所得计算结果 */ private zhsd zhsd; // /** // * 分类所得 必填:是 见分类所得计算结果 // */ // private flsd flsd; /** * 非居民所得 必填:是 见非居民所得计算结果 */ private fjmsd fjmsd; // /** // * 限售股所得 必填:是 见限售股所得计算结果 // */ // private xsgsd xsgsd; // /** // * 人员申报失败列表 必填:是 参考人员代报结果对象 // */ // private rysbsblb rysbsblb; @Data public static class zhsd { /** * 人员代代报失败列表 参考人员代报结果对象 */ private List rysbsblb; /** * 正常工资薪金算税结果对象 参考综合所得算税结果对象 */ private ssjgdx zcgzxj; /** * 全年一次性奖金收入算税结果对象 参考综合所得算税结果对象 */ private ssjgdx qnycxjjsslb; /** * 稿酬所得算税结果对象 参考综合所得算税结果对象 */ private ssjgdx gcsdlb; /** * 一般劳务报酬算税结果对象 参考综合所得算税结果对象 */ private ssjgdx lwbclb; /** * 解除劳动合同一次性补偿金列表 参考综合所得算税结果对象 */ private ssjgdx jcldhtycxbcjlb; /** * 保险营销员薪金算税结果对象 参考综合所得算税结果对象 */ private ssjgdx bxyxy; /** * 证券经纪人薪金算税结果对象 参考综合所得算税结果对象 */ private ssjgdx zqjjr; /** * 特许权算税结果对象 参考综合所得算税结果对象 */ private ssjgdx txq; /** * 个人股权激励结果对象 参考综合所得算税结果对象 */ private ssjgdx grgqjl; /** * 企业年金结果对象 参考综合所得算税结果对象 */ private ssjgdx qynj; /** * 内退一次性补偿金 参考综合所得算税结果对象 */ private ssjgdx ntycxbcjlb; /** * 其他连续劳务报酬 参考综合所得算税结果对象 */ private ssjgdx qtlxlwbc; /** * 其他非连续劳务报酬 参考综合所得算税结果对象 */ private ssjgdx qtflxlwbc; /** * 提前退休一次性补贴 参考综合所得算税结果对象 */ private ssjgdx tqtxycxbt; /** * 央企负责人绩效薪金延期兑现收入和任期奖励 参考综合所得算税结果对象 */ private ssjgdx yqfzrsrhjl; /** * 法律援助劳务报酬 参考综合所得算税结果对象 */ private ssjgdx flyzlwbclb; @Data public static class rysb { /** * 姓名 */ private String xm; /** * 证件类型名称 */ private String zzlx; /** * 证件号码 */ private String zzhm; /** * 代报状态 1 待报送 2 代报中 3 代报失败 4 代报成功 */ private String sbzt; /** * 人员认证状态 */ private String rzzt; /** * 失败原因 */ private String sbyy; /** * 专项代报状态 */ private String clzt; /** * 专项代报结果原因 */ private String cljgms; } @Data public static class ssjgdx { /** * 综合算税成功列表 参考综合所得输出结果报文 */ private List sscglb; /** * 综合算税失败列表 参考综合所得输出结果报文 */ private List sssblb; /** * 综合算税失败原因列表 参考算税失败原因对象 */ private List sssbyylb; /** * 参与综合算税总人数 */ private int sszrs; /** * 综合算税失败总人数 */ private int sssbrs; /** * 年金上限 */ private BigDecimal njsx; /** * 住房公积金上限 */ private BigDecimal zfgjjsx; /** * 年平均工资 */ private BigDecimal npjgz; /** * 企业上月是否已申报 0:上月未申报 1:上月已申报 2:上上月未申报 */ private String qysysfysb; @Data public static class result { /** * 是否明细申报 必填:否 是或者否 */ private String sfmxsb; /** * 姓名 必填:否 如果是汇总申报返回空 */ private String xm; /** * 证件类型 必填:否 见证件类型字典 如果是汇总申报返回空 */ private String zzlx; /** * 证件号码 必填:否 如果是汇总申报返回空 */ private String zzhm; /** * 任职受雇日期 必填:是 格式YYYY-MM-DD */ private String rzsgrq; /** * 离职日期 必填:否 格式YYYY-MM-DD */ private String lzrq; /** * 当期收入额 必填:是 不填写默认为0 */ private BigDecimal sre; /** * 当期免税收入 必填:否 */ private BigDecimal mssd; /** * 基本养老保险 必填:否 */ private BigDecimal jbylaobxf; /** * 基本医疗保险 必填:否 */ private BigDecimal jbylbxf; /** * 失业保险 必填:否 */ private BigDecimal sybxf; /** * 住房公积金 必填:否 */ private BigDecimal zfgjj; /** * 子女教育支出 必填:否 */ private BigDecimal znjyzc; /** * 赡养老人支出 必填:否 */ private BigDecimal sylrzc; /** * 住房贷款利息支出 必填:否 */ private BigDecimal zfdklxzc; /** * 住房租金支出 必填:否 */ private BigDecimal zfzjzc; /** * 继续教育支出 必填:否 */ private BigDecimal jxjyzc; /** * 非学历继续教育支出 必填:否 */ private BigDecimal fxljxjyzc; /** * 3岁以下婴幼儿照护支出 必填:否 */ private BigDecimal yyezhzc; /** * 年金 必填:否 */ private BigDecimal nj; /** * 商业健康保险 必填:否 */ private BigDecimal syjkbx; /** * 税延养老保险 必填:否 */ private BigDecimal syylbx; /** * 其他 必填:否 按法律规定可以在税前扣除的项目 */ private BigDecimal qt; /** * 准予扣除的捐赠额 必填:否 */ private BigDecimal zykcjze; /** * 备注 必填:否 */ private String bz; /** * 减除费用 必填:否 正常工资薪金的减除费用。 对应保险营销员、证券经纪人的费用 */ private BigDecimal jcfy; /** * 其他扣除合计 必填:否 */ private BigDecimal qtckhj; /** * 应纳税所得额 必填:否 正常工资薪金返回否 */ private BigDecimal ynssde; /** * 应纳税额 必填:否 正常工资薪金返回否 */ private BigDecimal ynse; /** * 已缴税额 必填:否 正常工资薪金返回否 */ private BigDecimal ykjse; /** * 应扣缴税额 必填:否 正常工资薪金返回否 */ private BigDecimal yingkjse; /** * 所得项目名称 必填:是 正常工资薪金;全年一次性奖金收入;稿酬所得;劳务报酬 */ private String sdxm; /** * 累计收入额 必填:否 */ @TaxField(name = "当前累计应税收入合计", taxIndex = "ljsre") private BigDecimal ljsre; /** * 累计免税收入额 必填:否 */ @TaxField(name = "当前累计免税收入", taxIndex = "ljmssd") private BigDecimal ljmssd; /** * 累计专项扣除额 必填:否 三险一金合计 */ @TaxField(name = "当前累计专项扣除合计", taxIndex = "ljzxkce") private BigDecimal ljzxkce; /** * 累计其他扣除额 必填:否 */ @TaxField(name = "当前累计其他扣除合计", taxIndex = "ljqtkce") private BigDecimal ljqtkce; /** * 累计减除费用额 必填:否 正常工资薪金累计减除费用 必填:否 对应保险营销员、证券经纪人累计费用 */ @TaxField(name = "当前累计减除费用", taxIndex = "ljjcfye") private BigDecimal ljjcfye; /** * 累计月减除费用 必填:否 保险营销员、证券经纪人,其他连续劳务报酬的减除费用 */ private BigDecimal ljyjcfy; /** * 允许扣除税费 必填:否 保险营销员、证券经纪人 */ private BigDecimal yxkcsf; /** * 展业成本 必填:否 保险营销员、证券经纪人 */ private BigDecimal zycb; /** * 月减除费用 必填:否 保险营销员、证券经纪人,其他连续劳务报酬的减除费用 */ private BigDecimal yjcfy; /** * 累计子女教育支出 必填:否 */ @TaxField(name = "累计子女教育", taxIndex = "ljznjyzc") private BigDecimal ljznjyzc; /** * 累计继续教育支出 必填:否 */ @TaxField(name = "累计继续教育", taxIndex = "ljjxjyzc") private BigDecimal ljjxjyzc; /** * 累计非学历继续教育支持 必填:否 */ private BigDecimal ljfxljxjyzc; /** * 累计学历继续教育支持 必填:否 */ private BigDecimal ljxljxjyzc; /** * 累计住房租金支出 必填:否 */ @TaxField(name = "累计住房租金", taxIndex = "ljzfzjzc") private BigDecimal ljzfzjzc; /** * 累计房屋贷款支出 必填:否 */ @TaxField(name = "累计住房贷款利息", taxIndex = "ljzfdklxzc") private BigDecimal ljzfdklxzc; /** * 累计赡养老人支出 必填:否 */ @TaxField(name = "累计赡养老人", taxIndex = "ljsylrzc") private BigDecimal ljsylrzc; /** * 累计大病医疗支出 必填:否 */ @TaxField(name = "累计大病医疗", taxIndex = "ljdbylzc") private BigDecimal ljdbylzc; /** * 累计3岁以下婴幼儿照护支出 必填:否 */ @TaxField(name = "累计婴幼儿照护", taxIndex = "ljyyezhzc") private BigDecimal ljyyezhzc; /** * 累计专项附加扣除额 必填:否 专项附加合计 */ @TaxField(name = "当前累计专项附加扣除合计", taxIndex = "ljzxfjkce") private BigDecimal ljzxfjkce; /** * 累计准予扣除的捐赠额 必填:否 */ @TaxField(name = "当前累计准予扣除的捐赠额", taxIndex = "ljzykcjze") private BigDecimal ljzykcjze; /** * 累计个人养老金 必填:否 */ @TaxField(name = "累计个人养老金", taxIndex = "ljgrylj") private BigDecimal ljgrylj; /** * 累计个人养老金校验码 必填:否 */ private String ljgryljjym; /** * 仅在两个月算税场景时使用,当前月分为N月: * 0表示N-1月(上月)未申报 * 1表示N-1月(上月)已申报 * 2表示N-2月(上上个月)未申报 */ private String qysysfysb; /** * 当前月分为N,如果N-1(上月)已申报,则返回N-1月员工在税局累计已扣缴的税额; * 如果N-1月未申报,则返回N-2月工在税局累计已扣缴的税额; */ private BigDecimal ygzsjljykjse; /** * 本月已累计扣除税额 必填:否 针对一月多次算税的场景字段 */ private BigDecimal byyljkjse; /** * 本次应扣缴税额 必填:否 针对一月多次算税的场景字段,本次应扣缴税额=本月应扣缴税额-本月已累计税额 */ private BigDecimal bcykjse; /** * 分摊年度数 必填:否 */ private Integer ftnds; /** * 年减除费用 必填:否 默认为60000 */ private BigDecimal njcfy; /** * 累计应纳税所得额 必填:否 */ @TaxField(name = "当前累计应纳税所得额", taxIndex = "ljynssde") private BigDecimal ljynssde; /** * 税率 必填:否 */ @TaxField(name = "税率", taxIndex = "sl") private BigDecimal sl; /** * 速算扣除数 必填:否 */ @TaxField(name = "速算扣除数", taxIndex = "sskcs") private BigDecimal sskcs; /** * 累计应纳税额 必填:否 */ @TaxField(name = "当前累计应纳税额", taxIndex = "ljynse") private BigDecimal ljynse; /** * 减免税额 必填:否 */ @TaxField(name = "本月(次)减免税额", taxIndex = "jmse") private BigDecimal jmse; /** * 累计减免税额 必填:否 */ @TaxField(name = "当前累计减免税额合计", taxIndex = "ljjmse") private BigDecimal ljjmse; /** * 累计应扣缴税额 必填:否 累计应扣缴税额 = 累计应纳税额 - 累计减免税额 */ private BigDecimal ljyingkjse; /** * 累计已缴税额 必填:否 */ @TaxField(name = "当前累计已扣缴税额合计", taxIndex = "ljykjse") private BigDecimal ljykjse; /** * 应补退税额 必填:否 应补退税额=累计应扣缴税额-累计已缴税额 */ @TaxField(name = "本月(次)应补税额", taxIndex = "ybtse") private BigDecimal ybtse; } } } @Data public static class fjmsd { /** * 正常工资薪金(无住所个人正常工资薪金)所得列表 参考非居民所得算税结果对象 */ private ssjgdx wjgzxjlb; /** * 无住所个人数月奖金列表 参考非居民所得算税结果对象 */ private ssjgdx wjrysyjjlb; /** * 劳务报酬列表 参考非居民所得算税结果对象 */ private ssjgdx lwbclb; /** * 稿酬所得列表 参考非居民所得算税结果对象 */ private ssjgdx gcsdlb; /** * 利息姑息红利所得列表 参考非居民所得算税结果对象 */ private ssjgdx lxgxhllb; /** * 股权转让列表 参考非居民所得算税结果对象 */ private ssjgdx gqzrlb; /** * 其他财产转让列表 参考非居民所得算税结果对象 */ private ssjgdx qtcczrlb; /** * 偶然所得列表 参考非居民所得算税结果对象 */ private ssjgdx orsdlb; /** * 解除劳动合同一次性补偿金列表 参考非居民所得算税结果对象 */ private ssjgdx jcldhtycxbcjlb; /** * 保险营销员薪金算税结果对象 参考非居民所得算税结果对象 */ private ssjgdx bxyxy; /** * 证券经纪人薪金算税结果对象 参考非居民所得算税结果对象 */ private ssjgdx zqjjr; /** * 个人股权激励结果对象 参考非居民所得算税结果对象 */ private ssjgdx grgqjl; /** * 特许权使用费所得 参考非居民所得算税结果对象 */ private ssjgdx txqsyfsd; /** * 个人房屋出租所得 参考非居民所得算税结果对象 */ private ssjgdx grfwczsd; @Data public static class ssjgdx { /** * 非居民算税成功列表 参考输入报文非居民所得输出结果报文 */ private List sscglb; /** * 非居民算税失败列表 参考输入报文非居民所得输出结果报文 */ private List sssblb; /** * 非居民算税失败原因列表 参考算税失败原因对象 */ private List sssbyylb; /** * 参与非居民算税总人数 */ private int sszrs; /** * 非居民算税失败总人数 */ private int sssbrs; @Data public static class result { /** * 姓名 必填:是 */ private String xm; /** * 证件类型名称 必填:是 */ private String zzlx; /** * 证件号码 必填:是 */ private String zzhm; /** * 收入额 必填:是 */ private String sre; /** * 累计收入(不含本次) 必填:是 */ private String ljsre; /** * 免税收入 必填:是 */ private String mssd; /** * 财产原值 必填:是 */ private String ccyz; /** * 允许扣除的税费 必填:是 */ private String yxkcsf; /** * 投资抵扣 必填:是 */ private String tzdk; /** * 其他 必填:是 */ private String qt; /** * 备注 必填:是 */ private String bz; /** * 实际工作年限 必填:是 */ private String sjgznxs; /** * 减除费用 必填:是 */ private String jcfy; /** * 准予扣除的捐赠额 必填:是 */ private String zykcjze; /** * 税前扣除项目合计 必填:是 */ private String sqkcxmhj; /** * 应纳税额所得额 必填:是 */ private String ynssde; /** * 应纳税额 必填:是 */ private String ynse; /** * 减免税额 必填:是 */ private String jmse; /** * 应扣缴税额 必填:是 */ private String yingkjse; /** * 已扣缴税额 必填:是 无需填写该值,按0处理 */ private String ykjse; /** * 税率 必填:是 */ private String sl; /** * 速算扣除数 必填:是 */ private String sskcs; /** * 代报方式 必填:是 */ private String sbfs; /** * 应补退税额 必填:是 */ private String ybtse; /** * 非居民所得项目名字 必填:是  非居民所得薪金类别-无住所个人正常工资薪金、全年一次性奖金收入 */ private String sdxm; /** * 所得期间起 必填:是 YYYY-MM */ private String sdqjq; /** * 所得期间止 必填:是 YYYY-MM */ private String sdqjz; } } } /** * 算税失败原因对象 */ @Data public static class sssbyy { /** * 人员ID */ private Integer ygid; /** * 人员名称 */ private String xm; /** * 证件类型 见证件类型字典 */ private String zzlx; /** * 证件号码 */ private String zzhm; /** * 错误码 */ private String cwm; /** * 错误信息 */ private String cwxx; /** * 所得税的code */ private String sdxmdm; /** * 所得税的名称 */ private String sdxmmc; } } }