Skip to Content
User Experience Insights
Author's profile photo Chen Feng

S/4 HANA CLOUD Workaround 销售含税价

业务场景:

在中国及其他亚洲或者东南亚国家,采购合同和发票都是以含税价的方式计价,这与美国及欧洲国家通过净价加税的计价方式不同。而目前S/4 HANA CLOUD交付的标准定价方式采取的是后者,大部分的中国客户对含税价的功能都有需求。

在S/4 HANA CLOUD中,整个定价过程,从创建条件表、设置访问程序、设置定价条件类型、设置定价程序、设置定价程序确定等都是开放给客户的,那么让我们看看是否可以使用已有的配置工具来满足此需求,并且有哪些限制。

含税价效果:

  • 客户可以直接通过含税价的输入,自动计算出税额及净价格

  • 因为四舍五入遇到尾差情况时,可以通过手动增加尾差定价进行调整

也可以参考Blogs:调整SAP开票尾差与金税匹配, 进行配置。

配置详情:

1. 设置定价条件类型

  • 含税价Z998

  • 销项税ZEXC (此条件记录为计算逻辑中用于统计的中转税额)

参考条件类型:TTX1和参考应用程序:V,可以使ZEXC直接读取TTX1的条件记录,这里必须加上。

  • ZPPR净价格,注意这里计算类型要选择:G

  • ZRD1尾差,比如此博客案例,在使用含税价方案后由于四舍五入可能会出现0.01的总额尾差,那么可以通过此条件类型进行手工修补。

 2. 设置定价程序

我这里选择了复制标准程序Y13101到过程Z99101,然后进行增强:

这里解释下蓝色框配置的意义:

  • Z998含税价:统计类型(代表运用于计算),字段小计为D :将值复制到 XWORKD (XWORKD将用于自定义逻辑计算)
  • ZEXC销项税:统计类型(代表运用于计算),字段小计为E:将值复制到 XWORKE(XWORKE将用于自定义逻辑计算)
  • ZPPR净价格:字段条件金额的备选计算历程:3000099(这将通过之后配置步骤进行详细介绍)

 3. 创建自定义逻辑

APP:自定义字段和逻辑

在自定义逻辑选项卡中,点击创建,选择以下:

  • formula = 601,此值将用于之后的配置
  • 分享逻辑如下,聪明的小伙伴们可以慢慢品

D=含税价,E=TTX1税率,E2=ZEXC,X(净价)=D/(E2/D+1)

  • 分享源代码,其中字段XWORKD和XWORKE在步骤设置定价程序中有解释到

prcg_element_result_amounts-conditionamount = item_amounts-conditionamountbufferxworkd / ( item_amounts-conditionamountbufferxworke / item_amounts-conditionamountbufferxworkd + 1 ).

 4. 设置条件金额的备选计算

创建例程编号3000099(在定价过程中分配给条件ZPPR),将formula 601分配给例程编号3000099

 5. 设置定价程序确定

分配如下:

主数据:

价格主数据

分别对价格Z998, ZEXC, ZPPR创建价格主数据,这样创建销售订单时,无需手动输入价格,当然创建销售订单时,您还可以进行手动更改价格。

  • Z998 含税价

  • ZPPR净价格,这里不需要设置数值,因为是通过自定义逻辑公式计算的,这里只是为了避免手工输入条件,增加不必要的人工工作量。

总结:

感谢PSCC AME US同事Klawiter, Jens、及Ramanujam, Sampath对专题需求的支持

客户可以参照本博客进行实际业务测试及落地,欢迎反馈:

s4hana.pscc.gcr@sap.com

Assigned Tags

      7 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Jingzhi Zhang
      Jingzhi Zhang

      Dear Chen Feng,

      请问一下如何创建例程编码?

      Author's profile photo Chen Feng
      Chen Feng
      Blog Post Author

      步骤4 应该就是吧,点击创建

      Author's profile photo Rujia Ou
      Rujia Ou

      Hi  Chen Feng,

      我在自定义逻辑中,写了代码,但是,系统提示部分字段已经不存在了。以下字段不存在:item_result_amounts,item_result_quantities,prcg_element_result_amounts-conditionamount

       

      我尝试注释了不存在的字段代码进行测试,销售订单提示错误:定价错误: 必要条件 ZPPR 丢失

       

      Author's profile photo Chen Feng
      Chen Feng
      Blog Post Author

      请问第4到第7行的CODING你写了吗,请把你详细coding和错误发邮件到chen.feng@sap.com,我空了回复您

      Author's profile photo Rujia Ou
      Rujia Ou

      Hi  Chen Feng,

      我们查一下,发现在创建自定义逻辑时,业务上下文是定价,而扩展点应该是:定义凭证项目中条件金额的备选计算。

      我重新创建了自定义逻辑,上面的字段就存在了。

      Author's profile photo Chen Feng
      Chen Feng
      Blog Post Author

      非常感谢,写BLOG的时候截图错了,检查了后BLOG已更新

      Author's profile photo Rujia Ou
      Rujia Ou

      Hi  Chen Feng,

       

      十分感谢您的BLOG,我们才能这么快解决这个问题。