• CN00 与CN28 区别


    做过SAP HR的大都知道,SAP在中国区提供的Payroll schema有两个,一个是CN00,一个是CN28.两者最大的区别是,一个是把计税的结果带到当月,另外一个是把税基带到当月.

    我现在碰到了一个客户,它的需求是,如果上月员工有发薪水(存在Payroll result),那么就把税基带到本月,如果上月员工薪水就没有发,那么就把税的结果带到本月:

    于是我便仔细研究这两个schema的差别的出结果如下

    首先来看看SAP标准的schema处理两种算税模式时候的差别:

    1.         CN00:带计税结果到当月

    CN28:带税基到当月

    2.         CN00中使用的是CNNT

    CN28中使用的是CNNG

    3.         CNNT中使用的是CNTX

    CNNG中使用的是CNTG

    4.         CNTX的Source COde如下:

    Line   Func. Par1 Par2 Par3 Par4 D Text

    000010 BLOCK BEG                   Process individual income tax

    000020 PIT   CN15 P67  NOAB        Taxable foreign wage need spec exchange

    000030 CNGRO                       Re-convert foreign currency amount

    000040 PIT   CNBN P66  NOAB        Process bonus need to caclculate tax sep

    000050 PIT   CNSS P70  NOAB        Process special salary related income se

    000060 PIT   CNMV      NOAB        Save tax base before gross-up /40X->/44X

    000070 CNGRS                       Gross up for the EE tax paid be ER.

    000080 CNTAX                       Tax calculation

    000090 CNSOT                       Calculate stock options income tax

    000100 CNTXR                       Calculation for tax partially paid by ER

    000110 BLOCK END                   Process individual income tax

    CNTG的Source Code如下:

    000010 BLOCK BEG                   Process individual income tax

    000020 PIT   CN15 P67  NOAB        Taxable foreign wage need spec exchange

    000030 CNGRO                       Re-convert foreign currency amount

    000040 PIT   CNBN P66  NOAB        Process bonus need to caclculate tax sep

    000050 PIT   CNSS P70  NOAB        Process special salary related income se

    000060 PIT   CNMV      NOAB        Save tax base before gross-up /40X->/44X

    000070 COPY  CNTL                  Get influx WT from LRT for tax base

    000080 IF         O                Original Period

    000090 CNGRS                       Gross up for the EE tax paid be ER.

    000100 CNTAX                       Tax calculation

    000110 CNSOT                       Calculate stock options income tax

    000120 CNTXR                       Calculation for tax partially paid by ER

    000130 ELSE                        Form Tax base diff and move ORT to RT

    000140 COPY  CNTR                  Form diff for tax base

    000150 ENDIF                       End of IF form tax base diff.

    000160 BLOCK END                   Process individual income tax

    5.         CNTR的code如下:

    Line   Func. Par1 Par2 Par3 Par4 D Text

    000010 BLOCK BEG                   Form diffrence and move ORT to RT

    000020 LPBEG      RC               Loop over old results

    000030 IMPRT      O                    Import old result (’x’ in ‘y-1′)

    000040 PRINT NP   ORT              Print ORT

    000050 LPEND                       Endloop

    000060 IF         LPRC             If: there is old result

    000070 PIT   CNL7      NOAB        Form diff. to influx, TAX base

    000080 PORT  CNL8      NOAB        Get retro-relevant wage types

    000090 PORT  CNL5      NOAB        Move old Data from ORT to IT

    000100 ELSE                        No old results, calculate the tax

    000110 PIT   CNLB      NOAB        Form diff. to influx, TAX base

    000120 ENDIF                       End of if LPRC

    000130 BLOCK END                   Form difference and move ORT to RT

    通过观察发现,最重要的差别是,在CNTG这个schema中,会判断计算的是不是当前薪资周期的薪资,如果不是的话,只做税基的加总,如果是的话,则利用之前加总起来的的税基来算税.

    最后的解决方式如下,中心思想是:不管是不是当期,只要有旧薪资结果,就计算税基差往当期里面加。只要没有,那就直接在当期算税,算完后再往当前的薪资结果里面加

    1:copy CN28到ZCN1

    2:将ZCN1中的CNNG改为ZNNG

    3:ZNNG为将CNNG中的CNTG改为ZNTG

    4:ZNTG如下:

    Cmmnd

    Line   Func. Par1 Par2 Par3 Par4 D Text

    000010 BLOCK BEG                   Process individual income tax

    000020 PIT   CN15 P67  NOAB        Taxable foreign wage need spec exchange

    000030 CNGRO                       Re-convert foreign currency amount

    000040 PIT   CNBN P66  NOAB        Process bonus need to caclculate tax se

    000050 PIT   CNSS P70  NOAB        Process special salary related income s

    000060 PIT   CNMV      NOAB        Save tax base before gross-up /40X->/44

    000070 COPY  CNTL                  Get influx WT from LRT for tax base

    000080 IF         O              * Original Period

    000090 LPBEG      RC

    000100 IMPRT      O

    000110 LPEND

    000120 IF         LPRC

    000130 COPY  CNTR                  Form diff for tax base

    000140 ELSE                        Form Tax base diff and move ORT to RT

    000150 CNGRS                       Gross up for the EE tax paid be ER.

    000160 CNTAX                       Tax calculation

    000170 CNSOT                       Calculate stock options income tax

    000180 CNTXR                       Calculation for tax partially paid by E

    000190 ENDIF                       End of IF form tax base diff.

    000200 ELSE                      *

    000210 COPY  CNTR                *

    000220 ENDIF                     *

    000230 BLOCK END                   Process individual income tax

  • 相关阅读:
    高精度“+”算法
    漏洞扫描
    端口扫描
    使用sqlmap
    Kali实现靶机远程控制
    Docker下配置KeepAlive支持nginx高可用
    web攻防环境--一句话木马
    Docker容器技术--自定义网桥后的默认网卡名称
    小白大数据学习指南
    Nginx简单操作
  • 原文地址:https://www.cnblogs.com/xinzjing/p/4703760.html
Copyright © 2020-2023  润新知