如何实现资金计划的实际数更新处理
1 业务场景
1.1 背景介绍
目前,资金计划实际数的反写一般是绑定是收付业务进行确认收付环节,而实际应用场景下,在业务已完成收付之后,仍存在信息需要更新的场景。
1.2 场景详细描述
具体场景如下:
场景1:已完成收款的单据,存在因合同清分、资金用途等管理属性信息变化,而需要进行收款业务的变更处理,而为了确保资金计划收款实际数的计划科目与业务单据的用途信息保持一致,同样涉及对实际数需要做更新处理。
场景2:已完成付款的单据,会出现银行退票或交易对方进行部分款项退回,从而导致实际支出金额发生变化。
特殊应用场景3:若客户通过资金计划应用来管控资金业务限额,例如在资金计划应用中进行期间内的存量融资规模的管控,则将出现提款时对应的计划科目实际数增加,而当提款处理单进行还款之后,需要基于还款金额释放已占用的新增融资实际数,从而已存在实际数更新的诉求。
2 解决方案
2.1 解决方案总述
基于上述的应用场景,产品提供了多种实际数更新方案供客户进行业务适配,从而实现业务发生变化后,可动态更新资金计划对应维度组合下的实际数记录信息。主要包括:
方案1:实占环节增加绑定业务更新的操作,触发多次实占,系统每次实占时都会采取覆盖更新逻辑处理。
方案2:配置实际数释放(返还)执行时机,取业务单据的“已退/已还”等额度,触发实际数的返还扣减
方案3:配置实际数直接更新执行时机,取业务单据剩余额度,触发按剩余额度来刷新实际数
以上方案中,方案1和方案3的最大区别在于,若本单据或上游业务单据存在事先的计划额度预占,方案1在覆盖更新实际数的同时将触发预占释放操作。例如,若上游预占100,第一次实占100,释放预占-100;而业务变更后金额变为了80,则:
采用方案1的效果为:上游预占100;实占80;释放预占-80。即对应维度组合下,在途预占额度20;实际额度80
采用方案3的效果为:上游预占100;实占100;释放预占-100;实占更新变动-20。即对应维度组合下,预占额度为0;实际额度为80
2.2 关键操作
2.2.1 方案1:多次实占触发数据更新
该方案主要适用于收款处理的变更方式为“原单变更”,且进行变更后,需要触流入计划科目的实际数更新。具体操作建议如下:
步骤1,在收款处理单上二开一个空操作,并将空操作绑定在执行控制时机中的“实占(实际扣减)时机”中。
步骤2,而收款处理单触发这个二开的空操作的方法,有三种:①代码二开,即若收款处理的变更单审核并更新已有的收款处理单后,二开代码触发"空操作”即可。②手工触发空操作,当收款变更完成后,人工选择需要更新实际数的收款处理单点击二开的“空操作”即可。
步骤3,业务前端触发了二开的空操作后,即可基于已有配置,系统将自动触发对同一个收款处理单上的执行记录进行覆盖式更新处理。
2.2.2 方案2:通过实际数返还(释放)服务实现数据更新
该方案主要适用于出纳付款及代发处理单进行退款退票之后,需要更新实际数情况,且局限于付款处理及代发处理单仅支持一次退款或退票的场景。具体操作如下:
步骤1,针对付款处理单的执行控制时机配置的建议为,将<确认退款退票>操作绑定在“实占返还(释放)时机”上,同时配置实占返还的金额取值字段为“付款明细.退款金额”。
此外,由于付款处理单允许取消退款退票,因此,需要将<取消退款退票>操作绑定在“实占(实际扣减)时机”上,便于系统触发实际数记录的覆盖更新,即删除释放记录,并按单据上的信息进行重新实占。
步骤2:上述所绑定的操作为标准产品预置的操作,因此当收款处理单发起<退款>或<退票>操作,并关联到所需退款或退票的付款处理单,则系统将触发付款处理单的<确认退款退票>操作,从而将进一步关联触发执行数释放服务。因此,系统将基于付款处理单上“退款金额”,生成一笔负数的实际数释放记录,从而实现对已写入的实际数额度进行冲减。
2.2.3 方案3:通过实际数更新服务实现数据更新
星瀚版本V6.0.14发布之后,出纳应用的付款处理单及代发单等业务单据支持多次退款退票,即一笔付款处理单或代发处理单可以分多次进行部分退款,并可支持逆向的取消其中一笔的退款。鉴于此,资金计划提供直接通过业务单据上的“剩余可退金额”实现对实际数的直接更新。具体操作如下:
步骤1,控制执行时机配置时,需要将“启用实占更新设置”的布尔开关打开。
步骤2,针对付款处理单在实占环节的执行控制时机配置的建议为,将<确认退款退票>以及<取消退款退票>操作绑定在“实占更新时机”上,同时配置实占更新的金额取值字段为“付款明细.剩余可退款金额”。
步骤3,上述所绑定的操作为标准产品预置的操作,因此当收款处理单发起<退款>或<退票>操作,并关联到所需退款或退票的付款处理单,则系统将触发付款处理单的<确认退款退票>操作,从而将进一步关联触发执行数更新服务。因此,系统将基于付款处理单上“剩余可退金额”与上一次执行数更新的金额比对,生成一笔差额的实际数记录,从而实现对已写入的实际数额度进行冲减。
以下述记录为例,付款处理单首次确认付款写入实际数为120;其中当付款处理单退款20之后,“剩余可退金额”为100,则关联的更新后实际数总额也应该为100,故系统将会生成一笔执行额度为负数的实际数记录。而当业务端对退款20的记录进行取消退款退票后,则系统将会生成一笔执行额度为正数的实际数记录,实现对数据更新。因此,每一笔实际执行数更新之后,对应业务单据下执行数写入记录的“更新后实际执行总额”将会发生变化。
此外,该方案同样适用于进行贷款规模控制的场景,例如每次还款之后需要将融资占用额度进行返还。而用户只需要配置实际数更新的金额取值为提款处理单的“未还金额”即可。
3 注意事项
实际数更新及实际数释放的服务无法处理维度组合发生变化的记录更新。也就是,若业务单据进行了业务属性信息修改,从而更新关联资金计划的实际数时,即需要更新金额亦需要更新对应的维度组合,例如计划科目从“供应商付款”变为“其他支出”,则只能通过方案1来配置实现。
针对用于承载退款的收款处理单,若无对应的流入计划科目可关联匹配,即流入计划科目无退款相关的科目,则建议在收款处理单的【业务取数规则】配置时,通过例外条件将退款或退票的收款处理单进行排除在外,即这些单据不需要写入流入方的实际数额度。
若系统已配置通过二开空操作定期进行实际数重复实占更新,例如每周或每天都设置系统调度任务或机器人执行二开空操作,触发已付款或已收款的业务单据的执行数重新写入,则建议在调度任务或智能核算配置方案中,付款处理单单据状态仅含“已付款”,不需要涉及到退款退票状态数据更新。
“实际数更新服务”在星瀚V6.0.14版本发布
4 参考资料
如何实现资金计划的实际数更新处理
本文2024-09-22 23:17:54发表“云星瀚知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-xinghan-132128.html