• 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

  • 相关阅读:
    $(this)和this 区别
    文本溢出显示省略标记'...'的bug
    web中常用的20种字体 (share)
    Underscore.js 的模板功能
    iphone webapp如何隐藏地址栏
    制作自己博客的分享按钮
    css3动画事件—webkitAnimationEnd
    获取随机的颜色
    制作自己博客的翻译工具
    兼容IE getElementsByClassName取标签
  • 原文地址:https://www.cnblogs.com/xinzjing/p/4703760.html
Copyright © 2020-2023  润新知