本发明属于计算机信息
技术领域:
,具体涉及一种生成记账凭证的方法及系统。
背景技术:
:企业的会计核算是根据企业原始凭证生成记账凭证的过程。原始凭证是在业务过程中生成或收集的,证明其业务活动的纸质文件和电子文件,而记账凭证是企业会计根据审核无误的原始凭证按照经济业务事项的内容加以分类,并据以确定会计分录后所填制的会计凭证。一个完整的记账凭证包括记账期数、凭证号、凭证日期、明细科目列表、各明细科目方向、各明细科目金额、制单人等信息,参看图1,其核心是会计凭证的明细科目列表、各明细科目方向、各明细科目金额。由于财务规定相对复杂和琐碎,企业会计核算是一个专业性较强的工作,虽然会计电算化软件为财务人员提供了一个方便会计人员录入会计凭证的辅助工具,并能根据会计凭证生成相应的财务报表。但是会计凭证中的借方和贷方会计科目、辅助核算科目等核心信息,仍然极大地依赖于会计专业人员的人工判断。另一方面,会计核算是一个规则性较强的工作,可以根据人员、收付渠道、收付金额、收付方等数据可以确定或初步确定往来核算的会计凭证的科目和金额等信息,或可以根据现有的科目自动生成相应记账凭证。为提高会计核算的效率,现有的技术方案是将明确的会计规则定义为凭证模板,凭证模板中包含了借方科目、贷方科目、所对应的业务类型,核算软件可以根据原始凭证中的业务类型,确定凭证模板,然后根据凭证模板和原始凭证对应的金额生成相应的记账凭证。但是,现有技术方案存在以下几个问题:首先,模板内部的借方科目和贷方科目是在模板定义时预先确定的,对于同一业务类型,借方和贷方所属科目、科目数量可能与原始凭证的其他数据有着极大的关系——以员工报销为例,员工可能在同一个报销单据中提交了交通费、差旅费、通讯费、办公费等多个类型的费用,每个类型的费用都需要归集到自己的会计科目,此时基于静态科目的模板就无法适应这样多变的场景;其次,凭证模板定义的粒度是记账凭证一级,而记账凭证是由借方会计科目、贷方会计科目和各科目的金额组成,基于凭证一级的模板定义导致大量的科目级重复定义——以业务采购为例,因现金采购和银行支票采购所对应的贷方科目不一样,此时,就需定义两个不同的模板,导致模板定义和维护的工作量增加,也增加了记账凭证错误的风险。技术实现要素:发明目的:本发明的目的在于提供一种生成记账凭证的方法和系统,以实现同一业务的原始凭证生成的记账凭证科目不确定或业务类似时能使用统一的记账凭证模板实现记账凭证的生成。通过本发明的原始凭证科目特征或原有记账凭证科目与记账凭证科目的映射表,可以实现同一记账凭证模板生成不同的借方、贷方科目,提高了模板的应用范围;其次,通过记账凭证科目映射表的引入,降低了配置和处理的粒度,可以避免因个别参数不一致而引入新的记账凭证模板,降低了记账凭证模板定义和维护的工作量,避免记账凭证错误的风险。技术方案:一种生成记账凭证的方法,包括:s1定义原始凭证科目特征与记账凭证科目的映射表;s2定义原有记账凭证科目与记账凭证科目的映射表;s3建立记账凭证模板库,记账凭证模板库包括一系列记账凭证模板,所述记账凭证模板,包括全局唯一的名称、模板应用条件、模板包含的明细条目和模板各条目的借贷方向,其中:模板包含的明细条目为预设的会计科目或步骤s1/s2中定义的映射表中的条目;模板应用条件指的是使用本模板生成记账凭证时需要满足的条件,模板应用条件包括原始凭证的业务特征和应用环境特征,其中:原始凭证的业务特征是指用于描述原始凭证对应业务的元数据;应用环境特征是指模板运行时的外部环境满足的条件;s4获取业务过程中企业生成的原始凭证,其中:原始凭证包括凭证文件和该凭证文件对应的元数据;s5检查步骤s4所有获取到的原始凭证,将需合并记账的原始凭证关联为原始凭证组,然后进入步骤s6;s6、逐一针对每一个原始凭证或原始凭证组,根据原始凭证或原始凭证组的业务特征确定适用的步骤s3定义的记账凭证模板,全部都完成后进入步骤s7,其中:若原始凭证或原始凭证组适用多个记账凭证模板,则人工选择使用的凭证模板;s7根据确定的记账凭证模板,针对记账凭证模板包含的每一个明细条目,生成对应的记账凭证的科目、方向及金额;s8核对自动生成的记账凭证,完成后进入步骤s9,其中:当记账凭证有错误或不完整时,则返回错误信息,提请记账会计人工处理;s9、检测是否有未处理的原始凭证或原始凭证组,如有未处理的原始凭证或原始凭证组,则返回步骤s6,若没有未处理的原始凭证或原始凭证组,则进入步骤s10;s10、检测当前的应用环境,判断是否有满足应用环境特征的记账凭证模板,若存在,则进入步骤s7,若不存在,结束本次操作。进一步地,步骤s3中的原始凭证的业务特征包括原始凭证的单据类型、对应的业务类型。进一步地,步骤s3中的应用环境特征包括会计记账时的月度结转、企业现有的原始凭证处理完成。进一步地,步骤s7包括以下步骤:s71逐一判断明细条目的类型,若明细条目为明确的会计科目进入步骤s72,若明细条目是一个步骤s1中定义的映射表条目,进入步骤s73,若明细条目是一个步骤s2中定义的映射表条目,进入步骤s74,待所有的明细条目的类型都处理完成后,进入步骤s75;s72将该明细条目的借贷方向和原始凭证中与该明细科目对应的金额填充到记账凭证中的该明细科目条目中,形成记账凭证的一个科目明细;s73根据步骤s1定义的映射表生成对应的会计科目,并将该条目的借贷方向和原始凭证中与该科目对应的金额填充到科目条目中,形成记账凭证中的一个科目明细;s74判断企业已有记账凭证中该映射表条目中对应的源科目是否有余额,若有余额,则生成相应的目标会计科目,并将该条目的借贷方向填充到科目条目中,然后在判断源科目到目标科目的映射中是否包含金额计算公式,若包含金额计算公式,则调用该公式生成目标科目的金额,形成记账凭证中的一个科目明细,若不包含计算公式,则生成的科目中不包含金额;若没有余额,进入步骤s71;s75将步骤s72~s74生成的科目明细进行合并,生成记账凭证科目明细列表,然后进入步骤s76;s76补充记账凭证的元数据,生成记账凭证,然后进入步骤s8。一种生成记账凭证的系统,包括:第一映射表定义模块,定义原始凭证科目特征与记账凭证科目的映射表;第二映射表定义模块,定义原有记账凭证科目与记账凭证科目的映射表记账凭证模板库建立模块,建立记账凭证模板库,记账凭证模板库包括一系列记账凭证模板,所述记账凭证模板,包括全局唯一的名称、模板应用条件、模板包含的明细条目和模板各条目的借贷方向,其中:模板包含的明细条目为预设的会计科目或第一/二映射表定义模块中定义的映射表中的条目;模板应用条件指的是使用本模板生成记账凭证时需要满足的条件,模板应用条件包括原始凭证的业务特征和应用环境特征,其中:原始凭证的业务特征是指用于描述原始凭证对应业务的元数据;应用环境特征是指模板运行时的外部环境满足的条件;原始凭证获取模块,获取业务过程中企业生成的原始凭证,其中:原始凭证包括凭证文件和该凭证文件对应的元数据;合并模块,检查所有获取到的原始凭证,将需合并记账的原始凭证关联为原始凭证组,然后进入记账凭证模板选择模块;记账凭证模板选择模块,逐一针对每一个原始凭证或原始凭证组,根据原始凭证或原始凭证组的业务特征确定适用的记账凭证模板,全部都完成后进入记账凭证生成模块,其中:若原始凭证或原始凭证组适用多个记账凭证模板,则人工选择使用的凭证模板;记账凭证生成模块,根据确定的记账凭证模板,针对记账凭证模板包含的每一个明细条目,生成对应的记账凭证的科目、方向及金额;核对模块,核对自动生成的记账凭证,完成后进入检测模块,其中:当记账凭证有错误或不完整时,则返回错误信息,提请记账会计人工处理;第一检测模块,检测是否有未处理的原始凭证或原始凭证组,如有未处理的原始凭证或原始凭证组,则返回记账凭证模板选择模块,若没有未处理的原始凭证或原始凭证组,则进入第二检测模块;第二检测模块,检测当前的应用环境,判断是否有满足应用环境特征的记账凭证模板,若存在,则调用记账凭证生成模块生成记账凭证,若不存在,结束本次操作。进一步地,记账凭证模板库建立模块中的原始凭证的业务特征包括原始凭证的单据类型、对应的业务类型。进一步地,记账凭证模板库建立模块中的应用环境特征包括会计记账时的月度结转、企业现有的原始凭证处理完成。进一步地,记账凭证生成模块包括以下模块:判断模块,逐一判断明细条目的类型,若明细条目为明确的会计科目进入第一科目明细生成模块,若明细条目是第一映射表定义模块中定义的映射表条目,进入第二科目明细生成模块,若明细条目是第一映射表定义模块中定义的映射表条目,进入第三科目明细生成模块,待所有的明细条目的类型都处理完成后,进入合并模块;第一科目明细生成模块,将该明细条目的借贷方向和原始凭证中与该明细科目对应的金额填充到记账凭证中的该明细科目条目中,形成记账凭证的一个科目明细;第二科目明细生成模块,根据第一映射表定义模块定义的映射表生成对应的会计科目,并将该条目的借贷方向和原始凭证中与该科目对应的金额填充到科目条目中,形成记账凭证中的一个科目明细;第三科目明细生成模块,判断企业已有记账凭证中该映射表条目中对应的源科目是否有余额,若有余额,则生成相应的目标会计科目,并将该条目的借贷方向填充到科目条目中,然后在判断源科目到目标科目的映射中是否包含金额计算公式,若包含金额计算公式,则调用该公式生成目标科目的金额,形成记账凭证中的一个科目明细,若不包含计算公式,则生成的科目中不包含金额;若没有余额,进入步骤判断模块;合并模块,将第一/二/三科目明细生成模块,生成的科目明细进行合并,生成记账凭证科目明细列表,然后进入补充模块;补充模块,补充记账凭证的元数据,生成记账凭证。有益效果:本发明公开的一种生成记账凭证的方法及系统具有以下有益效果:1、在模板定义过程支持会计科目映射表(包括原始凭证科目特征与记账凭证科目的映射表、原有记账凭证科目与记账凭证科目的映射表)和会计科目的混合使用,可以支持同一模板生成会计科目的动态变化和局部调整;2、本发明的实施可以实现原始凭证到会计凭证的自动生成,也可根据现有的记账凭证生成新的记账凭证,可以简化会计的做账过程,提高企业会计核算的质量和效率。附图说明图1为记账凭证的示例图;图2为本发明公开的一种生成记账凭证的方法的流程图。具体实施方式:下面对本发明的具体实施方式详细说明。一种生成记账凭证的方法,包括:s1定义原始凭证科目特征与记账凭证科目的映射表原始凭证科目特征与记账凭证科目的映射表是指原始凭证科目特征与记账凭证科目的对应关系,其表示如果原始凭证具有满足映射表中预定义的科目特征,则在记账凭证中生成相应的会计科目;原始凭证科目特征是指原始凭证中与记账科目选择有直接关系的元数据,包括员工报销时的费用类型、员工报销时员工所属部门;例如,收付方式与会计科目的映射表如下:收付方式会计科目现金库存现金银行汇款银行存款支付宝其他货币资金-支付宝微信其他货币资金-微信表1:收付方式-会计科目映射表s2定义原有记账凭证科目与记账凭证科目的映射表原有记账凭证科目与记账凭证科目的映射表是指通过原有记账凭证生成新记账凭证时(折旧、摊销、坏账准备等),原有记账凭证科目与记账凭证科目的对应关系,如果可以通过原记账凭证中的科目金额计算出目标科目金额的条目,映射表中同时包括相应的计算公式,原有记账凭证科目称为源科目,记账凭证科目称为目标科目;表示在企业已有的记账凭证中,如果源科目有余额,则在记账凭证中生成目标科目的科目明细;比如,固定资产、无形资产的源科目和目标科目的映射表如下源科目目标科目计算公式固定资产制造费用-折旧费和摊提所有固定资产月折旧额总和表2:固定资产-折旧科目映射表对于“减值准备”等金额计算复杂,无法通过简单公式计算的科目,本发明定义科目映射时只定义源科目和目标科目的映射,不定义金额计算公式,金额由记账人员手工补充。源科目目标科目固定资产固定资产减值准备无形资产无形资产减值准备应收账款坏账准备-应收账款坏账准备表3:减值准备科目映射表s3建立记账凭证模板库,记账凭证模板库包括一系列记账凭证模板,所述记账凭证模板,包括全局唯一的名称、模板应用条件、模板包含的明细条目和模板各条目的借贷方向,其中:模板包含的明细条目为预设的会计科目或步骤s1/s2中定义的映射表中的条目;模板应用条件指的是使用本模板生成记账凭证时需要满足的条件,模板应用条件包括原始凭证的业务特征和应用环境特征,其中:原始凭证的业务特征是指用于描述原始凭证对应业务的元数据;根据原始凭证业务特征应用的模板示例如下:表4:记账凭证模板-收客户款应用环境特征是指模板运行时的外部环境满足的条件;根据应用环境特征应用的模板示例如下:表5:记账凭证模板-固定资产折旧表6:记账凭证模板-资产减值准备s4获取业务过程中企业生成的原始凭证,其中:原始凭证包括凭证文件和该凭证文件对应的元数据;s5检查步骤s4所有获取到的原始凭证,将需合并记账的原始凭证关联为原始凭证组,然后进入步骤s6;s6、逐一针对每一个原始凭证或原始凭证组,根据原始凭证或原始凭证组的业务特征确定适用的步骤s3定义的记账凭证模板,全部都完成后进入步骤s7,其中:若原始凭证或原始凭证组适用多个记账凭证模板,则人工选择使用的凭证模板;s7根据确定的记账凭证模板,针对记账凭证模板包含的每一个明细条目,生成对应的记账凭证的科目、方向及金额;根据表1和表4,在收到银行存款增加1000元时的原始凭证时,本发明自动生成的记账凭证如下:摘要科目金额方向收客户款银行存款1000借应收账款1000贷表7:银行存款记账凭证可以发现,针对不同的收款方式,本发明可以使用一个记账凭证模板生成科目不同的记账凭证,降低模板的数量,简化了模板的维护工作;根据表2和表5,在会计月度结转时,生成的会计凭证如下,其中金额是根据每个企业所有固定资产的月折旧金额计算确定摘要科目金额方向固定资产折旧制造费用-折旧费和摊提xxx借累计折旧xxx贷表8:固定资产折旧记账凭证根据表3和表6,在会计月度结转时,如果企业的固定资产、应收账款科目包含余额,则生成的会计凭证如下,其中金额由记账人员手工补充摘要科目金额方向计提减值准备固定资产减值准备贷坏账准备-应收账款坏账准备贷管理费用-资产减值损失借表9:减值准备记账凭证可以发现,本发明可以根据企业现有的资产和记账凭证生成新的记账凭证,可以迅速地生成新的记账凭证,极大地简化了记账人员的工作,提升了记账工作的效率。s8核对自动生成的记账凭证,完成后进入步骤s9,其中:当记账凭证有错误或不完整时,则返回错误信息,提请记账会计人工处理;如果生成记账凭证中所有科目都包含金额,则根据复式记账的规则,核对借方和贷方总额,若借方和贷方总额相等,则本条记账凭证完成;若借方和贷方总额不相等,则返回记账错误信息,提请记账人员人工处理;如果生成记账凭证中存在不包含金额的科目明细,则返回记账信息不完整信息,提请记账人员人工处理;如:表9的记账凭证;s9、检测是否有未处理的原始凭证或原始凭证组,如有未处理的原始凭证或原始凭证组,则返回步骤s6,若没有未处理的原始凭证或原始凭证组,则进入步骤s10;s10、检测当前的应用环境,判断是否有满足应用环境特征的记账凭证模板,若存在,则进入步骤s7,若不存在,结束本次操作。进一步地,步骤s3中的原始凭证的业务特征包括原始凭证的单据类型、对应的业务类型。进一步地,步骤s3中的应用环境特征包括会计记账时的月度结转、企业现有的原始凭证处理完成。进一步地,步骤s4中所述原始凭证包括电子化的银行对账单、发票、出入库单、报销单、支出单、企业工资表、社保缴纳表、公积金缴纳表。进一步地,步骤s4中的所述元数据包括摘要、票据类型、金额、业务类型。进一步地,步骤s7包括以下步骤:s71逐一判断明细条目的类型,若明细条目为明确的会计科目进入步骤s72,若明细条目是一个步骤s1中定义的映射表条目,进入步骤s73,若明细条目是一个步骤s2中定义的映射表条目,进入步骤s74,待所有的明细条目的类型都处理完成后,进入步骤s75;s72将该明细条目的借贷方向和原始凭证中与该明细科目对应的金额填充到记账凭证中的该明细科目条目中,形成记账凭证的一个科目明细;s73根据步骤s1定义的映射表生成对应的会计科目,并将该条目的借贷方向和原始凭证中与该科目对应的金额填充到科目条目中,形成记账凭证中的一个科目明细;s74判断企业已有记账凭证中该映射表条目中对应的源科目是否有余额,若有余额,则生成相应的目标会计科目,并将该条目的借贷方向填充到科目条目中,然后在判断源科目到目标科目的映射中是否包含金额计算公式,若包含金额计算公式,则调用该公式生成目标科目的金额,形成记账凭证中的一个科目明细,若不包含计算公式,则生成的科目中不包含金额;若没有余额,进入步骤s71;s75将步骤s72~s74生成的科目明细进行合并,生成记账凭证科目明细列表,然后进入步骤s76;s76补充记账凭证的元数据,生成记账凭证,然后进入步骤s8。更进一步地,步骤s76中的原数据包括凭证号、凭证期数、凭证张数。一种生成记账凭证的系统,包括:第一映射表定义模块,定义原始凭证科目特征与记账凭证科目的映射表;第二映射表定义模块,定义原有记账凭证科目与记账凭证科目的映射表记账凭证模板库建立模块,建立记账凭证模板库,记账凭证模板库包括一系列记账凭证模板,所述记账凭证模板,包括全局唯一的名称、模板应用条件、模板包含的明细条目和模板各条目的借贷方向,其中:模板包含的明细条目为预设的会计科目或第一/二映射表定义模块中定义的映射表中的条目;模板应用条件指的是使用本模板生成记账凭证时需要满足的条件,模板应用条件包括原始凭证的业务特征和应用环境特征,其中:原始凭证的业务特征是指用于描述原始凭证对应业务的元数据;应用环境特征是指模板运行时的外部环境满足的条件;原始凭证获取模块,获取业务过程中企业生成的原始凭证,其中:原始凭证包括凭证文件和该凭证文件对应的元数据;合并模块,检查所有获取到的原始凭证,将需合并记账的原始凭证关联为原始凭证组,然后进入记账凭证模板选择模块;记账凭证模板选择模块,逐一针对每一个原始凭证或原始凭证组,根据原始凭证或原始凭证组的业务特征确定适用的记账凭证模板,全部都完成后进入记账凭证生成模块,其中:若原始凭证或原始凭证组适用多个记账凭证模板,则人工选择使用的凭证模板;记账凭证生成模块,根据确定的记账凭证模板,针对记账凭证模板包含的每一个明细条目,生成对应的记账凭证的科目、方向及金额;核对模块,核对自动生成的记账凭证,完成后进入检测模块,其中:当记账凭证有错误或不完整时,则返回错误信息,提请记账会计人工处理;当生成记账凭证中所有科目都包含金额,则根据复式记账的规则,核对借方和贷方总额,若借方和贷方总额相等,则本条记账凭证完成;若借方和贷方总额不相等,则返回记账错误信息,提请记账人员人工处理;当生成记账凭证中存在不包含金额的科目明细,则返回记账信息不完整信息,提请记账人员人工处理;第一检测模块,检测是否有未处理的原始凭证或原始凭证组,如有未处理的原始凭证或原始凭证组,则返回记账凭证模板选择模块,若没有未处理的原始凭证或原始凭证组,则进入第二检测模块;第二检测模块,检测当前的应用环境,判断是否有满足应用环境特征的记账凭证模板,若满足,则输出经过核对模块核对的记账凭证,并结束本次操作,若不满足,直接结束本次操作。进一步地,记账凭证模板库建立模块中的原始凭证的业务特征包括原始凭证的单据类型、对应的业务类型。进一步地,记账凭证模板库建立模块中的应用环境特征包括会计记账时的月度结转、企业现有的原始凭证处理完成。进一步地,原始凭证获取模块中所述原始凭证包括电子化的银行对账单、发票、出入库单、报销单、支出单、企业工资表、社保缴纳表、公积金缴纳表。进一步地,原始凭证获取模块中的所述元数据包括摘要、票据类型、金额、业务类型。进一步地,记账凭证生成模块包括以下模块:判断模块,逐一判断明细条目的类型,若明细条目为明确的会计科目进入第一科目明细生成模块,若明细条目是第一映射表定义模块中定义的映射表条目,进入第二科目明细生成模块,若明细条目是第一映射表定义模块中定义的映射表条目,进入第三科目明细生成模块,待所有的明细条目的类型都处理完成后,进入合并模块;第一科目明细生成模块,将该明细条目的借贷方向和原始凭证中与该明细科目对应的金额填充到记账凭证中的该明细科目条目中,形成记账凭证的一个科目明细;第二科目明细生成模块,根据第一映射表定义模块定义的映射表生成对应的会计科目,并将该条目的借贷方向和原始凭证中与该科目对应的金额填充到科目条目中,形成记账凭证中的一个科目明细;第三科目明细生成模块,判断企业已有记账凭证中该映射表条目中对应的源科目是否有余额,若有余额,则生成相应的目标会计科目,并将该条目的借贷方向填充到科目条目中,然后在判断源科目到目标科目的映射中是否包含金额计算公式,若包含金额计算公式,则调用该公式生成目标科目的金额,形成记账凭证中的一个科目明细,若不包含计算公式,则生成的科目中不包含金额;若没有余额,进入步骤判断模块;合并模块,将第一/二/三科目明细生成模块,生成的科目明细进行合并,生成记账凭证科目明细列表,然后进入补充模块;补充模块,补充记账凭证的元数据,自动生成的记账凭证。更进一步地,补充模块中的原数据包括凭证号、凭证期数、凭证张数。上面对本发明的实施方式做了详细说明。但是本发明并不限于上述实施方式,在所属
技术领域:
普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。当前第1页12