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