一、背景
销售订单下单的时候手工维护 不含税
价格或者VK11维护 不含税
价格,再通过定价过程自动计算不含税净值和税额
效果如下截图:
二、配置过程:
1、配置条件类型,事物代码:V/06
1.1、不含税价
条件类型
新增条件类型ZPR1
控制数据1参数:
条件类型(Condition Class):定义条件类型属于单价
、折扣
、还是税收
类型
计算类型(Calculation Type):定义单价
、折扣
、税收
是如何计算的
条件类别(Condition Category):对于特殊类型的条件类型,系统预定义了条件类别,如对于条件类型 VPRS,其条件类型为G,因此系统自动根据物料主数据中维护的标准价格(移动平均价格)确定该条件类型的条件类型金额
条件类型选择 B
计算类型选择 C
1.2、销项税
条件类型
新增MWST,存取顺序选择MWST
1.3、净价值
条件类型
不需要维护存取顺序
条件类型选择 A
计算类型选择 G
1.4、内部成本
条件类型
不需要维护存取顺序
条件类型选择 B
计算类型选择 C
条件类别选择 G
2、配置定价过程,事物代码:V/08
配置如下:
2.1、 从步骤~ 到步骤
作用:确定条件类型基础(Condition Base Value)
适用情况:仅针对计算类型为百分比的条件类型
逻辑说明:系统中提供三种百分比的计算类型,A(Percentage)、H(Percentage Include)、I(Percentage/travel expenses)。以计算类型A为例,其条件类型金额等于条件类型基础乘以百分数,而条件类型基础默认等于该条件类型的步骤范围内的条件类型的值的合计,当不输入步骤范围时,则条件类型基础等于该条件类型前所有步骤的条件类型金额之和
2.2、 手动
作用:确定条件类型是否在销售订单定价界面中自动出现
适用情况:无存取的条件类型
逻辑说明:图中一共长个条件类型,条件类型EDI1代表期望的价格,被标准为了“手工”,该条件类型没有分配存取顺序,所以此种条件类型不读取主数据(因为没有条件A表),而是在销售订单中手工输入,不勾选需要使用VK11维护
2.3、 需要
作用:如果单据中条件类型没有值,系统数据检查时会提示
适用情况:任何条件类型
逻辑说明:定价类类型(Condition Class)为B(Price 单价)或者A(Discount Or Surcharge 折扣或附加费)的条件类型,必须维护相应的价格主数据,具维护值不能等于0;对于定价类型为D(Taxes 税收)的定价类型,只要维护相应的主数据即可,可以是零(表示无税收)
2.4、 统计
对于一张销售订单来说,金额信息中最主要的是计算订单的不含税金额(Net Value 即净价值,下图中的Net字段)和税额(Tax Value,下图中的Tax字段),后续开票时,不含税金额将过账到账务收入科目,税额将过账到税金科目,二者合计代表着现金(应收账款)
系统将定价过程中的各个中满足下面三个条件的值纳入到订单的净价值(Net Value,下图中的Net字段)计算:
1、 条件1:该步骤勾选上统计,如钩选统计,则代表该金额不纳入净价值
2、 条件2:该步骤存在条件类型。如下图(VA03)中的最后一个步骤“Test Only”不存在条件类型,因此尽管未被勾选统计,但系统也不将该步骤的值纳入净价值中。不存在条件类型的步骤,系统一律认为是统计性
3、条件3:该步骤的条件类型的定价类型(Condition Class)不是“税类型D”(Taxes:税收)。如上图中的MWSI,虽然未勾选统计,但系统也不将它纳入净价值统计
2.5、 科目确定相关
条件类型是否与科目确定相关,与后续科目代码作用一致,用于确定价格条件进那个科目
2.6、打印类型
打印凭证(如订单确认或发票)时,控制条件行的输出
2.7、 小计
小计即将步骤(条件类型)的值或者价格赋值到小计中,不同的小计有不同的用途,有些小计可以用来做后续的计算,有些小计的值将会保存到数据库中。上上图中条件类型PR00的小计被设置为5,表示小计对应字段为KOMP-KZWI5,KOMP-KZWI5的金额等于条件类型PR00金额,当销售订单保存后,VBAP-KZWI5的值等于KOMP-KZWI5
下面列举了定价过程中预置的22个小计,并对这些小计做了简单分类,划分为四类型:
第一类:不可以随意使用,系统已经赋予其特定含义。该类小计的值最终都会保存到VBAP相同名称的字段里
第二类:系统预留的,可根据公司需要赋予特定含义。这6个小计的值最终都会保存在销售订单行项目表字段VBAP-KZWI1 ~ VBAP-KZWI6中。如可设置小计1用来记录领导审批的折扣金额,小计2用来记录客户期望价格
第三、四类:系统未赋予特定含义。这两类小计字段值不会保存到数据表中,仅作为中间变量使用,是为了定价过程中进行一步计算使用。其中第三类小计是将步骤的条件类型金额赋值到小计中,第四类是将条件类型价格赋值到小计中
2.8、 需求
条件类型生效的前提条件,可以写自定义的程序来定义条件类型生效的前提条件,系统也提供了很多程序可供选择。查看程序代码:
2.9、 条件金额公式
通过该字段主要用来改变当前条件金额的值(字段XKWERT),也可同时改变当前条件类型的其他字段的值,如条件类型价格。
条件类型NTPW(含税金额)等于折扣前含税金额减去折扣金额,因此系统将条件类型(PR00)含税价金额复制到小计字段5(KOMP-KZWI5),将条件类型折扣(K007)的金额复制到小计字段(KOMP-KZWI6)中,同时该条件类型NTPW条件金额公式的例程设置为81,下面是例程81源码:
在程序81中定义了条件类型NTPW金额(XKWERT)等于小计5(komp-kzwi5) + 小计6(komp-kzwi6),同时在程序还根据条件类型NTPW金额计算得到该条件类型价格(XKOMV-KWERT)
2.10、 条件基础公式
与条件金额公式类似,主要是通过例程来改变条件类型基础值
2.11、 账户码和应计项
通过定价过程的账号码(Account Key)和应计码(Accrual Key)实现与销售开票时的会计科目的确定无缝集成,实现收入、折扣、成本、税额进入各自的会计科目
销售开票的会计科目确定一般由6个条件字段确定,销售组织、分销渠道、产品组、客户的科目分配组、物料的科目分配组、账户码(应计项),其中客户科目分配组由客户确定,物料的科目分配组由物料确定,而账户码(应计项)则由定价过程中的定价类型确定
另外,凡是纳入销售订单净值计算的条件类型都必须有对应的账户码
3、分配定价过程,事物代码:OVKK
按销售范围
和订单定价过程
和客户定价过程
分配定价过程
配置结果如下:
3.1 维护客户定价过程,事务代码:OVKP、BP
维护客户定价过程
我这里是新增的2,可以根据实际需要配置
更新客户主数据
3.2 维护订单定价过程,事务代码:OVKI
我这里是默认的A,可以根据实际需要配置
向订单类型分配定价过程,事务代码:OVKJ
3.3 维护客户税分类,事务代码:BP
客户主数据中的税分类定义,如下图,通常这个定义用以确定该客户是必须交税还是免税。如果是必须交税,还要根据其它条件决定税率;
将客户税分类分配至条件类型
事物代码:OVK3 -客户税收分类
注意:客户科目分配组是确认收入科目的
3.4 维护物料税分类,事务代码:MM02
物料主数据销售视图中对销项税分类的定义。通常根据不同销项税率在后台定义好供选择。
将物料税分类分配至条件类型
先事物代码:OVK4 -物料税收分类
后MM02维护物料
3.5 维护税分类组合关系,事务代码:VK11
目的:将客户税分类和物料税分类组合一起确认税率
维护的条件类型为:MWST
FTXP维护税率对应的科目
其他事务代码:
OVK1 - 定义税收确定规则-分配税至国家
此维护决定了物料和客户的税收分类的配置
OVK2 - 国家地区分配
OVK3 - 客户税收分类
OVK4 -物料税收分类
三、创建销售订单实践,事务代码:VA01
如果需要配置含税的定价过程请参考【SAP-S4】SD销售定价过程-含税