一种开票申请单据的拆分方法与流程

文档序号:11678420阅读:1696来源:国知局
一种开票申请单据的拆分方法与流程

本发明涉及发票开具方法,尤其涉及一种开票申请单据的拆分方法。



背景技术:

目前,为了进行税务发票管理,企业开票、打印发票、抄税等操作都是通过使用开票专用设备金税盘实现的。在使用金税盘进行增值税专用发票开票时,存在一些限制。比如金税盘在发行过程中设置了开票限额(即开具单张发票的最大含税总金额),当开票单据中的含税总金额超过开票限额时则无法开票。另外,防伪税控增值税专用发票不允许开具清单票,因此,当发票明细行数超过7行时也无法开票。当申请开票方和实际开票方不是同一个人时,申请开票方往往并不知道开票方金税盘的具体限制规则,在填写开票申请单据时,无法根据金税盘的限制组织数据,因此需要开票方根据申请单据填写的实际情况进行相应处理,解决部分单据因开票限额限制、明细行数限制等无法开票的问题。



技术实现要素:

鉴于上述问题,提出了本发明,以便提供一种克服上述问题或至少部分地解决上述问题的一种开票申请单据的拆分方法。

本发明提供一种开票申请单据的拆分方法,所述方法包括如下步骤:

判断发票单据金额是否超过开票限额或者开票行数,如果是,则执行下一步;如果否,则直接开具发票;

对于超过开票限额或者开票行数的发票单据,判断明细中是否包含折扣行,如果未包括,则执行下一步;如果包括,则报错退出;

生成未拆分的明细行,并判断是否存在未拆分明细行,如果是,则执行下一步;如果否,则计算拆分后的单据数量,判断剩余发票张数是否足够,如果够,则遍历所有拆分后的单据进行开票;如果不够,则给出相应提示,退出开票流程;

根据确认的是超过开票限额还是超过开票行数的判断结果,分别执行对应的拆分操作。

进一步的,当单据含税总金额超过单张发票的开票限额时,根据开票限额拆分;当汉字防伪增值税专用发票明细行数超过指定行数时,根据明细行数拆分。

进一步的,所述根据开票限额拆分,具体包括如下步骤:

步骤1:判断开票申请单据含税总金额是否超过金税盘发行时设置的开票限额,如果是则继续;如果否则直接开票。

步骤2:判断明细中是否包含折扣行,如果是,则给出相应提示,并退出开票流程;如果否,则根据单据明细信息生成未拆分的明细行。

步骤3:判断是否存在未拆分的明细行,如果是,则继续;如果否,则表明拆单过程结束,跳至步骤7。

步骤4:从第一行明细开始向后累加含税金额,计算出累加金额不超过开票限额的最大明细行数。

步骤5:如果行数大于等于1,则将前面的行拆成一单,并退回步骤3对剩余明细行继续进行处理;如果行数等于0,说明第一行明细含税金额超过开票限额,需要对第一行明细进行拆分,执行步骤6。

步骤6:根据商品数量对第一行明细进行拆分,判断是否可以用整数数量拆分第一行,如果是,则以整数数量拆分第一行;如果否,则以小数数量拆分第一行,第一行拆分后,退回步骤3对剩余明细行继续进行处理;

步骤7:计算拆分后的单据数量,判断剩余发票张数是否足够,如果够,则继续执行步骤8;如果不够,则给出相应提示,退出开票流程;

步骤8:遍历所有拆分后的单据进行开票,若某张单据开票出错,则给出相应提示,退出开票流程。

进一步的,所述步骤6具体包括:

优先使用整数数量,为保证拆分后金额不超过开票限额,采用向下取整原则,即计算结果不为整数时取小于计算结果的整数,计算结果为整数时直接取整数。整数数量向下取整结果为0时,改用小数数量进行拆分,小数点后保留6位,第6位向下取整。

进一步的,所述根据明细行数拆分,具体包括如下步骤:

步骤1:判断是否开具汉字防伪增值税专用发票,如果是,则继续;如果否,则直接开票。

步骤2:判断商品明细行数是否超过7行,如果是,则继续;如果否,则直接开票。

步骤3:判断明细中是否包含折扣行,如果有,则给出相应提示,退出开票流程;如果没有,则去除清单标志,并根据单据明细信息生成未拆分的明细行。

步骤4:判断是否存在未拆分的明细行,如果有,则继续执行步骤5;如果没有,则表明拆单过程结束,跳至步骤6。

步骤5:最多7行拆成一单,并退回步骤4对剩余明细行继续进行处理。

步骤6:计算拆分后的单据数量,判断剩余发票张数是否足够,如果够,则继续执行步骤7;如果不够,则给出相应提示,退出开票流程。

步骤7:遍历所有拆分后的单据进行开票,若某张单据开票出错,则给出相应提示,退出开票流程。

