在S/4HANA Cloud中,销售模块与财务模块的集成有很多,以最佳实践中的库存销售(BD9)为例,会在出库交货单过账和发票开具时,触发产生会计凭证,实现自动记账。
其会计凭证分录如下:
1. 出库过账(Post goods issue),物料凭证移动类型601
借:销售成本
贷:库存商品
2. 发票过账(Billing release to accounting)
借:客户(应收账款)
贷:销售收入
应缴税费-销项税
以上是SAP标准的销售记账方式,不需要额外的配置。但是在国内,很多企业对于已经发出但尚未确认销售收入的商品成本,会习惯于使用“发出商品”科目进行核算。即企业对于发出的商品,当销售交货后,并不直接计入销售成本转而计入发出商品,而在销售发票开具之后,再计入收入与成本。以此保证收入与成本在同期完成。
对此类非标准需求Cloud不建议大家使用,如果可以的话尽量说服客户选用标准的记账方式。虽然OP对于发出商品科目的处理方式可以有多种,但是在Cloud版本里,我们可以做的改动有限,如果非得要使用的话,那么本文跟大家一起探究一下如何在Cloud里实现使用发出商品科目。
声明:以下方案与代码均是基于个人经验总结的内容,并不是SAP标准最佳实践交付内容。
配置步骤
1. 设置定价条件类型 (SSCUI : 101120)
参考条件类型 PCIP 复制一个自定义条件类型,其余信息不更改,将“控制数据2”中的“应计”勾选。
下文中以ZC01代表该自定义条件类型。
2. 在定价中定义需求(SSCUI : 102627)
由于ZC01与普通的成本字段不同,在某些特定的凭证中我们并不需要ZC01出现,如贷项凭证,所以需要自定义需求。
3. 编辑需求代码 (自定义字段和逻辑)
参考原内部价格条件PCIP的需求逻辑,调整一些与发出商品科目有冲突的凭证类型,使ZC01条件在某些条件中不激活。
具体代码逻辑不再叙述,详见下边代码及注释。
————————————————————————————————————
IF item_attributes-salesdocumentitemcategory eq 'CRN'. "Consignment return credit memo
CHECK item_attributes-costdeterminationisrequired = 'X'.
pricingrequirementisfulfilled = 'X'.
EXIT.
ENDIF.
CHECK doc_attributes-salessddocumentcategory ne 'K'. "Credit memo request
CHECK doc_attributes-salessddocumentcategory ne 'O'. "Credit memo
CHECK doc_attributes-salessddocumentcategory ne 'L'. "Debit memo request
CHECK doc_attributes-salessddocumentcategory ne 'P'. "Debit memo
CHECK doc_attributes-salessddocumentcategory ne 'S'. "Credit memo cancellation
CHECK doc_attributes-companycode ne space. "Company code
CHECK item_attributes-valuationarea ne space. "Valuation area
CHECK item_attributes-plant ne space. "Plant
CHECK item_attributes-costdeterminationisrequired = 'X'.
CHECK item_attributes-salesdocumentitemcategory ne 'TAX'. "Non stock item
CHECK item_attributes-salesdocumentitemcategory ne 'TAXN'. "Non stock free
CHECK item_attributes-salesdocumentitemcategory ne 'TAD'. "Service item
CHECK item_attributes-salesdocumentitemcategory ne 'TADN'. "Service item free
pricingrequirementisfulfilled = 'X'.
————————————————————————————————————
4. 定义科目代码 (SSCUI : 102175)
此配置定义自定义记账码,用于收入确认时,将发出商品转成本。
5. 设置定价程序(SSCUI : 101117)
复制标准定价过程Y13101,并将原PCIP条件替换为ZC01,在“利息" (翻译不准确,其实应该理解为应计,Accrual)填上自定义的记账码 Z01。
需求选用第2步中定义的需求编号。
6. 自动科目确定MM (SSCUI : 100297)
此配置确定出库交货和退货入库的自动记账配置。
a. 交货出库过账 601/602 :
将GBB / VAX 对应总账科目借贷方改为发出商品科目, 使其在发货时计入发出商品科目。
将GBB / VAY 对应总账科目借贷方改为发出商品科目,此项对应部分含科目分配的订单。
b. 退货入库
此处配置实现在退货发生时,对销售成本反记账。
新增一般修改 Z03,维护借贷方科目为销售成本科目。
7. 自动科目确定SD (SSCUI : 100297)
此处配置实现销售开票时转出发出商品,计入销售成本。
新增科目代码Z01相应配置,将总账科目选发出商品科目,应计选销售成本科目。
若有其他收入确定配置涉及Z01,一并相应更改。
8. 移动类型自定义 (SSCUI : 103170)
此处配置实现退货过账时计入销售成本,配合6.b 配置。
a. 更改移动类型 653 654 (对应简易退货, Scope item BDD)
将VAX / VAY 对应科目修改更改为自定义的Z03,特殊库存的我这里并没有做更改 。
b. 更改移动类型 657/658 & 419/420 (对应加速退货, Scope item BKP)
657/658 自有库存退货过账,计入销售成本。
419/420 非自有退货库存经过质检变为自有库存,在这里计入销售成本。
通过以上配置,实现新的自动记账规则如下:
i. 库存销售流程 (BD9)
1. 出库过账(Post goods issue)
借:发出商品
贷:库存商品
2. 发票过账(Billing release to accounting)
借:客户(应收账款)
销售成本
贷:销售收入
应缴税费-销项税
发出商品
ii. 销售简易退货 (BDD)
1. 退货入库过账(653)
借:库存商品
贷:销售成本
2. 退货贷项凭证过账
借:销售收入
应缴税费-销项税
贷:客户(应收账款)
iii. 销售加速退货 (BKP)
1. 退货入库过账-自有库存(657)
借:库存商品
贷:销售成本
2. 检测入库过账-自有库存 (419)
借:库存商品
贷:销售成本
3. 退货贷项凭证过账
借:销售收入
应缴税费-销项税
贷:客户(应收账款)
4. 原货发回客户 (658)
借:销售成本
贷:库存商品
5. 免费换货发回客户
5.1 出库过账
借:发出商品
贷:库存商品
5.2 发票过账
借:销售收入 (对抵)
销售成本
贷:销售收入 (对抵)
发出商品
以上为本人总结的销售模块发出商品科目的使用方法,并未完全覆盖所有销售流程,如三方交易等业务模式仍未覆盖到。
希望对大家有所帮助,如果有什么想法欢迎您留言讨论或提问。谢谢。