初识“会计引擎”原理

5 评论 7764 浏览 20 收藏 10 分钟

在财务工作中,当企业业务复杂、数据量大时,完全依赖财务人员人工处理,效率低且正确率难以保证,所以由业务数据实现自动化账务处理势在必行。而实现自动处理前需要先将业务数据向财务数据进行转换,会计引擎可以帮助解决此问题。本文作者介绍了会计引擎的搭建、规则和规则配置,一起来看一下吧。

在企业经营中,财务人员通过会计凭证记录企业的经济活动,并依据会计凭证登记账簿。传统的财务工作中,会计人员根据纸质的原始凭证,依赖财务工作经验编制分录并录入到账务系统中。

当企业业务复杂、数据量大时,完全依赖财务人员人工处理,效率低且正确率难以保证。

所以,由业务数据实现自动化账务处理势在必行。

但是企业的业务数据一般为颗粒度更细的明细数据,而财务数据则是需要符合会计准则的数据,因此必须先将业务数据向财务数据进行转换。会计引擎则可以帮助解决此问题。

基于以上背景,我们可以把会计引擎理解为一个翻译工具。这需要我们提前将翻译规则在预设翻译器中,然后输入业务语言,便可按照预设的规则,输出对应的财务语言。也就实现了业务数据到财务数据的转换,最终生成预制凭证。

01 如何搭建会计引擎

首先要明确,会计引擎的目的是实现账务自动化,即由业务数据自动生成会计凭证。那么我们可以从会计凭证出发,倒推出生成一个会计凭证都需要什么内容,从而明确会计引擎的构成。

市面上比较常见的会计核算系统有金蝶、用友、SAP、Oracle,不同会计核算系统的凭证格式不同。下面我们以用友NC生成的凭证为例。

以下凭证的主要内容包括:

核算账簿(帐套信息)、凭证制单日期、凭证类别、会计期间、借贷方向、凭证摘要、会计科目、币种、金额、辅助核算。

初识“会计引擎”原理

可以看出,凭证是有一定格式的,并且部分内容无法从业务数据中直接获取。基于以上,会计引擎应具备的主要功能为:

  1. 对于直接能找到业务数据与凭证内容对应关系的,根据规则进行映射,直接转换。
  2. 对于无法找到业务数据与凭证内容直接关系的,则要根据规则对业务数据进行加工计算,再得到凭证需要的结果。

总结来说,会计引擎首先需要预设规则,然后调用相应规则。

初识“会计引擎”原理

02 会计引擎的规则

还以上面凭证举例,简单列举几个想要生成这张凭证应配置的规则:

  1. 核算账簿的取值规则
  2. 制单日期的取值规则
  3. 会计期间的取值规则
  4. 借贷方向的生成规则
  5. 摘要的生成规则
  6. 会计科目的生成规则
  7. 辅助核算项的取值规则

那么这些规则具体又是如何构成的呢?

我们知道,规则的组成是:条件语句和结果语句,这放在会计引擎当中依旧适用。会计引擎规则中的条件语句由业务数据组成,结果语句则由财务数据组成。

例如:

条件==>商品类别=女装上衣;

结果==>收入成本明细科目=服装类/女装。

理解为:如果业务数据上的商品类别是【女装上衣】时,那么对应到账务系统中的收入成本科目为【服装类/女装】。

在实际业务应用中,规则的条件语句可以是多个,多条件的组合逻辑可以是“或”关系“且”关系等,结果语句同理。

例如:

条件1==>公司名称=北京xx科技有限公司

条件2==>单据类别=应收单

条件3==>商品类别=女装上衣

条件组合逻辑“==>且”

结果1==>核算账簿=北京xx科技

结果2==>会计科目=应收账款/服装类/女装

结果组合逻辑“==>且”

理解为:如果业务数据上的公司名称是【北京xx科技有限公】,单据类别是【应收单】,且商品类别是【女装上衣】时,那么此条业务数据对应到账务系统中的核算账簿是【北京xx科技】,且会计科目是【应收帐款/服装类/女装】。

以上只是介绍了会计引擎规则基本的构成,具体规则内容,还需要结合公司具体的业务场景、业务流程以及账务处理方式等进行详细梳理。

03 会计引擎的规则配置

尽管不同公司、不同业务的会计引擎内容大不相同,但配置页面,万变不离其宗。

考虑到需要配置的规则数量大,适用场景多,我们在实际应用中可以在规则的结构上增加一级——“规则类型”以便管理和配置。

通过维护规则类型,限定每类规则可以使用的条件和结果因子,缩小配置规则时的选择范围。

下面举例一个简单的模型,这里我们默认条件和结果之间的判断词为“则”,同一规则各条件、结果之间的组合逻辑均为“且”。即:如果“条件1”且“条件2“,则“结果1”。

初识“会计引擎”原理

规则类型管理原型页面:

初识“会计引擎”原理

说明:

1)所属组织用来限定当前规则适用的组织范围

2)条件因子和结果因子是数据库内已有的字段,用户通过选择的方式任意添加(条件和结果至少各一个),添加即:指定该种规则类型对应可选的条件或结果。

规则管理原型页面:

初识“会计引擎”原理

说明:

1)每条规则都需要选择已有的规则类型。

2)条件、结果下拉列表中带出的条件因子和结果因子,会根据已选择的规则类型决定。可添加多个条件和多个结果。

3)条件因子的值、和结果因子的值,即所选条件和结果因子对应的枚举值。

举例:

初识“会计引擎”原理

初识“会计引擎”原理

以上会计引擎的功能模型、原型页面等都是最简单的逻辑,在实际应用当中需要根据业务复杂程度、用户个性化要求、服务器性能等再做相关设计。

接下来会有几篇文章来详细介绍业务数据获取及存储,会计凭证生成及提交,会计核算软件的接收和处理,以及几个凭证实例。。

专栏作家

陈天宇宙,微信公众号:陈天宇宙,人人都是产品经理专栏作家。多平台支付领域专栏作者,十年资深产品;专注为10万支付产品经理和支付机构以及企业提供深度支付内容和服务!

题图来自 Unsplash,基于 CC0 协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 被动态会计指令DMAAI支配的恐惧

    来自北京 回复
  2. 老师,请问还会出会计凭证的其他文章介绍嘛?

    来自陕西 回复
  3. 首先,为什么能做成引擎,是因为财务的核算科目万变不离其宗,就那么几个;引擎的关键点在于配置没错,你讲的偏向于“翻译”,但是关于“为什么”这么设计,建议展开一下,避免看的人走一些弯路

    来自北京 回复
  4. 看了陈老师的文章非常赞同,期待和您做业财引擎相关的深入交流,还请加我微信,多谢。

    来自北京 回复
  5. 读遍陈老师的每一篇文章 获益匪浅

    来自浙江 回复