1 业务背景
未清项管理(OIM: Open Item Management)是SAP系统中针对资产负债表科目(Balance Sheet Accounts)的一个功能。
对于过账到未清项管理类型的科目下的凭证,首先会被标记为“未清项”也即open状态;“未清项”状态下的过账代表着此笔业务是一个未完成的状态,一旦发生“清账”也即clearing动作,“未清项”就会被标记成“已清项”,也即cleared。
因此,OIM类型总账科目的余额,也即其下面未清项条目的余额。
目前,有3种未清项管理的类型:
- Open Item Management: 传统未清项管理
- Open Item Management by Ledger Group: 按分类账组的未清项管理
- Extended Open Item Management: 扩展的未清项管理
2 技术实现
2.1 主数据级别
未清项管理属于总账科目在公司代码层级的一个属性,其存储在SKB1表中,三种类型的未清项管理,对应着三个不同的flag。
2.2 业务数据级别
未清项的业务数据是通过清账凭证和未清项的表来实现的。
类型 | DB表 |
---|---|
Open Item Management | BSEG, BSIS, BSAS |
Open Item Management by Ledger Group | BSEG, BSEG_ADD, FAGLBSIS, FAGLBSAS |
Extended Open Item Management | BSEG, ACDOCA |
注:对于Customer和Vendor的统驭账户,其默认就是通过未清项管理的。所有对于维护成统驭科目的GL科目SKB1-MITKZ = 'D’或SKB1-MITKZ = ‘K’,其在GL主数据上是不需标识open item mangement的,在业务数据级别,会通过BSEG-XOPVW标识。
下面是代码中的判断逻辑:
注:上面代码中未涵盖extended OIM的标志X_UJ_CLR, 这是由于extended OIM在架构上设计的不同。Extended OIM管理的GR/IR account,其在BSEG级别不会再有未清项管理的标志,只会存放在ACDOCA中。下图是对于extended OIM的处理逻辑CL_FINS_ACDOC_POSTING_EVENTS->SET_GLACCOUNT_TYPE_AND_XOPVW():
2.3 功能的激活(Activate)和停用(De-activate)
对于未产生业务数据的G/L account,可以在配置主数据时,直接通过FSS0定义其OIM的属性。对于已经产生业务数据的GL account,如果想转换其是否开始未清项管理,SAP标准提供了以下程序。
ECC上:
类型 | 激活 | 停用 |
---|---|---|
Open Item Management | FAGL_SWITCH_TO_OPEN_ITEM | RFSEPA03 |
Open Item Management by Ledger Group | FAGL_SWITCH_TO_OPEN_ITEM | n.a |
S/4HANA上:
类型 | 激活 | 停用 |
---|---|---|
Open Item Management | FINS_SWITCH_TO_OPEN_ITEM | FINS_SWITCH_TO_OPEN_ITEM |
Open Item Management by Ledger Group | FINS_SWITCH_XLGCLR | FINS_SWITCH_XLGCLR |
Extended Open Item Management | FINS_SWITCH_XUJCLR | n.a |
3 业务用法
3.1 Open Item Management
在实际业务中,通常下列GL科目会开启未清项管理:
- Bank clearing accounts: 银行结算科目
- Payroll clearing accounts:工资结算科目
- Cash discount clearing accounts:现金贴现结算科目
- GR/IR clearing accounts:GR/IR结算科目
在此种未清项管理下的FI凭证,其行项目的上限为999。通常可以通过FB01进行财务过账,通过F-03和F.13进行总账级别的清账。如果开启了新总账,此种类型的OIM凭证,会过账到对应公司代码下的所有Ledger。
3.2 Open Item Management by Ledger Group
此种类型的OIM适用于ledger Approach实现的平行帐。如果对于某一个GL account开启了OIM by Ledger的标识,则可以将一笔“未清项”凭证过账到指定的一个ledger Group。进而在某个特定的Ledger group下进行清账。
如果对此GL account过账时,未指定Ledger Group,则会默认Ledger Group为空,并过账到到对应公司代码下的所有Ledger。但此时,在业务数据层级,其数据现象是有差别的,总结如下:
类型 | 是否指定Ledger Group? | 数据现象 |
---|---|---|
Open Item Management | 否 | 过账到所有Ledger;数据存储在BSEG中,BSEG-XOPVW为abap_ture ; 未清项通过BSIS和BSAS管理 |
Open Item Management by Ledger Group | 是 | 过账到指定的Ledger;数据存储在BSEG_ADD中,BSEG_ADD-XLGCLR为abap_ture ; 未清项通过FAGLBSIS和FAGLBSAS管理 |
Open Item Management by Ledger Group | 否 | 过账到所有Ledger;数据存储在BSEG中,BSEG-XLGCLR为abap_ture ; 未清项通过FAGLBSIS和FAGLBSAS管理 |
对于哪种GL account要设置为OIM by ledger,要取决于客户的具体需求。但通常来讲,下列的GL account是不可以指定为OIM by ledger的:
- Cash discount clearing accounts:现金贴现结算科目
- GR/IR clearing accounts:GR/IR结算科目
- Tax-relevant account: 税相关的科目
因为,这些account的账是要反映到所有的Ledger中的。同样的,在此种未清项管理下的FI凭证,其行项目的上限为999。通常可以通过FB01L进行财务过账,通过FB1SL和F13L进行总账级别的清账。
3.3 Extended Open Item Management
Extended OIM 是针对于GR/IR clearing account (Good Receipt / Invoice Receipt)的一种未清项管理类型。此功能在S/4HANA 105 即 S/4HANA 2020以及已上版本可用。
此种设计得目的是为了突破FI凭证行项目999的条数限制,可以扩展到9999。这样对于MM采购流程中的收货凭证,或者发票校验凭证,其可以包含更多的货物信息,并将账目过到FI模块。
对于Extended OIM,其只能通过程序FINS_SWITCH_XUJCLR 进行激活。开启此功能后,其财务凭证在entry view中将不会再显示清账信息,清账信息只会反应在总账视图。
在数据库层面,BSEG中仅会存一个汇总金额(BSEG-XOPVW也不会有值),具体的行项目金额会存在ACDOCA中(ACDOCA-XOPVW有值)。
对于清账,需要使用新的GR/IR清账程序FINS_GR_IR_MASS_CLEARING (Tx: FGRIR_CLEARING),传统的F.13不再可用。
4 小结
已上就是SAP系统中目前已有的未清项管理功能,希望对大家有帮助。下面也列出了SAP的官方文档供参考:
- SAP中的未清项管理
本博客专注于技术分享,干货满满,持续更新。 欢迎关注❤️、点赞👍、转发📣!