本發(fā)明涉及發(fā)票開(kāi)具方法,尤其涉及一種開(kāi)票申請(qǐng)單據(jù)的拆分方法。
背景技術(shù):
目前,為了進(jìn)行稅務(wù)發(fā)票管理,企業(yè)開(kāi)票、打印發(fā)票、抄稅等操作都是通過(guò)使用開(kāi)票專(zhuān)用設(shè)備金稅盤(pán)實(shí)現(xiàn)的。在使用金稅盤(pán)進(jìn)行增值稅專(zhuān)用發(fā)票開(kāi)票時(shí),存在一些限制。比如金稅盤(pán)在發(fā)行過(guò)程中設(shè)置了開(kāi)票限額(即開(kāi)具單張發(fā)票的最大含稅總金額),當(dāng)開(kāi)票單據(jù)中的含稅總金額超過(guò)開(kāi)票限額時(shí)則無(wú)法開(kāi)票。另外,防偽稅控增值稅專(zhuān)用發(fā)票不允許開(kāi)具清單票,因此,當(dāng)發(fā)票明細(xì)行數(shù)超過(guò)7行時(shí)也無(wú)法開(kāi)票。當(dāng)申請(qǐng)開(kāi)票方和實(shí)際開(kāi)票方不是同一個(gè)人時(shí),申請(qǐng)開(kāi)票方往往并不知道開(kāi)票方金稅盤(pán)的具體限制規(guī)則,在填寫(xiě)開(kāi)票申請(qǐng)單據(jù)時(shí),無(wú)法根據(jù)金稅盤(pán)的限制組織數(shù)據(jù),因此需要開(kāi)票方根據(jù)申請(qǐng)單據(jù)填寫(xiě)的實(shí)際情況進(jìn)行相應(yīng)處理,解決部分單據(jù)因開(kāi)票限額限制、明細(xì)行數(shù)限制等無(wú)法開(kāi)票的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問(wèn)題,提出了本發(fā)明,以便提供一種克服上述問(wèn)題或至少部分地解決上述問(wèn)題的一種開(kāi)票申請(qǐng)單據(jù)的拆分方法。
本發(fā)明提供一種開(kāi)票申請(qǐng)單據(jù)的拆分方法,所述方法包括如下步驟:
判斷發(fā)票單據(jù)金額是否超過(guò)開(kāi)票限額或者開(kāi)票行數(shù),如果是,則執(zhí)行下一步;如果否,則直接開(kāi)具發(fā)票;
對(duì)于超過(guò)開(kāi)票限額或者開(kāi)票行數(shù)的發(fā)票單據(jù),判斷明細(xì)中是否包含折扣行,如果未包括,則執(zhí)行下一步;如果包括,則報(bào)錯(cuò)退出;
生成未拆分的明細(xì)行,并判斷是否存在未拆分明細(xì)行,如果是,則執(zhí)行下一步;如果否,則計(jì)算拆分后的單據(jù)數(shù)量,判斷剩余發(fā)票張數(shù)是否足夠,如果夠,則遍歷所有拆分后的單據(jù)進(jìn)行開(kāi)票;如果不夠,則給出相應(yīng)提示,退出開(kāi)票流程;
根據(jù)確認(rèn)的是超過(guò)開(kāi)票限額還是超過(guò)開(kāi)票行數(shù)的判斷結(jié)果,分別執(zhí)行對(duì)應(yīng)的拆分操作。
進(jìn)一步的,當(dāng)單據(jù)含稅總金額超過(guò)單張發(fā)票的開(kāi)票限額時(shí),根據(jù)開(kāi)票限額拆分;當(dāng)漢字防偽增值稅專(zhuān)用發(fā)票明細(xì)行數(shù)超過(guò)指定行數(shù)時(shí),根據(jù)明細(xì)行數(shù)拆分。
進(jìn)一步的,所述根據(jù)開(kāi)票限額拆分,具體包括如下步驟:
步驟1:判斷開(kāi)票申請(qǐng)單據(jù)含稅總金額是否超過(guò)金稅盤(pán)發(fā)行時(shí)設(shè)置的開(kāi)票限額,如果是則繼續(xù);如果否則直接開(kāi)票。
步驟2:判斷明細(xì)中是否包含折扣行,如果是,則給出相應(yīng)提示,并退出開(kāi)票流程;如果否,則根據(jù)單據(jù)明細(xì)信息生成未拆分的明細(xì)行。
步驟3:判斷是否存在未拆分的明細(xì)行,如果是,則繼續(xù);如果否,則表明拆單過(guò)程結(jié)束,跳至步驟7。
步驟4:從第一行明細(xì)開(kāi)始向后累加含稅金額,計(jì)算出累加金額不超過(guò)開(kāi)票限額的最大明細(xì)行數(shù)。
步驟5:如果行數(shù)大于等于1,則將前面的行拆成一單,并退回步驟3對(duì)剩余明細(xì)行繼續(xù)進(jìn)行處理;如果行數(shù)等于0,說(shuō)明第一行明細(xì)含稅金額超過(guò)開(kāi)票限額,需要對(duì)第一行明細(xì)進(jìn)行拆分,執(zhí)行步驟6。
步驟6:根據(jù)商品數(shù)量對(duì)第一行明細(xì)進(jìn)行拆分,判斷是否可以用整數(shù)數(shù)量拆分第一行,如果是,則以整數(shù)數(shù)量拆分第一行;如果否,則以小數(shù)數(shù)量拆分第一行,第一行拆分后,退回步驟3對(duì)剩余明細(xì)行繼續(xù)進(jìn)行處理;
步驟7:計(jì)算拆分后的單據(jù)數(shù)量,判斷剩余發(fā)票張數(shù)是否足夠,如果夠,則繼續(xù)執(zhí)行步驟8;如果不夠,則給出相應(yīng)提示,退出開(kāi)票流程;
步驟8:遍歷所有拆分后的單據(jù)進(jìn)行開(kāi)票,若某張單據(jù)開(kāi)票出錯(cuò),則給出相應(yīng)提示,退出開(kāi)票流程。
進(jìn)一步的,所述步驟6具體包括:
優(yōu)先使用整數(shù)數(shù)量,為保證拆分后金額不超過(guò)開(kāi)票限額,采用向下取整原則,即計(jì)算結(jié)果不為整數(shù)時(shí)取小于計(jì)算結(jié)果的整數(shù),計(jì)算結(jié)果為整數(shù)時(shí)直接取整數(shù)。整數(shù)數(shù)量向下取整結(jié)果為0時(shí),改用小數(shù)數(shù)量進(jìn)行拆分,小數(shù)點(diǎn)后保留6位,第6位向下取整。
進(jìn)一步的,所述根據(jù)明細(xì)行數(shù)拆分,具體包括如下步驟:
步驟1:判斷是否開(kāi)具漢字防偽增值稅專(zhuān)用發(fā)票,如果是,則繼續(xù);如果否,則直接開(kāi)票。
步驟2:判斷商品明細(xì)行數(shù)是否超過(guò)7行,如果是,則繼續(xù);如果否,則直接開(kāi)票。
步驟3:判斷明細(xì)中是否包含折扣行,如果有,則給出相應(yīng)提示,退出開(kāi)票流程;如果沒(méi)有,則去除清單標(biāo)志,并根據(jù)單據(jù)明細(xì)信息生成未拆分的明細(xì)行。
步驟4:判斷是否存在未拆分的明細(xì)行,如果有,則繼續(xù)執(zhí)行步驟5;如果沒(méi)有,則表明拆單過(guò)程結(jié)束,跳至步驟6。
步驟5:最多7行拆成一單,并退回步驟4對(duì)剩余明細(xì)行繼續(xù)進(jìn)行處理。
步驟6:計(jì)算拆分后的單據(jù)數(shù)量,判斷剩余發(fā)票張數(shù)是否足夠,如果夠,則繼續(xù)執(zhí)行步驟7;如果不夠,則給出相應(yīng)提示,退出開(kāi)票流程。
步驟7:遍歷所有拆分后的單據(jù)進(jìn)行開(kāi)票,若某張單據(jù)開(kāi)票出錯(cuò),則給出相應(yīng)提示,退出開(kāi)票流程。
本發(fā)明提出了一種增值稅專(zhuān)用發(fā)票開(kāi)票申請(qǐng)單據(jù)的拆分方法,根據(jù)開(kāi)票限額、明細(xì)行數(shù)等條件進(jìn)行判斷,然后按照相應(yīng)規(guī)則進(jìn)行拆分,將原先無(wú)法開(kāi)票的單據(jù),拆分成多張可以開(kāi)票的單據(jù),從而解決無(wú)法開(kāi)票的問(wèn)題。拆分過(guò)程由計(jì)算機(jī)應(yīng)用程序根據(jù)拆分算法自動(dòng)實(shí)現(xiàn),采用模塊化管理,避免人工拆分的繁瑣過(guò)程,具有速度快、準(zhǔn)確性高、封裝性強(qiáng)、易于維護(hù)等優(yōu)點(diǎn)。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例根據(jù)開(kāi)票限額進(jìn)行拆分操作的流程示意圖。
圖2為本發(fā)明實(shí)施例根據(jù)明細(xì)行數(shù)進(jìn)行拆分操作的流程示意圖。
具體實(shí)施方式
為便于對(duì)本發(fā)明實(shí)施例的理解,下面將結(jié)合附圖以幾個(gè)具體實(shí)施例為例作進(jìn)一步的解釋說(shuō)明,且各個(gè)實(shí)施例并不構(gòu)成對(duì)本發(fā)明實(shí)施例的限定。
一種開(kāi)票申請(qǐng)單據(jù)的拆分方法,包括如下步驟:
判斷發(fā)票單據(jù)金額是否超過(guò)開(kāi)票限額或者開(kāi)票行數(shù),如果是,則執(zhí)行下一步;如果否,則直接開(kāi)具發(fā)票;
對(duì)于超過(guò)開(kāi)票限額或者開(kāi)票行數(shù)的發(fā)票單據(jù),判斷明細(xì)中是否包含折扣行,如果未包括,則執(zhí)行下一步;如果包括,則報(bào)錯(cuò)退出;
生成未拆分的明細(xì)行,并判斷是否存在未拆分明細(xì)行,如果是,則執(zhí)行下一步;如果否,則計(jì)算拆分后的單據(jù)數(shù)量,判斷剩余發(fā)票張數(shù)是否足夠,如果夠,則遍歷所有拆分后的單據(jù)進(jìn)行開(kāi)票;如果不夠,則給出相應(yīng)提示,退出開(kāi)票流程。
根據(jù)確認(rèn)的是超過(guò)開(kāi)票限額還是超過(guò)開(kāi)票行數(shù)的判斷結(jié)果,分別執(zhí)行對(duì)應(yīng)的拆分操作。
在本發(fā)明中,開(kāi)票申請(qǐng)單據(jù)的拆分主要包含兩種方式:一是單據(jù)含稅總金額超過(guò)單張發(fā)票的開(kāi)票限額時(shí),根據(jù)開(kāi)票限額拆分;二是漢字防偽增值稅專(zhuān)用發(fā)票明細(xì)行數(shù)超過(guò)7行時(shí),根據(jù)明細(xì)行數(shù)拆分。詳細(xì)說(shuō)明如下:
拆分方式一,如圖1所示,根據(jù)開(kāi)票限額拆分:
步驟1:判斷開(kāi)票申請(qǐng)單據(jù)含稅總金額是否超過(guò)金稅盤(pán)發(fā)行時(shí)設(shè)置的開(kāi)票限額,如果是則繼續(xù);如果否則直接開(kāi)票。
步驟2:判斷明細(xì)中是否包含折扣行,如果是,則給出相應(yīng)提示,并退出開(kāi)票流程;如果否,則根據(jù)單據(jù)明細(xì)信息生成未拆分的明細(xì)行。
步驟3:判斷是否存在未拆分的明細(xì)行,如果是,則繼續(xù);如果否,則表明拆單過(guò)程結(jié)束,跳至步驟7。
步驟4:從第一行明細(xì)開(kāi)始向后累加含稅金額,計(jì)算出累加金額不超過(guò)開(kāi)票限額的最大明細(xì)行數(shù)。
步驟5:如果行數(shù)大于等于1,則將前面的行拆成一單,并退回步驟3對(duì)剩余明細(xì)行繼續(xù)進(jìn)行處理;如果行數(shù)等于0,說(shuō)明第一行明細(xì)含稅金額超過(guò)開(kāi)票限額,需要對(duì)第一行明細(xì)進(jìn)行拆分,執(zhí)行步驟6。
步驟6:根據(jù)商品數(shù)量對(duì)第一行明細(xì)進(jìn)行拆分,判斷是否可以用整數(shù)數(shù)量拆分第一行,如果是,則以整數(shù)數(shù)量拆分第一行;如果否,則以小數(shù)數(shù)量拆分第一行。
優(yōu)先使用整數(shù)數(shù)量拆分,為保證拆分后金額不超過(guò)開(kāi)票限額,采用向下取整原則,即計(jì)算結(jié)果不為整數(shù)時(shí)取小于計(jì)算結(jié)果的整數(shù),計(jì)算結(jié)果為整數(shù)時(shí)直接取整數(shù)。整數(shù)數(shù)量向下取整結(jié)果為0時(shí),改用小數(shù)數(shù)量進(jìn)行拆分,小數(shù)點(diǎn)后保留6位,第6位向下取整。第一行拆分后,退回步驟3對(duì)剩余明細(xì)行繼續(xù)進(jìn)行處理。
步驟7:計(jì)算拆分后的單據(jù)數(shù)量,判斷剩余發(fā)票張數(shù)是否足夠,如果夠,則繼續(xù)執(zhí)行步驟8;如果不夠,則給出相應(yīng)提示,退出開(kāi)票流程。
步驟8:遍歷所有拆分后的單據(jù)進(jìn)行開(kāi)票,若某張單據(jù)開(kāi)票出錯(cuò),則給出相應(yīng)提示,退出開(kāi)票流程。
拆分方式二,如圖2所示,根據(jù)明細(xì)行數(shù)拆分:
步驟1:判斷是否開(kāi)具漢字防偽增值稅專(zhuān)用發(fā)票,如果是,則繼續(xù);如果否,則直接開(kāi)票。
步驟2:判斷商品明細(xì)行數(shù)是否超過(guò)7行,如果是,則繼續(xù);如果否,則直接開(kāi)票。
步驟3:判斷明細(xì)中是否包含折扣行,如果有,則給出相應(yīng)提示,退出開(kāi)票流程;如果沒(méi)有,則去除清單標(biāo)志,并根據(jù)單據(jù)明細(xì)信息生成未拆分的明細(xì)行。
步驟4:判斷是否存在未拆分的明細(xì)行,如果有,則繼續(xù)執(zhí)行步驟5;如果沒(méi)有,則表明拆單過(guò)程結(jié)束,跳至步驟6。
步驟5:最多7行拆成一單,并退回步驟4對(duì)剩余明細(xì)行繼續(xù)進(jìn)行處理。
步驟6:計(jì)算拆分后的單據(jù)數(shù)量,判斷剩余發(fā)票張數(shù)是否足夠,如果夠,則繼續(xù)執(zhí)行步驟7;如果不夠,則給出相應(yīng)提示,退出開(kāi)票流程。
步驟7:遍歷所有拆分后的單據(jù)進(jìn)行開(kāi)票,若某張單據(jù)開(kāi)票出錯(cuò),則給出相應(yīng)提示,退出開(kāi)票流程。
結(jié)合上述兩種拆分方式,即可實(shí)現(xiàn)對(duì)增值稅專(zhuān)用發(fā)票開(kāi)票申請(qǐng)單據(jù)的拆分,將原先無(wú)法開(kāi)票的單據(jù),拆分成多張可以開(kāi)票的單據(jù),從而解決因開(kāi)票限額限制、明細(xì)行數(shù)限制等無(wú)法開(kāi)票的問(wèn)題。拆分過(guò)程由計(jì)算機(jī)應(yīng)用程序根據(jù)拆分算法自動(dòng)實(shí)現(xiàn),避免人工拆分的繁瑣過(guò)程,速度快,準(zhǔn)確性高;拆分規(guī)則采用模塊化管理,封裝性強(qiáng),易于維護(hù),并可隨業(yè)務(wù)需求變化隨時(shí)擴(kuò)充完善;節(jié)約金稅盤(pán)發(fā)票購(gòu)置成本,避免發(fā)票浪費(fèi),確保發(fā)票能夠正常開(kāi)具,提高了工作效率,帶來(lái)了經(jīng)濟(jì)效益。
本領(lǐng)域普通技術(shù)人員可以理解:附圖只是一個(gè)實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。
通過(guò)以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如rom/ram、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)或系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。以上所描述的系統(tǒng)及系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。