本发明提出了一种增值税专用发票开票申请单据的拆分方法,根据开票限额、明细行数等条件进行判断,然后按照相应规则进行拆分,将原先无法开票的单据,拆分成多张可以开票的单据,从而解决无法开票的问题。拆分过程由计算机应用程序根据拆分算法自动实现,采用模块化管理,避免人工拆分的繁琐过程,具有速度快、准确性高、封装性强、易于维护等优点。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例根据开票限额进行拆分操作的流程示意图。

图2为本发明实施例根据明细行数进行拆分操作的流程示意图。

具体实施方式

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例作进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。

一种开票申请单据的拆分方法,包括如下步骤:

判断发票单据金额是否超过开票限额或者开票行数,如果是,则执行下一步;如果否,则直接开具发票;

对于超过开票限额或者开票行数的发票单据,判断明细中是否包含折扣行,如果未包括,则执行下一步;如果包括,则报错退出;

生成未拆分的明细行,并判断是否存在未拆分明细行,如果是,则执行下一步;如果否,则计算拆分后的单据数量,判断剩余发票张数是否足够,如果够,则遍历所有拆分后的单据进行开票;如果不够,则给出相应提示,退出开票流程。

根据确认的是超过开票限额还是超过开票行数的判断结果,分别执行对应的拆分操作。

在本发明中,开票申请单据的拆分主要包含两种方式:一是单据含税总金额超过单张发票的开票限额时,根据开票限额拆分;二是汉字防伪增值税专用发票明细行数超过7行时,根据明细行数拆分。详细说明如下:

拆分方式一,如图1所示,根据开票限额拆分:

步骤1:判断开票申请单据含税总金额是否超过金税盘发行时设置的开票限额,如果是则继续;如果否则直接开票。

步骤2:判断明细中是否包含折扣行,如果是,则给出相应提示,并退出开票流程;如果否,则根据单据明细信息生成未拆分的明细行。

步骤3:判断是否存在未拆分的明细行,如果是,则继续;如果否,则表明拆单过程结束,跳至步骤7。

步骤4:从第一行明细开始向后累加含税金额,计算出累加金额不超过开票限额的最大明细行数。

步骤5:如果行数大于等于1,则将前面的行拆成一单,并退回步骤3对剩余明细行继续进行处理;如果行数等于0,说明第一行明细含税金额超过开票限额,需要对第一行明细进行拆分,执行步骤6。

步骤6:根据商品数量对第一行明细进行拆分,判断是否可以用整数数量拆分第一行,如果是,则以整数数量拆分第一行;如果否,则以小数数量拆分第一行。

优先使用整数数量拆分,为保证拆分后金额不超过开票限额,采用向下取整原则,即计算结果不为整数时取小于计算结果的整数,计算结果为整数时直接取整数。整数数量向下取整结果为0时,改用小数数量进行拆分,小数点后保留6位,第6位向下取整。第一行拆分后,退回步骤3对剩余明细行继续进行处理。

步骤7:计算拆分后的单据数量,判断剩余发票张数是否足够,如果够,则继续执行步骤8;如果不够,则给出相应提示,退出开票流程。

步骤8:遍历所有拆分后的单据进行开票,若某张单据开票出错,则给出相应提示,退出开票流程。

拆分方式二,如图2所示,根据明细行数拆分:

步骤1:判断是否开具汉字防伪增值税专用发票,如果是,则继续;如果否,则直接开票。

步骤2:判断商品明细行数是否超过7行,如果是,则继续;如果否,则直接开票。

步骤3:判断明细中是否包含折扣行,如果有,则给出相应提示,退出开票流程;如果没有,则去除清单标志,并根据单据明细信息生成未拆分的明细行。

步骤4:判断是否存在未拆分的明细行,如果有,则继续执行步骤5;如果没有,则表明拆单过程结束,跳至步骤6。

步骤5:最多7行拆成一单,并退回步骤4对剩余明细行继续进行处理。

步骤6:计算拆分后的单据数量,判断剩余发票张数是否足够,如果够,则继续执行步骤7;如果不够,则给出相应提示,退出开票流程。

步骤7:遍历所有拆分后的单据进行开票,若某张单据开票出错,则给出相应提示,退出开票流程。

结合上述两种拆分方式,即可实现对增值税专用发票开票申请单据的拆分,将原先无法开票的单据,拆分成多张可以开票的单据,从而解决因开票限额限制、明细行数限制等无法开票的问题。拆分过程由计算机应用程序根据拆分算法自动实现,避免人工拆分的繁琐过程,速度快,准确性高;拆分规则采用模块化管理,封装性强,易于维护,并可随业务需求变化随时扩充完善;节约金税盘发票购置成本,避免发票浪费,确保发票能够正常开具,提高了工作效率,带来了经济效益。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1