CN107833081A - 一种发票金额的自动拆分方法、装置、终端设备及存储介质 - Google Patents
一种发票金额的自动拆分方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN107833081A CN107833081A CN201710918468.2A CN201710918468A CN107833081A CN 107833081 A CN107833081 A CN 107833081A CN 201710918468 A CN201710918468 A CN 201710918468A CN 107833081 A CN107833081 A CN 107833081A
- Authority
- CN
- China
- Prior art keywords
- invoice
- tax
- amount
- money
- containing tax
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/04—Billing or invoicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/10—Tax strategies
Landscapes
- Business, Economics & Management (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Marketing (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Cash Registers Or Receiving Machines (AREA)
Abstract
本发明适用于电子技术领域,提供了一种发票金额的自动拆分方法、装置、终端设备及存储介质,所述方法包括:确定待开具的发票数量n;设置前n‑2张发票的含税开票金额为单张发票限额;根据待开票含税总金额和前n‑2张发票的含税开票金额,计算剩余待开票含税金额;若剩余待开票含税金额除以2得到的第一商值包含小数部分,并且小数部分的位数大于两位,则设置第n‑1张发票的含税开票金额为所述第一商值的整数部分,第n张发票的含税开票金额为剩余待开票含税金额减去第n‑1张发票的含税开票金额的差值。本发明的技术方案实现了在最大限度节省发票数量的前提下,合理准确地自动拆分发票金额,提高票面数据的合理性。
Description
技术领域
本发明涉及电子技术领域,尤其涉及一种发票金额的自动拆分方法、装置、终端设备及存储介质。
背景技术
企业在开具发票时,若待开票金额超过单张发票的最大限额,则需要对待开票金额进行拆分,将待开票金额拆分到多张发票中。由于单张发票的最大限额通常不为整数,而实际开票时需要开具的金额往往是整数,在实际开票时为了最大限度的节省发票数量,一般在拆分过程中都按照最大限额进行拆分,因此,容易出现单张发票的开票金额为0.01元的情况,例如假设发票的最大限额为9999.99元,当需要开具10000元的发票时,往往出现一张发票的开票金额为9999.99元,另一张发票的开票金额为0.01元,造成发票金额拆分不合理。
发明内容
本发明实施例提供一种发票金额的自动拆分方法、装置、终端设备及存储介质,以解决现有的发票金额拆分后的票面数据不合理的问题。
第一方面,本发明实施例提供一种发票金额的自动拆分方法,包括:
获取待开票含税总金额;
根据所述待开票含税总金额和预设的单张发票限额,确定待开具的发票数量n,其中,n为正整数;
若n大于或者等于2,则设置前n-2张发票的含税开票金额为所述单张发票限额;
根据所述待开票含税总金额和所述前n-2张发票的含税开票金额,计算剩余待开票含税金额;
若所述剩余待开票含税金额除以2得到的第一商值包含小数部分,并且小数部分的位数大于两位,则设置第n-1张发票的含税开票金额为所述第一商值的整数部分,第n张发票的含税开票金额为所述剩余待开票含税金额减去所述第n-1张发票的含税开票金额的差值;
根据每张发票的含税开票金额和预设的税率,计算每张发票的不含税金额和税额,其中,所述不含税金额和所述税额的小数位数均不超过两位;
输出所述不含税金额和所述税额。
第二方面,本发明实施例提供一种发票金额的自动拆分装置,包括:
金额获取模块,用于获取待开票含税总金额;
数量确定模块,用于根据所述待开票含税总金额和预设的单张发票限额,确定待开具的发票数量n,其中,n为正整数;
限额设置模块,用于若n大于或者等于2,则设置前n-2张发票的含税开票金额为所述单张发票限额;
剩余计算模块,用于根据所述待开票含税总金额和所述前n-2张发票的含税开票金额,计算剩余待开票含税金额;
剩余设置模块,用于若所述剩余待开票含税金额除以2得到的第一商值包含小数部分,并且小数部分的位数大于两位,则设置第n-1张发票的含税开票金额为所述第一商值的整数部分,第n张发票的含税开票金额为所述剩余待开票含税金额减去所述第n-1张发票的含税开票金额的差值;
金额计算模块,用于根据每张发票的含税开票金额和预设的税率,计算每张发票的不含税金额和税额,其中,所述不含税金额和所述税额的小数位数均不超过两位;
金额输出模块,用于输出所述不含税金额和所述税额。
第三方面,本发明实施例提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述发票金额的自动拆分方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述发票金额的自动拆分方法的步骤。
本发明实施例与现有技术相比具有如下优点:本发明实施例所提供的发票金额的自动拆分方法、装置、终端设备及存储介质中,获取待开票含税总金额后,在根据待开票含税总金额和预设的单张发票限额确定的待开具的发票数量n大于或等于2时,按照单张发票限额设置前n-2张发票的含税开票金额,将剩余待开票含税金额除以2得到的第一商值的整数部分作为第n-1张发票的含税开票金额,将剩余待开票含税金额减去第一发票含税金额的差值作为第n张发票的含税开票金额分,使得在最大限度节省发票数量的前提下,合理准确地自动拆分发票金额,避免出现单张发票的开票金额为0.01元的情况,提高票面数据的合理性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的发票金额的自动拆分方法的实现流程图;
图2是本发明实施例提供的发票金额的自动拆分方法中按照接近均值且整数优先的拆分方式进行发票金额拆分的实现流程图;
图3是本发明实施例提供的发票金额的自动拆分方法中根据用户设定的拆分需求进行发票金额拆分的实现流程图;
图4是本发明实施例提供的发票金额的自动拆分装置的示意图;
图5是本发明实施例提供的终端设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1示出了本发明实施例提供的发票金额的自动拆分方法的实现流程。该发票金额的自动拆分方法可应用在各个企事业单位的财务开票系统中,用于合理准确地自动拆分发票金额。详述如下:
S101:获取待开票含税总金额。
在本发明实施例中,待开票含税总金额为用户待开具发票的含税总金额,具体可以由财务开票系统根据开票请求计算得到。
具体地,开票请求包括待开具的发票中产品的不含税单价和产品数量,财务开票系统根据该不含税单价和产品数量,以及该产品对应的税率计算得到待开票含税总金额。可选地,开票请求还可以包括待开具的发票中产品的含税单价和产品数量,财务开票系统根据该含税单价和产品数量计算得到待开票含税总金额。
待开票含税总金额还可以由用户在直接在财务开票系统提供的输入界面中直接输入。
S102:根据待开票含税总金额和预设的单张发票限额,确定待开具的发票数量n,其中,n为正整数。
在本发明实施例中,单张发票限额为单张发票允许开具的最大含税金额,单张发票限额根据发票类型预先进行设置,发票类型包括万元发票、百万预案发票等。若待开票含税总金额为M,单张发票限额为m,则待开具的发票数量n为待开票含税总金额M与单张发票限额m之间的商向上取整,即
例如,待开票含税总金额为200000元,单张发票限额为99999.99元,则待开具的发票数量为张。
S103:若n大于或者等于2,则设置前n-2张发票的含税开票金额为单张发票限额。
在本发明实施例中,若根据步骤S102计算得到的待开具的发票数量n大于或者等于2,则设置前n-2张发票的含税开票金额为单张发票限额。
以待开票含税总金额为200000元,单张发票限额为99999.99元为例,其待开具的发票数量为3张,则第1张发票的含税开票金额为99999.99元。
需要说明的是,待开具的n张发票之间没有必然的先后顺序,前n-2张发票可以是n张发票中的任意n-2张。
若根据步骤S102计算得到的待开具的发票数量n为1,则不需要对发票金额进行拆分,直接使用一张发票开具待开票含税总金额即可。
S104:根据待开票含税总金额和前n-2张发票的含税开票金额,计算剩余待开票含税金额。
在本发明实施例中,剩余待开票含税金额为待开票含税总金额与前n-2张发票的含税开票金额总和之间的差。
S105:若剩余待开票含税金额除以2得到的第一商值包含小数部分,并且小数部分的位数大于两位,则设置第n-1张发票的含税开票金额为所述第一商值的整数部分,第n张发票的含税开票金额为剩余待开票含税金额减去第n-1张发票的含税开票金额的差值。
在本发明实施例中,若根据步骤S104计算得到的剩余待开票含税金额不能够被2整除,即剩余待开票含税金额除以2得到的第一商值包含小数部分,则判断该小数部分的位数是否大于两位,若该小数部分的位数大于两位,则将第一商值的整数部分作为第n-1张发票的含税开票金额,将剩余待开票含税金额减去第n-1张发票的含税开票金额的差值作为第n张发票的含税开票金额。
例如,继续以待开票含税总金额为200000元,单张发票限额为99999.99元为例,其待开具的发票数量为3张,第1张发票的含税开票金额为99999.99元,则剩余开票含税金额为100000.01元,并且第一商值为50000.005元,由于该第一商值的小数部分的位数为3位,因此,第2张发票的含税开票金额为可以设为50000元,第3张发票的含税开票金额可以设为50000.01元。
可以理解的是,第n-1张发票和第n张发票并没有必然的先后顺序,因此,也可以是将第n张发票的含税开票金额设置为将第一商值的整数部分,并且将第n-1张发票的含税开票金额设置为剩余待开票含税金额减去第n张发票的含税开票金额的差值,此处不做限制。
若剩余待开票含税金额不能够被2整除并且第一商值的小数部分的位数小于或者等于两位,则第一发票含税金额和第二发票含税金额均设为第一商值。
若剩余待开票含税金额能够被2整除,即第一商值不包含小数部分,则第一发票含税金额和第二发票含税金额均设为该第一商值。
S106:根据每张发票的含税开票金额和预设的税率,计算每张发票的不含税金额和税额,其中,不含税金额和税额的小数位数均不超过两位。
在本发明实施例中,按照国家税务机关对税务发票的规定,开具的每张发票中需列出商品的不含税金额、税率、对应的税款和含税金额,并且不含税金额、税率以及含税金额之间需满足如下要求:含税金额和不含税金额的精度为两位小数;不含税金额=含税金额/(1+税率);不含税金额*税率的积与税额之间的绝对误差必须小于0.06;不含税金额和税额的和一定等于含税金额。因此,在步骤S103和步骤S105确定了每张发票的含税开票金额后,按照税务发票的规定,根据预设的税率,计算每张发票的不含税金额和税额,并且不含税金额和税额的小数位数均不超过两位。
进一步地,每张发票的不含税金额和税额的一种具体的计算方式如下:
按照公式(1)计算每张发票的不含税金额和税额:
V=P-Pn 公式(1)
其中,α为税率,P为含税开票金额,Pn为按照四舍五入条件得到的保留两位小数的不含税金额,V为税额。
需要说明的是,在根据含税开票金额和税率计算不含税金额时,虽然由于四舍五入的原因可能导致不含税金额存在计算误差,但是按照公式(1)计算得到的按照四舍五入保留两位小数的不含税金额与保留实际小数位数的不含税金额之间的误差不超过0.005,而当不含税金额的误差在0.005以内时,税额的误差小于0.06。因此,按照公式(1)计算得到的不含税金额和税额能够满足上述税务发票的规定。同时,使用含税开票金额P减去不含税金额Pn的差作为税额的计算方式,避免了直接使用不含税金额*税率计算税额可能造成的四舍五入误差,导致不含税金额与税额的和不等于含税金额,造成开票失败的情况,从而提高了开票成功率。
S107:输出每张发票的不含税金额和税额。
在本发明实施例中,将步骤S106计算得到的每张发票的不含税金额和税额自动填写到待开具的每张发票的相应填写位置。
在图1对应的实施例中,根据获取的待开票含税总金额和预设的单张发票限额确定的待开具的发票数量n后,当n大于或等于2时,按照单张发票限额设置前n-2张发票的含税开票金额,将剩余待开票含税金额除以2得到的第一商值的整数部分作为第n-1张发票的含税开票金额,将剩余待开票含税金额减去第一发票含税金额的差值作为第n张发票的含税开票金额分,能够在最大限度节省发票数量的前提下,合理准确地自动拆分发票金额,避免出现单张发票的开票金额为0.01元的情况,提高票面数据的合理性。同时,按照公式(1)计算得到的不含税金额和税额能够满足税务发票的规定,避免了由于计算误差导致的开票失败,提高了开票成功率,并且整个发票金额的拆分和计算过程自动完成,不需要人为干涉,提高了开票效率。
接下来,在图1对应的实施例的基础之上,在通过步骤S102根据待开票含税总金额和预设的单张发票限额,确定待开具的发票数量n之后,以及通过步骤S106根据每张发票的含税开票金额和预设的税率,计算每张发票的不含税金额和税额之前,具体的发票金额还可以采用接近均值且整数优先的拆分方式,如图2所示,该发票金额的自动拆分方法还包括:
S201:若n大于或者等于2,则计算单张发票含税均值,其中,该单张发票含税均值为待开票含税总金额与发票数量n的商。
在本发明实施例中,若根据步骤S102计算得到的待开具的发票数量n大于或者等于2,则计算单张发票含税均值,具体计算公式为:
单张发票含税均值=待开票含税总金额/n。
S202:若单张发票含税均值为整数,则按照单张发票含税均值设置每张发票的含税开票金额。
在本发明实施例中,若步骤S201计算得到单张发票含税均值为整数,则直接将每张发票的含税开票金额设置为该单张发票含税均值,并且流程直接跳转到步骤S106。
S203:若单张发票含税均值不为整数,则将该单张发票含税均值的整数部分的最高位的值加1,并将该整数部分的其他位的值设为0,得到第一发票含税金额。
在本发明实施例中,若步骤S201计算得到单张发票含税均值不为整数,则获取单张发票含税均值的整数部分的最高位的值,并将该最高位的值加1,同时将该整数部分的其他位的值设为0,得到第一发票含税金额。
以待开票含税总金额为33333.4元,单张发票限额为9999.99元为例,发票数量为4,则单张发票含税均值为8333.35元,该单张发票含税均值的整数部分为8333,其最高位的值为8,将最高位的值加1为9,将其他位的值设为0,得到第一发票含税金额为9000元。
S204:设置前n-1张发票的含税开票金额为第一发票含税金额。
在本发明实施例中,根据步骤S203得到的第一发票含税金额,将前n-1张发票的含税开票金额均设置为该第一发票含税金额。
需要说明的是,待开具的n张发票之间没有必然的先后顺序,前n-1张发票可以是n张发票中的任意n-1张。
S205:将待开票含税总金额减去前n-1张发票的含税开票金额的总和,得到第二发票含税金额。
在本发明实施例中,第二发票含税金额的计算公式如下:
第二发票含税金额=待开票含税总金额-第一发票含税金额*(n-1)。
继续以待开票含税总金额为33333.4元,单张发票限额为9999.99元为例,发票数量为4,第一发票含税金额为9000元,则第二发票含税金额为33333.4-9000*(4-1)=6333.4元。
S206:设置第n张发票的含税开票金额为第二发票含税金额。
在本发明实施例中,根据步骤S205得到的第二发票含税金额,将第n张发票的含税开票金额均设置为该第一发票含税金额。
继续以待开票含税总金额为33333.4元,单张发票限额为9999.99元为例,发票数量为4,第一发票含税金额为9000元,第二发票含税金额为6333.4元,则按照本发明实施例的方法,得到前3张发票的含税开票金额为9000元,第4张发票的含税开票金额为6333.4元。可见,4张发票的票面金额互相接近,有3张发票的金额为整数,使得拆分后的发票金额在接近均值的同时尽可能多的为整数金额,且不会出现单张发票的票面金额为0.01的情况。
在图2对应的实施例中,根据待开票含税总金额和单张发票限额确定的待开具的发票数量n后,当n大于或等于2时,通过计算单张发票含税均值,并在单张发票含税均值不为整数时,将该单张发票含税均值的整数部分的最高位的值加1,并将该整数部分的其他位的值设为0,得到的第一发票含税金额作为前n-1张发票的含税开票金额,并将待开票含税总金额减去前n-1张发票的含税开票金额的总和,得到的第二发票含税金额作为第n张发票的含税开票金额,从而能够在最大限度节省发票数量的前提下,合理准确地自动拆分发票金额,使得每张发票的金额互相接近,并且在接近均值的同时尽可能多的使发票的金额为整数,以满足客户对整数金额发票的需求,同时避免出现单张发票的开票金额为0.01元的情况,提高票面数据的合理性。
在以上实施例的基础之上,在步骤S101获取待开票含税总金额之后,还可以根据用户设定的拆分需求进行发票金额拆分,如图3所示,该发票金额的自动拆分方法还包括:
S301:根据用户设定的发票拆分数量和拆分金额信息,计算发票含税总金额。
在本发明实施例中,用户可以根据实际需要预先设定发票拆分数量和拆分金额信息,其中,拆分金额信息包括拆分到每张发票的不含税金额。
根据用户设定的发票拆分数量和拆分金额信息,按照对应的税率计算发票含税总金额,具体计算公式如下:
其中,Q为发票含税总金额,N为发票拆分数量,Ai为拆分到第i张发票的不含税金额,x为税率。
S302:若发票含税总金额与待开票含税总金额相等,则按照发票拆分数量和拆分金额信息设置每张发票的不含税开票金额。
在本发明实施例中,若步骤S301计算得到的发票含税总金额与待开票含税总金额相等,则确认用户预先设定的发票拆分数量和拆分金额信息有效,即直接按照用户设定的发票拆分数量和拆分金额信息设置每张发票的不含税开票金额。
S303:若发票含税总金额与待开票含税总金额不相等,则向用户输出可选择的拆分方式的提示信息,以便用户进行选择。
在本发明实施例中,若步骤S301计算得到的发票含税总金额与待开票含税总金额不相等,则确认用户预先设定的发票拆分数量和拆分金额信息存在误差,因此,需向用户输出可供用户选择的合理的拆分方式对应的提示信息,用户可以根据提示信息,选择合适的拆分方式。
可以理解的是,可选择的拆分方式可以包括上述步骤S103至步骤S105实现的第一拆分方式,以及上述步骤S201至步骤S206实现的第二拆分方式,若用户选择第一拆分方式,则系统自动执行步骤S103至步骤S105的过程,若用户选择第二拆分方式,则系统自动执行步骤S201至步骤S206的过程。
需要说明的是,当步骤S301计算得到的发票含税总金额与待开票含税总金额不相等时,还可以允许用户重新设定发票拆分数量和拆分金额信息,用户在重新设定时可以选择只设定待开票含税总金额中部分金额的发票拆分数量和拆分金额信息,系统根据待开票含税总金额和该部分金额,计算剩余发票金额,并根据用户选择的第一拆分方式或者第二拆分方式,对剩余发票金额进行拆分。
在图3对应的实施例中,根据用户设定的发票拆分数量和拆分金额信息对发票进行金额的拆分,并且在用户设定的发票拆分数量和拆分金额信息不合理时,向用户提供可供选择的合理的拆分方式,从而在满足用户灵活设置发票拆分数量和拆分金额的同时,确保拆分后的发票金额的准确性,提高开票成功率和用户满意度。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的发票金额的自动拆分方法,图4示出了本发明实施例提供的发票金额的自动拆分装置的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。
请参阅图4,该发票金额的自动拆分装置包括:金额获取模块40、数量确定模块41、限额设置模块42、剩余计算模块43、剩余设置模块44、金额计算模块45和金额输出模块46,各功能模块详细说明如下:
金额获取模块40,用于获取待开票含税总金额;
数量确定模块41,用于根据待开票含税总金额和预设的单张发票限额,确定待开具的发票数量n,其中,n为正整数;
限额设置模块42,用于若n大于或者等于2,则设置前n-2张发票的含税开票金额为单张发票限额;
剩余计算模块43,用于根据待开票含税总金额和前n-2张发票的含税开票金额,计算剩余待开票含税金额;
剩余设置模块44,用于若剩余待开票含税金额除以2得到的第一商值包含小数部分,并且小数部分的位数大于两位,则设置第n-1张发票的含税开票金额为所述第一商值的整数部分,第n张发票的含税开票金额为剩余待开票含税金额减去第n-1张发票的含税开票金额的差值;
金额计算模块45,用于根据每张发票的含税开票金额和预设的税率,计算每张发票的不含税金额和税额,其中,不含税金额和税额的小数位数均不超过两位。
金额输出模块46,用于输出每张发票的不含税金额和所述税额。
可选地,该发票金额的自动拆分装置还包括:
均值计算模块401,用于若n大于或者等于2,则计算单张发票含税均值,其中,单张发票含税均值为待开票含税总金额与发票数量n的商;
均值设置模块402,用于若单张发票含税均值为整数,则按照该单张发票含税均值设置每张发票的含税开票金额。
可选地,该发票金额的自动拆分装置还包括:
第一计算模块403,用于若单张发票含税均值不为整数,则将该单张发票含税均值的整数部分的最高位的值加1,并将该整数部分的其他位的值设为0,得到第一发票含税金额;
第一设置模块404,用于设置前n-1张发票的含税开票金额为第一发票含税金额;
第二计算模块405,用于将待开票含税总金额减去前n-1张发票的含税开票金额的总和,得到第二发票含税金额;
第二设置模块406,用于设置第n张发票的含税开票金额为第二发票含税金额。
进一步地,金额计算模块45包括:
发票金额计算子模块451,用于按照如下公式计算每张发票的不含税金额和税额;
V=P-Pn
其中,α为税率,P为含税开票金额,Pn为按照四舍五入条件得到的保留两位小数的不含税金额,V为税额。
可选地,该发票金额的自动拆分装置还包括:
用户计算模块47,用于根据用户设定的发票拆分数量和拆分金额信息,计算发票含税总金额;
用户设置模块48,用于若发票含税总金额与待开票含税总金额相等,则按照用户设定的发票拆分数量和拆分金额信息设置每张发票的不含税开票金额;
输出选择模块49,用于若发票含税总金额与待开票含税总金额不相等,则向用户输出可选择的拆分方式的提示信息,以便用户进行选择。
本实施例提供的一种发票金额的自动拆分装置中各模块实现各自功能的过程,具体可参考前述方法实施例的描述,此处不再赘述。
本实施例还提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现前述方法实施例中的发票金额的自动拆分方法,或者,该计算机程序被处理器执行时前述装置实施例中发票金额的自动拆分装置中各模块/单元的功能,为避免重复,这里不再赘述。
请参阅图5,图5是本发明一实施例提供的终端设备的示意图。如图5所示,该实施例的终端设备5包括:处理器50、存储器51以及存储在存储器51中并可在处理器50上运行的计算机程序52,例如发票金额的自动拆分程序。处理器50执行计算机程序52时实现上述各个发票金额的自动拆分方法实施例中的步骤,例如图1所示的步骤S101至步骤S107。或者,处理器50执行计算机程序52时实现上述各装置实施例中各单元的功能,例如图4所示模块40至模块46的功能。
示例性的,计算机程序52可以被分割成一个或多个单元,一个或者多个单元被存储在存储器51中,并由处理器50执行,以完成本发明。一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序52在所述终端设备5中的执行过程。例如,计算机程序52可以被分割成金额获取模块、数量确定模块、限额设置模块、剩余计算模块、剩余设置模块、金额计算模块和金额输出模块,各模块具体功能如下:
金额获取模块,用于获取待开票含税总金额;
数量确定模块,用于根据待开票含税总金额和预设的单张发票限额,确定待开具的发票数量n,其中,n为正整数;
限额设置模块,用于若n大于或者等于2,则设置前n-2张发票的含税开票金额为单张发票限额;
剩余计算模块,用于根据待开票含税总金额和前n-2张发票的含税开票金额,计算剩余待开票含税金额;
剩余设置模块,用于若剩余待开票含税金额除以2得到的第一商值包含小数部分,并且小数部分的位数大于两位,则设置第n-1张发票的含税开票金额为所述第一商值的整数部分,第n张发票的含税开票金额为剩余待开票含税金额减去第n-1张发票的含税开票金额的差值;
金额计算模块,用于根据每张发票的含税开票金额和预设的税率,计算每张发票的不含税金额和税额,其中,不含税金额和税额的小数位数均不超过两位;
金额输出模块,用于输出每张发票的不含税金额和所述税额。
可选地,计算机程序52还可以被分割成:
均值计算模块,用于若n大于或者等于2,则计算单张发票含税均值,其中,单张发票含税均值为待开票含税总金额与发票数量n的商;
均值设置模块,用于若单张发票含税均值为整数,则按照该单张发票含税均值设置每张发票的含税开票金额。
可选地,计算机程序52还可以被分割成:
第一计算模块,用于若单张发票含税均值不为整数,则将该单张发票含税均值的整数部分的最高位的值加1,并将该整数部分的其他位的值设为0,得到第一发票含税金额;
第一设置模块,用于设置前n-1张发票的含税开票金额为第一发票含税金额;
第二计算模块,用于将待开票含税总金额减去前n-1张发票的含税开票金额的总和,得到第二发票含税金额;
第二设置模块,用于设置第n张发票的含税开票金额为第二发票含税金额。
进一步地,金额计算模块包括:
发票金额计算子模块,用于按照如下公式计算每张发票的不含税金额和税额;
V=P-Pn
其中,α为税率,P为含税开票金额,Pn为按照四舍五入条件得到的保留两位小数的不含税金额,V为税额。
可选地,计算机程序52还可以被分割成:
用户计算模块,用于根据用户设定的发票拆分数量和拆分金额信息,计算发票含税总金额;
用户设置模块,用于若发票含税总金额与待开票含税总金额相等,则按照用户设定的发票拆分数量和拆分金额信息设置每张发票的不含税开票金额;
输出选择模块,用于若发票含税总金额与待开票含税总金额不相等,则向用户输出可选择的拆分方式的提示信息,以便用户进行选择。
终端设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等终端设备。终端设备5可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是终端设备5的示例,并不构成对终端设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备5还可以包括输入输出设备、网络接入设备、总线等。
处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器51可以是终端设备5的内部存储单元,例如终端设备5的硬盘或内存。存储器51也可以是终端设备5的外部存储设备,例如终端设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器51还可以既包括终端设备5的内部存储单元也包括外部存储设备。存储器51用于存储所述计算机程序以及终端设备5所需的其他程序和数据。存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种发票金额的自动拆分方法,其特征在于,所述自动拆分方法包括:
获取待开票含税总金额;
根据所述待开票含税总金额和预设的单张发票限额,确定待开具的发票数量n,其中,n为正整数;
若n大于或者等于2,则设置前n-2张发票的含税开票金额为所述单张发票限额;
根据所述待开票含税总金额和所述前n-2张发票的含税开票金额,计算剩余待开票含税金额;
若所述剩余待开票含税金额除以2得到的第一商值包含小数部分,并且小数部分的位数大于两位,则设置第n-1张发票的含税开票金额为所述第一商值的整数部分,第n张发票的含税开票金额为所述剩余待开票含税金额减去所述第n-1张发票的含税开票金额的差值;
根据每张发票的含税开票金额和预设的税率,计算每张发票的不含税金额和税额,其中,所述不含税金额和所述税额的小数位数均不超过两位;
输出所述不含税金额和所述税额。
2.如权利要求1所述的自动拆分方法,其特征在于,所述根据所述待开票含税总金额和预设的单张发票限额,确定待开具的发票数量n之后,以及所述根据每张发票的含税开票金额和预设的税率,计算每张发票的不含税金额和税额之前,所述自动拆分方法还包括:
若n大于或者等于2,则计算单张发票含税均值,其中,所述单张发票含税均值为所述待开票含税总金额与所述发票数量n的商;
若所述单张发票含税均值为整数,则按照所述单张发票含税均值设置每张发票的含税开票金额。
3.如权利要求2所述的自动拆分方法,其特征在于,所述若n大于或者等于2,则计算单张发票含税均值之后,所述自动拆分方法还包括:
若所述单张发票含税均值不为整数,则将所述单张发票含税均值的整数部分的最高位的值加1,并将所述整数部分的其他位的值设为0,得到第一发票含税金额;
设置前n-1张发票的含税开票金额为所述第一发票含税金额;
将待开票含税总金额减去所述前n-1张发票的含税开票金额的总和,得到第二发票含税金额;
设置第n张发票的含税开票金额为所述第二发票含税金额。
4.如权利要求1所述的自动拆分方法,其特征在于,所述根据每张发票的含税开票金额和预设的税率,计算每张发票的不含税金额和税额包括:
按照如下公式计算每张发票的不含税金额和税额;
<mrow>
<msub>
<mi>P</mi>
<mi>n</mi>
</msub>
<mo>=</mo>
<mfrac>
<mi>P</mi>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mi>&alpha;</mi>
</mrow>
</mfrac>
</mrow>
V=P-Pn
其中,α为所述税率,P为所述含税开票金额,Pn为按照四舍五入条件得到的保留两位小数的所述不含税金额,V为所述税额。
5.如权利要求1至4任一项所述的自动拆分方法,其特征在于,所述获取待开票含税总金额之后,所述自动拆分方法还包括:
根据用户设定的发票拆分数量和拆分金额信息,计算发票含税总金额;
若所述发票含税总金额与所述待开票含税总金额相等,则按照所述发票拆分数量和所述拆分金额信息设置每张发票的不含税开票金额;
若所述发票含税总金额与所述待开票含税总金额不相等,则向所述用户输出可选择的拆分方式的提示信息,以便所述用户进行选择。
6.一种发票金额的自动拆分装置,其特征在于,所述自动拆分装置包括:
金额获取模块,用于获取待开票含税总金额;
数量确定模块,用于根据所述待开票含税总金额和预设的单张发票限额,确定待开具的发票数量n,其中,n为正整数;
限额设置模块,用于若n大于或者等于2,则设置前n-2张发票的含税开票金额为所述单张发票限额;
剩余计算模块,用于根据所述待开票含税总金额和所述前n-2张发票的含税开票金额,计算剩余待开票含税金额;
剩余设置模块,用于若所述剩余待开票含税金额除以2得到的第一商值包含小数部分,并且小数部分的位数大于两位,则设置第n-1张发票的含税开票金额为所述第一商值的整数部分,第n张发票的含税开票金额为所述剩余待开票含税金额减去所述第n-1张发票的含税开票金额的差值;
金额计算模块,用于根据每张发票的含税开票金额和预设的税率,计算每张发票的不含税金额和税额,其中,所述不含税金额和所述税额的小数位数均不超过两位;
金额输出模块,用于输出所述不含税金额和所述税额。
7.如权利要求6所述的自动拆分装置,其特征在于,所述自动拆分装置还包括:
均值计算模块,用于若n大于或者等于2,则计算单张发票含税均值,其中,所述单张发票含税均值为所述待开票含税总金额与所述发票数量n的商;
均值设置模块,用于若所述单张发票含税均值为整数,则按照所述单张发票含税均值设置每张发票的含税开票金额。
第一计算模块,用于若所述单张发票含税均值不为整数,则将所述单张发票含税均值的整数部分的最高位的值加1,并将所述整数部分的其他位的值设为0,得到第一发票含税金额;
第一设置模块,用于设置前n-1张发票的含税开票金额为所述第一发票含税金额;
第二计算模块,用于将待开票含税总金额减去所述前n-1张发票的含税开票金额的总和,得到第二发票含税金额;
第二设置模块,用于设置第n张发票的含税开票金额为所述第二发票含税金额;
所述金额计算模块包括:
发票金额计算子模块,用于按照如下公式计算每张发票的不含税金额和税额;
<mrow>
<msub>
<mi>P</mi>
<mi>n</mi>
</msub>
<mo>=</mo>
<mfrac>
<mi>P</mi>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mi>&alpha;</mi>
</mrow>
</mfrac>
</mrow>
V=P-Pn
其中,α为所述税率,P为所述含税开票金额,Pn为按照四舍五入条件得到的保留两位小数的所述不含税金额,V为所述税额。
8.如权利要求6或7所述的自动拆分装置,其特征在于,所述自动拆分装置还包括:
用户计算模块,用于根据用户设定的发票拆分数量和拆分金额信息,计算发票含税总金额;
用户设置模块,用于若所述发票含税总金额与所述待开票含税总金额相等,则按照所述发票拆分数量和所述拆分金额信息设置每张发票的不含税开票金额;
输出选择模块,用于若所述发票含税总金额与所述待开票含税总金额不相等,则向所述用户输出可选择的拆分方式的提示信息,以便所述用户进行选择。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述发票金额的自动拆分方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述发票金额的自动拆分方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710918468.2A CN107833081A (zh) | 2017-09-30 | 2017-09-30 | 一种发票金额的自动拆分方法、装置、终端设备及存储介质 |
PCT/CN2018/081557 WO2019062061A1 (zh) | 2017-09-30 | 2018-04-02 | 一种发票金额的自动拆分方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710918468.2A CN107833081A (zh) | 2017-09-30 | 2017-09-30 | 一种发票金额的自动拆分方法、装置、终端设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107833081A true CN107833081A (zh) | 2018-03-23 |
Family
ID=61647545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710918468.2A Pending CN107833081A (zh) | 2017-09-30 | 2017-09-30 | 一种发票金额的自动拆分方法、装置、终端设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107833081A (zh) |
WO (1) | WO2019062061A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109325813A (zh) * | 2018-10-11 | 2019-02-12 | 国网吉林省电力有限公司物资公司 | 一种用于标书费及中标服务费发票的开票系统及方法 |
CN109389439A (zh) * | 2018-11-02 | 2019-02-26 | 金蝶软件(中国)有限公司 | 一种拆分发票的方法及系统 |
WO2019062061A1 (zh) * | 2017-09-30 | 2019-04-04 | 平安科技(深圳)有限公司 | 一种发票金额的自动拆分方法、装置、终端设备及存储介质 |
CN109598600A (zh) * | 2018-11-13 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 一种调整外币核算中记账尾差的方法、装置及设备 |
CN109636554A (zh) * | 2018-11-30 | 2019-04-16 | 平安科技(深圳)有限公司 | 统订统印制证轧差消除方法、系统、装置及可读存储介质 |
CN110473029A (zh) * | 2019-07-01 | 2019-11-19 | 苏宁云计算有限公司 | 超限额发票的拆分方法、装置、计算机设备和存储介质 |
CN111127122A (zh) * | 2018-10-30 | 2020-05-08 | 营利度富信息系统(上海)有限公司 | 发票管理系统的订单拆分与合并算法 |
CN111199435A (zh) * | 2019-12-22 | 2020-05-26 | 远光软件股份有限公司 | 税额无尾差的发票开票系统、方法、存储介质及计算机 |
CN111815379A (zh) * | 2020-07-08 | 2020-10-23 | 远光软件股份有限公司 | 一种智能调节发票尾差的方法、装置、终端及存储介质 |
CN113450166A (zh) * | 2021-06-30 | 2021-09-28 | 山东浪潮通软信息科技有限公司 | 一种销售发票的处理方法及相应业务管理系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120166332A1 (en) * | 2010-12-22 | 2012-06-28 | Ebay Inc. | Bill splitting system |
CN102722843A (zh) * | 2012-05-29 | 2012-10-10 | 上海汉得信息技术股份有限公司 | 一种基于ebs企业系统中快速开取增值税发票的方法 |
CN105389719A (zh) * | 2015-12-09 | 2016-03-09 | 北京瑞宏科技有限公司 | 电子发票自动拆分装置及方法、电子发票平台 |
CN106980994A (zh) * | 2016-01-15 | 2017-07-25 | 航天信息股份有限公司 | 一种开票申请单据的拆分方法 |
CN107833081A (zh) * | 2017-09-30 | 2018-03-23 | 平安科技(深圳)有限公司 | 一种发票金额的自动拆分方法、装置、终端设备及存储介质 |
-
2017
- 2017-09-30 CN CN201710918468.2A patent/CN107833081A/zh active Pending
-
2018
- 2018-04-02 WO PCT/CN2018/081557 patent/WO2019062061A1/zh active Application Filing
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019062061A1 (zh) * | 2017-09-30 | 2019-04-04 | 平安科技(深圳)有限公司 | 一种发票金额的自动拆分方法、装置、终端设备及存储介质 |
CN109325813A (zh) * | 2018-10-11 | 2019-02-12 | 国网吉林省电力有限公司物资公司 | 一种用于标书费及中标服务费发票的开票系统及方法 |
CN111127122A (zh) * | 2018-10-30 | 2020-05-08 | 营利度富信息系统(上海)有限公司 | 发票管理系统的订单拆分与合并算法 |
CN109389439A (zh) * | 2018-11-02 | 2019-02-26 | 金蝶软件(中国)有限公司 | 一种拆分发票的方法及系统 |
CN109389439B (zh) * | 2018-11-02 | 2021-02-26 | 金蝶软件(中国)有限公司 | 一种拆分发票的方法及系统 |
CN109598600A (zh) * | 2018-11-13 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 一种调整外币核算中记账尾差的方法、装置及设备 |
WO2020098366A1 (zh) * | 2018-11-13 | 2020-05-22 | 阿里巴巴集团控股有限公司 | 一种调整外币核算中记账尾差的方法、装置及设备 |
CN109636554A (zh) * | 2018-11-30 | 2019-04-16 | 平安科技(深圳)有限公司 | 统订统印制证轧差消除方法、系统、装置及可读存储介质 |
CN110473029A (zh) * | 2019-07-01 | 2019-11-19 | 苏宁云计算有限公司 | 超限额发票的拆分方法、装置、计算机设备和存储介质 |
WO2021000773A1 (zh) * | 2019-07-01 | 2021-01-07 | 苏宁云计算有限公司 | 超限额发票的拆分方法、装置、计算机设备和存储介质 |
CN111199435A (zh) * | 2019-12-22 | 2020-05-26 | 远光软件股份有限公司 | 税额无尾差的发票开票系统、方法、存储介质及计算机 |
CN111199435B (zh) * | 2019-12-22 | 2024-03-01 | 远光软件股份有限公司 | 税额无尾差的发票开票的数据处理系统及方法 |
CN111815379A (zh) * | 2020-07-08 | 2020-10-23 | 远光软件股份有限公司 | 一种智能调节发票尾差的方法、装置、终端及存储介质 |
CN113450166A (zh) * | 2021-06-30 | 2021-09-28 | 山东浪潮通软信息科技有限公司 | 一种销售发票的处理方法及相应业务管理系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2019062061A1 (zh) | 2019-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107833081A (zh) | 一种发票金额的自动拆分方法、装置、终端设备及存储介质 | |
CN106327196A (zh) | 一种支付阈值获取方法和装置 | |
CN111709777A (zh) | 支付方式的推荐方法、系统、终端设备及存储介质 | |
CN106886847A (zh) | 一种资源处理方法及装置 | |
CN108171540A (zh) | 用于资源计量计费的方法和装置 | |
CN107025137A (zh) | 一种资源查询方法及装置 | |
CN106096854A (zh) | 一种数据处理方法和装置 | |
CN108537460A (zh) | 用户风险预测方法及系统 | |
CN108256737A (zh) | 用户欠费风险预测的方法、装置、计算机设备及存储介质 | |
Dai et al. | Competitive analysis of the online financial lease problem | |
CN110472961A (zh) | 业务扣费操作的执行方法及装置 | |
CN109636380A (zh) | 费用处理方法和装置 | |
CN108830663B (zh) | 电力客户价值评价方法、系统及终端设备 | |
CN108121691A (zh) | 管理输变电工程工程量清单的方法及系统 | |
CN110245973A (zh) | 数据处理方法及装置 | |
CN109618070A (zh) | 话单计费方法、装置、设备及介质 | |
CN107909371A (zh) | 支付方法、支付装置、计算机装置及计算机可读存储介质 | |
CN103955854B (zh) | 一种账户管理设备及方法 | |
CN108734461B (zh) | 预付式虚拟资源的处理方法及终端设备 | |
CN112465576A (zh) | 一种发票拆分方法及系统 | |
CN111815379A (zh) | 一种智能调节发票尾差的方法、装置、终端及存储介质 | |
CN105989238A (zh) | 数据交互方法及装置 | |
CN107798041A (zh) | 保单数据存储方法、装置及终端设备 | |
CN113780630B (zh) | 一种基于用电客户历史用电数据实现表码预测的方法 | |
CN108510283A (zh) | 用于确定支付金额的支付方法、系统及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180323 |