采购单价PB00价税分离实际操作之一

本文是在根据之前的转载 文章采购订单PB00含税价价税分离实现方式之一,完全拷贝其中的计算基础例程源代码,在SAP ECC6.0系统实际操作的结果。

一、 业务背景

主要是因为国内供应商的报价都是含税价(总价,一般会赋值给PB00),而计入物料库存价值的是不含税价(实际是净价,即总价含折扣附加费再减去进项税)这个就不多说了,需要大家搞清楚含税价、不含税价之间的关系,以及总价、净价、有效价的关系,后期也会有文章专门说明。

二、 系统操作

1 . 定义进项税的条件类型Z001
为了把进项税从含税价即总价PB00里面分离出来,进而得到净价即不含税价,我们一般把进项税作为折扣的条件类型对待,如下图:
这里写图片描述

2 . 定义计算基础例程Formula
事务代码:VOFM,选择公式菜单->定价值,新建例程编号998,期间需要输入Access Key,输入例程代码后,需要激活才有效。具体Access Key和激活操作请咨询ABAP顾问。
代码示例如下:

*&---------------------------------------------------------------------*
*&      Form  FRM_KONDI_WERT_998
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM frm_kondi_wert_998.

  DATA: l_kbetr LIKE konp-kbetr.    "Tax Rate
  DATA: l_krech LIKE t685a-krech.   "Inclusive or Exclusive
  DATA: l_knumh LIKE a003-knumh.    "Condition Record Number
  DATA: l_kschl LIKE a003-kschl.    "Condition Type
  DATA: l_kappl(2) TYPE c VALUE 'TX'. "Application

* Get condition type and condition record
  SELECT SINGLE knumh kschl
           FROM a003
           INTO (l_knumh,l_kschl)
          WHERE kappl = l_kappl
            AND aland = komk-aland
            AND mwskz = komp-mwskz.
  IF sy-subrc = 0.
* Get condition record value
    SELECT SINGLE kbetr
             INTO l_kbetr
             FROM konp
            WHERE knumh = l_knumh.
    IF sy-subrc = 0.
      SELECT SINGLE krech
               INTO l_krech
               FROM t685a
              WHERE kschl = l_kschl.
* Set Condition Value
      IF sy-subrc = 0.
        IF l_krech = 'A'. "Tax Excluded
          xkwert = -1 * xkomv-kawrt * l_kbetr / ( 100000 + l_kbetr ).
        ELSEIF l_krech = 'I'. "Tax Included
          xkwert = -1 * xkomv-kawrt * l_kbetr  / 100000.
        ENDIF.
      ENDIF.
      l_kschl = xkomv-kschl.
* Set Condition Amount
      LOOP AT xkomv WHERE kschl = l_kschl.
        xkomv-kbetr = l_kbetr * -1.
      ENDLOOP.
    ELSE.
* Set Condition Value
      xkwert = 0.
      l_kschl = xkomv-kschl.
* Set Condition Amount
      LOOP AT xkomv WHERE kschl = l_kschl.
        xkomv-kbetr = 0.
      ENDLOOP.
    ENDIF.
  ENDIF.
ENDFORM.                 " FORM FRM_KONDI_WERT_998.

3 . 定义新的计算方案
在新的计算方案ZRM001中添加自定义的进项税条件类型Z001,计算类型输入上一步新建的例程998。
a) 计算类型998表示:Z001条件类型的值是由例程998计算得来;
b)条件类型Z001的步骤可以根据项目的具体情况设置。
这里写图片描述

另外一种设置供参考:
这里写图片描述

4 . 采购订单计算方案示例
创建采购订单,物料总价PBXX=117,数量10,税码J1(17%税率)
a) 进项税Z001=17%(由税码J1得到),
b) 进项税定价值由计算类型998计算得到,
c) 净值854.7=总价1170-绝对折扣170-进项税额145.3,
d) 行项目的净价85.47=净值854.7除以数量10。
这里写图片描述
这里写图片描述

另外一种设置做的采购订单:
这里写图片描述

5 . 查看收货生成会计凭证
物料的库存价值实际是计算方案中的实际价格的定价值,实际价格也称为有效价,而供应商应付暂估金额是物料的净值854.7,关于总价、净价、有效价的关系,以及采购订单运费的处理方式以后会有文章专门讨论。
这里写图片描述

另外一种设置做的采购订单收货生成的会计凭证:
这里写图片描述

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值