本申请属于中台技术领域,具体涉及一种生成财务凭证的方法、装置和电子设备。
背景技术:
中台的核心功能之一是针对不同业务场景,根据需求生成对应的凭证。因各场景的业务逻辑差别较大,在前期的凭证开发中,需针对每种业务场景独立开发一套凭证逻辑,从需求评审、开发、测试到上线周期长,且在发生需求变更时,需要重复之前的上线逻辑,导致系统对需求更新的反映比较滞后。
技术实现要素:
为至少在一定程度上克服相关技术中存在的问题,本申请提供一种生成财务凭证的方法、装置和电子设备,基于模板化方式生成财务凭证,有助于更高效的为业务方提供精准快速的凭证服务。
为实现以上目的,本申请采用如下技术方案:
第一方面,
本申请提供一种生成财务凭证的方法,该方法包括:
接收业务系统推送的初始账单数据;
基于初始账单数据生成凭证消息,并查询确认凭证消息所对应的凭证数据类型;
基于凭证消息所对应的凭证数据类型从预先配置的模板库中选择凭证消息所需的中间数据生成模板,将凭证消息所对应的业务数据填充到模板中,以生成凭证中间表数据;
将凭证中间表数据推送给外部凭证服务商,并接收返回的凭证号。
可选地,所述方法应用于中台系统,所述基于初始账单数据生成凭证消息,包括:
对接收到的初始账单数据进行数据清洗处理,得到二次账单数据;
根据二次账单数据、基于预设规则生成消息数据并将其在中台数据库的消息表保存,以生成凭证消息;
其中,所述消息数据中包含消息类型信息、账单号信息、业务类型信息以及凭证的扩展字段信息。
可选地,所述查询确认凭证消息所对应的凭证数据类型,包括:
定时扫描中台数据库的消息表,获取新增的凭证消息所对应的消息数据;
根据消息数据中的消息类型信息和账单号信息查询预先配置的配置表,以确定新增凭证消息所对应的凭证数据类型。
可选地,所述基于凭证消息所对应的凭证数据类型从预先配置的模板库中选择凭证消息所需的中间数据生成模板,将凭证消息所对应的业务数据填充到模板中,以生成凭证中间表数据,包括:
将凭证消息的消息数据中的账单号信息、业务类型信息,与消息对应的凭证数据类型进行拼接组合,得到中间组合数据;
将所述中间组合数据推送给凭证引擎,基于凭证引擎的中间表数据生成服务,来生成凭证中间表数据;
其中,所述中间表数据生成服务,被配置为,
根据中间组合数据中的业务类型信息和凭证数据类型从模板库中选择中间数据生成模板;
根据中间组合数据中的账单号信息查询中台数据库中用于保存二次账单数据的业务表,获取得到凭证消息所对应的业务数据;
将获取得到的业务数据填充到选择的中间数据生成模板中。
可选地,基于所述配置表中的凭证推送配置,所述凭证引擎将凭证中间表数据推送给外部凭证服务商。
可选地,所述凭证引擎,还被配置为,
在将凭证中间表数据推送给外部凭证服务商后,对所述外部凭证服务商的查询接口进行轮询,将轮询得到凭证号进行反馈。
可选地,所述外部凭证服务商包括nc凭证服务商。
可选地,所述业务系统包括第三方物流系统,属地操作费管理系统,汽运系统,物料系统。
第二方面,
本申请提供一种生成财务凭证的装置,所述装置包括:
接收模块,用于接收业务系统推送的初始账单数据;
消息生成模块,用于基于初始账单数据生成凭证消息,并查询确认凭证消息所对应的凭证数据类型;
中间表数据生成模块,用于基于凭证消息所对应的凭证数据类型从预先配置的模板库中选择凭证消息所需的中间数据生成模板,将凭证消息所对应的业务数据填充到模板中,以生成凭证中间表数据;
推送接收模块,用于将凭证中间表数据推送给外部凭证服务商,并接收返回的凭证号。
第三方面,
本申请提供一种电子设备,包括:
存储器,其上存储有可执行程序;
处理器,用于执行所述存储器中的所述可执行程序,以实现上述所述方法的步骤。
本申请采用以上技术方案,至少具备以下有益效果:
本申请的技术方案基于模板化方式生成财务凭证,有助于更高效的为业务方提供精准快速的凭证服务。并且将业务凭证的共性逻辑与各业务场景的个性化需求进行分离,让开发者更加着眼于个性化需求的挖掘,提升开发与运维效率,对于客户的需求能够近实时的反应,显著提升业务效率。
本发明的其他优点、目标,和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书,权利要求书,以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请的技术方案或现有技术的进一步理解,并且构成说明书的一部分。其中,表达本申请实施例的附图与本申请的实施例一起用于解释本申请的技术方案,但并不构成对本申请技术方案的限制。
图1为本申请一个实施例提供的生成财务凭证的方法的流程示意图;
图2为本申请另一个实施例提供的生成财务凭证的方法的交互示意图;
图3为本申请一个实施例提供的生成财务凭证的装置的结构示意图;
图4为本申请一个实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
如背景技术中所述,中台系统的核心功能之一是针对不同业务场景,根据需求生成对应的凭证。在实际应用中,各场景的业务逻辑差别较大,在前期的凭证开发中,需针对每种业务场景独立开发一套凭证逻辑,从需求评审、开发、测试到上线周期长,且需求变更后需要重复之前的上线逻辑,导致系统对需求更新的反映比较滞后。
针对于此,本申请提供一种生成财务凭证的方法,基于模板化方式生成财务凭证,有助于更高效的为业务方提供精准快速的凭证服务。如图1所示,在一实施例中,该方法包括:
步骤s110,接收业务系统推送的初始账单数据;
步骤s120,基于初始账单数据生成凭证消息,并查询确认凭证消息所对应的凭证数据类型;
步骤s130,基于凭证消息所对应的凭证数据类型从预先配置的模板库中选择凭证消息所需的中间数据生成模板,将凭证消息所对应的业务数据填充到模板中,以生成凭证中间表数据;
步骤s140,将凭证中间表数据推送给外部凭证服务商,并接收返回的凭证号。
本申请的技术方案中,将业务凭证的共性逻辑与各业务场景的个性化需求进行分离,基于共性逻辑形成模板,在实际应用中,基于预先配置的模板采用模板化方式生成财务凭证,有助于更高效的为业务方提供精准快速的凭证服务。并且从开发者角度,采用该种方式,可让开发者更加着眼于个性化需求的挖掘,提升开发与运维效率,对于客户的需求能够近实时的反应,显著提升业务效率。
为便于理解本申请的技术方案,下面以另一实施例对本申请的技术方案进行进一步介绍说明。
该实施例中,如图2所示,生成财务凭证的方法应用于中台系统,各业务系统向中台系统推送初始账单数据,举例而言,这里的应用场景为规模以上的物流公司,具体的业务系统包括第三方物流系统,属地操作费管理系统,汽运系统,物料系统等;
中台系统接收业务系统推送的初始账单数据后,需对初始账单数据进行相应的数据清洗,使之符合后续的处理要求;
在该实施例中,具体的,如图2所示,对接收到的初始账单数据定时进行数据清洗处理,得到二次账单数据;
根据二次账单数据、基于预设规则生成消息数据并将其在中台数据库的消息表保存,从而生成凭证消息;
并且需要说明的是,构成凭证消息的消息数据中包含消息类型信息、账单号信息、业务类型信息以及凭证的扩展字段信息。具体的,消息类型用于表征需作哪种凭证(如收款凭证、付款凭证等);账单号为系统唯一流水号;业务类型用于来表征消息对应于哪类凭证(这里的凭证分类,指从具体公司业务角度费分类);凭证的扩展字段用于标注凭证的备注信息,如某一具体的收款凭证的备注信息可以是“20200201从某某公司收款”等。
该实施例中,查询确认凭证消息所对应的凭证数据类型的过程为:
定时扫描中台数据库的消息表,获取新增的凭证消息所对应的消息数据;
根据消息数据中的消息类型信息和账单号信息查询预先配置的配置表,以确定新增凭证消息所对应的凭证数据类型。
需要说明的是,该实施例中,还通过该配置表来维护凭证消息的生成规则,通过具体的配置,可实现控制一个账单号同时做几种凭证(如一个账单号可以配置同时生成收款凭证、付款凭证等,这几种凭证是业务关联的,要么全部成功,要么全部失败)。基于不同的标识符,同时该配置表还可以控制是否将后续的凭证相关数据推送到凭证服务商的数据库中。
该实施例中,采用配置表对配置进行维护的方式,有利于实现账单数据的生成与凭证生成之间的解耦,降低了程序之间的关联。
该实施例中,在确定凭证数据类型后,定时扫描凭证消息的消息数据,将将凭证消息的消息数据中的账单号信息、业务类型信息,与消息对应的凭证数据类型进行拼接组合,得到中间组合数据;
如图2所示,再将中间组合数据推送给凭证引擎,基于凭证引擎的中间表数据生成服务,来生成凭证中间表数据;
具体的,凭证引擎的中间表数据生成服务,被配置为,
根据中间组合数据中的业务类型信息和凭证数据类型从模板库中选择中间数据生成模板,举例而言,这里的模板及模块库可基于sql实现;
根据中间组合数据中的账单号信息查询中台数据库中用于保存二次账单数据的业务表,获取得到凭证消息所对应的业务数据;
将获取得到的业务数据填充到选择的中间数据生成模板中,从而生成凭证中间表数据。
该实施例中,如图2所示,基于配置表中的凭证推送配置,凭证引擎将凭证中间表数据推送给外部凭证服务商,以使相应服务商根据凭证中间表数据生成凭证。举例而言,这里的外部凭证服务商为nc凭证服务商,推送实现具体为定时将凭证中间表数据推送到该服务商的nc数据库。
而一般的,外部凭证服务商没有主动反馈机制,因此该实施例中,凭证引擎,还被配置为,
在将凭证中间表数据推送给外部凭证服务商后,对外部凭证服务商的查询接口进行轮询(定时访问查询该接口),将轮询得到凭证号进行反馈,即如图2所示,凭证引擎基于轮询,获得返回的凭证号,并向中台系统反馈,通知相应凭证消息凭证生成成功。
图3为本申请一个实施例提供的生成财务凭证的装置的结构示意图,如图3所示,该生成财务凭证的装置300包括:
接收模块,用于接收业务系统推送的初始账单数据;
消息生成模块,用于基于初始账单数据生成凭证消息,并查询确认凭证消息所对应的凭证数据类型;
中间表数据生成模块,用于基于凭证消息所对应的凭证数据类型从预先配置的模板库中选择凭证消息所需的中间数据生成模板,将凭证消息所对应的业务数据填充到模板中,以生成凭证中间表数据;
推送接收模块,用于将凭证中间表数据推送给外部凭证服务商,并接收返回的凭证号。
关于上述相关实施例中的生成财务凭证的装置300,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4为本申请一个实施例提供的电子设备的结构示意图,如图4所示,该电子设备400包括:
存储器401,其上存储有可执行程序;
处理器402,用于执行存储器401中的可执行程序,以实现上述方法的步骤。
关于上述实施例中的电子设备400,其处理器402执行存储器401中的程序的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人员在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。