本發(fā)明涉及電子發(fā)票
技術(shù)領(lǐng)域:
,具體地,涉及一種為含稅額銷售單開具單稅率增值稅發(fā)票的方法和系統(tǒng)。
背景技術(shù):
:國稅局的增值稅防偽稅控系統(tǒng)為普通企業(yè)提供了開具增值稅專用發(fā)票的功能,用戶可以在該系統(tǒng)中逐項(xiàng)錄入發(fā)票數(shù)據(jù)以完成發(fā)票開具,也可以將待開發(fā)票數(shù)據(jù)導(dǎo)入該系統(tǒng)接口以完成發(fā)票開具。但通過錄入發(fā)票數(shù)據(jù)來開票,既增加了時(shí)間和人力成本,又可能在錄入數(shù)據(jù)的時(shí)候出錯(cuò)。如果采用導(dǎo)入數(shù)據(jù)開票,則需要先準(zhǔn)備好符合發(fā)票數(shù)據(jù)規(guī)范的待開發(fā)票數(shù)據(jù),但是目前還沒有一種比較好的方法來預(yù)先準(zhǔn)備好符合發(fā)票數(shù)據(jù)規(guī)范的待開發(fā)票數(shù)據(jù)。技術(shù)實(shí)現(xiàn)要素:在企業(yè)生產(chǎn)經(jīng)營活動(dòng)中,通常先在企業(yè)的業(yè)務(wù)系統(tǒng)中生成銷售單數(shù)據(jù),所以可以考慮將銷售單數(shù)據(jù)傳給增值稅防偽稅控系統(tǒng)接口以完成發(fā)票開具。但由于企業(yè)在國稅局的注冊(cè)類型、生產(chǎn)經(jīng)營范圍不同,不同企業(yè)的銷售單數(shù)據(jù)會(huì)有許多不同的屬性,如果不做正確處理就傳給防偽稅控系統(tǒng)進(jìn)行發(fā)票開具,會(huì)因各種數(shù)據(jù)校驗(yàn)關(guān)系不符而導(dǎo)致無法正常開票;或者即使開具了發(fā)票,也可能由于發(fā)票數(shù)據(jù)的金額、稅額等數(shù)據(jù)項(xiàng)與企業(yè)銷售單中計(jì)算的數(shù)據(jù)項(xiàng)存在差異,給企業(yè)的財(cái)務(wù)管理帶來問題。本發(fā)明在充分考慮上述現(xiàn)狀的情況下,提供了一種為含稅額銷售單開具單稅率增值稅發(fā)票的方法和系統(tǒng),其既能節(jié)省時(shí)間和人力成本,又能預(yù)先準(zhǔn)備好符合發(fā)票數(shù)據(jù)規(guī)范的待開發(fā)票數(shù)據(jù)。本發(fā)明提供一種為含稅額銷售單開具單稅率增值稅發(fā)票的方法,該方法包括:步驟S1、獲取待開發(fā)票的銷售單數(shù)據(jù)集和銷售單明細(xì)數(shù)據(jù)集,所述銷售單數(shù)據(jù)集包括銷售單金額、銷售單稅額、銷售單稅率、含稅標(biāo)志和開票限額,所述銷售單明細(xì)數(shù)據(jù)集包括多個(gè)商品明細(xì)行,每個(gè)商品明細(xì)行包括商品名稱、單價(jià)、數(shù)量和金額;步驟S2、校驗(yàn)每個(gè)所述商品明細(xì)行中單價(jià)與數(shù)量的乘積是否等于該商品明細(xì)行中的金額,并校驗(yàn)所有所述商品明細(xì)行中的金額之和是否等于所述銷售單金額;步驟S3、根據(jù)所述銷售單稅率、所述含稅標(biāo)志以及每個(gè)所述商品明細(xì)行中的單價(jià)和數(shù)量計(jì)算并在每個(gè)所述商品明細(xì)行中添加價(jià)稅合計(jì)、發(fā)票金額、發(fā)票稅額和發(fā)票單價(jià),并且分別累加所有所述商品明細(xì)行的價(jià)稅合計(jì)、發(fā)票金額和發(fā)票稅額以在所述銷售單明細(xì)數(shù)據(jù)集中添加明細(xì)合計(jì)價(jià)稅合計(jì)、明細(xì)合計(jì)發(fā)票金額和明細(xì)合計(jì)發(fā)票稅額;步驟S4、校驗(yàn)(明細(xì)合計(jì)發(fā)票稅額-銷售單稅額)是否小于預(yù)定值;以及步驟S5、依據(jù)所述開票限額和所述增值稅發(fā)票上的預(yù)定商品明細(xì)行數(shù)將所述銷售單明細(xì)數(shù)據(jù)集拆分成多個(gè)待開發(fā)票數(shù)據(jù)集,并對(duì)所述多個(gè)待開發(fā)票數(shù)據(jù)集進(jìn)行稅額平衡。本發(fā)明還提供一種為含稅額銷售單開具單稅率增值稅發(fā)票的系統(tǒng),該系統(tǒng)包括:獲取模塊,用于獲取待開發(fā)票的銷售單數(shù)據(jù)集和銷售單明細(xì)數(shù)據(jù)集,所述銷售單數(shù)據(jù)集包括銷售單金額、銷售單稅額、銷售單稅率、含稅標(biāo)志和開票限額,所述銷售單明細(xì)數(shù)據(jù)集包括多個(gè)商品明細(xì)行,每個(gè)商品明細(xì)行包括商品名稱、單價(jià)、數(shù)量和金額;銷售單數(shù)據(jù)校驗(yàn)?zāi)K,用于校驗(yàn)每個(gè)所述商品明細(xì)行中單價(jià)與數(shù)量的乘積是否等于該商品明細(xì)行中的金額,并校驗(yàn)所有所述商品明細(xì)行中的金額之和是否等于所述銷售單金額;發(fā)票數(shù)據(jù)計(jì)算模塊,用于根據(jù)所述銷售單稅率、所述含稅標(biāo)志以及每個(gè)所述商品明細(xì)行中的單價(jià)和數(shù)量計(jì)算并在每個(gè)所述商品明細(xì)行中添加價(jià)稅合計(jì)、發(fā)票金額、發(fā)票稅額和發(fā)票單價(jià),并分別累加所有所述商品明細(xì)行的價(jià)稅合計(jì)、發(fā)票金額和發(fā)票稅額以在所述銷售單明細(xì)數(shù)據(jù)集中添加明細(xì)合計(jì)價(jià)稅合計(jì)、明細(xì)合計(jì)發(fā)票金額和明細(xì)合計(jì)發(fā)票稅額;銷售單稅額校驗(yàn)?zāi)K,用于校驗(yàn)(明細(xì)合計(jì)發(fā)票稅額-銷售單稅額)是否小于預(yù)定值;以及拆分模塊,用于在所述銷售單稅額校驗(yàn)?zāi)K完成所述校驗(yàn)之后,依據(jù)所述開票限額和所述增值稅發(fā)票上的預(yù)定商品明細(xì)行數(shù)將所述銷售單明細(xì)數(shù)據(jù)集拆分成多個(gè)待開發(fā)票數(shù)據(jù)集,并對(duì)所述多個(gè)待開發(fā)票數(shù)據(jù)集進(jìn)行稅額平衡。通過上述技術(shù)方案,由于根據(jù)本發(fā)明的方法和系統(tǒng)利用了企業(yè)業(yè)務(wù)系統(tǒng)中的銷售單數(shù)據(jù),并對(duì)銷售單數(shù)據(jù)進(jìn)行處理以得到符合發(fā)票數(shù)據(jù)規(guī)范的待開發(fā)票數(shù)據(jù),因此能夠節(jié)省時(shí)間和人力成本,提高企業(yè)的發(fā)票開具效率,減少企業(yè)不規(guī)范開具發(fā)票的風(fēng)險(xiǎn),促進(jìn)企業(yè)合法規(guī)范經(jīng)營和正常的發(fā)票開具,進(jìn)一步加強(qiáng)和規(guī)范增值稅發(fā)票管理,提高企業(yè)的財(cái)務(wù)管理水平。本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的具體實(shí)施方式部分予以詳細(xì)說明。附圖說明附圖是用來提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與下面的具體實(shí)施方式一起用于解釋本發(fā)明,但并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:圖1是根據(jù)本發(fā)明一種實(shí)施方式的為含稅額銷售單開具單稅率增值稅發(fā)票的方法的流程圖;以及圖2是根據(jù)本發(fā)明一種實(shí)施方式的為含稅額銷售單開具單稅率增值稅發(fā)票的系統(tǒng)的框圖。具體實(shí)施方式以下結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式進(jìn)行詳細(xì)說明。應(yīng)當(dāng)理解的是,此處所描述的具體實(shí)施方式僅用于說明和解釋本發(fā)明,并不用于限制本發(fā)明。單稅率指的是在一張?jiān)鲋刀惏l(fā)票上的商品明細(xì)稅率只能是一種;含稅額銷售單是企業(yè)銷售單的一種,根據(jù)財(cái)務(wù)管理的需要,企業(yè)在發(fā)票開具前就已經(jīng)在銷售單中計(jì)算出了本張銷售單的稅額。這種銷售單數(shù)據(jù)的特點(diǎn)是在銷售單主數(shù)據(jù)中標(biāo)識(shí)了一種稅率,同時(shí)標(biāo)識(shí)了稅額;但在銷售單明細(xì)數(shù)據(jù)中不標(biāo)識(shí)稅率也沒有標(biāo)識(shí)稅額。如圖1所示,根據(jù)本發(fā)明一種實(shí)施方式的為含稅額銷售單開具單稅率增值稅發(fā)票的方法包括以下步驟:步驟S1、獲取待開發(fā)票的銷售單數(shù)據(jù)集和銷售單明細(xì)數(shù)據(jù)集,所述銷售單數(shù)據(jù)集包括銷售單金額、銷售單稅額、銷售單稅率、含稅標(biāo)志和開票限額,所述銷售單明細(xì)數(shù)據(jù)集包括多個(gè)商品明細(xì)行,每個(gè)商品明細(xì)行包括商品名稱、單價(jià)、數(shù)量和金額。通常,在企業(yè)的業(yè)務(wù)系統(tǒng)中,會(huì)給銷售單數(shù)據(jù)表中的銷售單添加開票標(biāo)志,以便于清楚地查找和處理未開具發(fā)票的銷售單。因此,可以根據(jù)銷售單的“開票標(biāo)志”,在企業(yè)業(yè)務(wù)系統(tǒng)的銷售單數(shù)據(jù)表中查找未開具發(fā)票的銷售單主要數(shù)據(jù),形成銷售單數(shù)據(jù)集。例如,可以采用SQL語句或其他計(jì)算機(jī)程序語句來獲得銷售單數(shù)據(jù)集,示例性的SQL語句格式為:“SELECT銷售 單號(hào),銷售單金額,銷售單稅額,銷售單稅率,含稅標(biāo)志,清單標(biāo)志,漢字防偽企業(yè)標(biāo)志,開票限額FROM銷售單數(shù)據(jù)表WHERE開票標(biāo)志=‘未開票’”。以上SQL語句格式僅是示例性的,在實(shí)際操作中,清單標(biāo)志和漢字防偽企業(yè)標(biāo)志不是必須獲取的,也即在銷售單數(shù)據(jù)集中不包括清單標(biāo)志和漢字防偽企業(yè)標(biāo)志的情況下,可以在后續(xù)對(duì)銷售單明細(xì)數(shù)據(jù)集進(jìn)行拆分時(shí),將增值稅發(fā)票上的預(yù)定商品明細(xì)行數(shù)限定為例如7行(這依據(jù)稅務(wù)局提供的增值稅發(fā)票而改變),以使得每個(gè)待開發(fā)票數(shù)據(jù)集中的商品明細(xì)行數(shù)最大不超過稅務(wù)局規(guī)定的限制條件。表1給出了示例性的銷售單數(shù)據(jù)集。表1另外,可以采用SQL語句或其他計(jì)算機(jī)程序語句來獲得銷售單明細(xì)數(shù)據(jù)集,示例性的SQL語句格式為:“SELECT序號(hào),商品名稱,被折扣標(biāo)志,折扣比例,單價(jià),數(shù)量,金額FROM銷售單商品明細(xì)數(shù)據(jù)表WHERE銷售單號(hào)=‘當(dāng)前銷售單號(hào)’”。其中,被折扣標(biāo)志和折扣比例不是必須的,當(dāng)企業(yè)不對(duì)商品進(jìn)行打折銷售時(shí),銷售單明細(xì)數(shù)據(jù)集中可以不包括被折扣標(biāo)志和折扣比例。表2示出了表1的銷售單XSD0001的示例性銷售單明細(xì)數(shù)據(jù)集。序號(hào)商品名稱被折扣標(biāo)志折扣比例單價(jià)數(shù)量金額1商品11000.0011000.002商品2750.0021500.003打折商品1Y20%300.002600.004打折商品2Y20%400.001400.005商品3700.0021400.006商品4400.0041600.007打折商品3Y20%400.00135200.008打折商品4Y20%600.0031800.009商品5500.0052500.00表2步驟S2、校驗(yàn)每個(gè)商品明細(xì)行中單價(jià)與數(shù)量的乘積是否等于該商品明細(xì)行中的金額,并校驗(yàn)所有商品明細(xì)行中的金額之和是否等于銷售單金額。例如,在校驗(yàn)每個(gè)商品明細(xì)行中單價(jià)與數(shù)量的乘積是否等于該商品明細(xì)行中的金額時(shí),可以在銷售單明細(xì)數(shù)據(jù)集中,從首條到末條數(shù)據(jù)循環(huán),逐條獲取每條商品明細(xì)行的行號(hào)、金額、數(shù)量和單價(jià)這幾個(gè)數(shù)據(jù)項(xiàng),并計(jì)算“單價(jià)*數(shù)量”,判斷計(jì)算結(jié)果與本條商品明細(xì)行中的金額是否相等,如果不相等,則提示例如“行號(hào)為‘當(dāng)前行號(hào)’的銷售單明細(xì)數(shù)據(jù)集中,單價(jià)*數(shù)量與金額不相等”,并結(jié)束算法流程;若相等,則繼續(xù)后續(xù)步驟。在校驗(yàn)所有商品明細(xì)行中的金額之和是否等于銷售單金額時(shí),可以在銷售單明細(xì)數(shù)據(jù)集中,從首條到末條數(shù)據(jù)循環(huán),逐條獲取每條商品明細(xì)行的金額數(shù)據(jù)項(xiàng),累計(jì)相加計(jì)算生成明細(xì)合計(jì)金額,并判斷該明細(xì)合計(jì)金額與銷售單金額是否相等,如果不相等,則提示例如“∑銷售單明細(xì)金額與銷售單金額不相等”后,結(jié)束算法流程;若相等,則繼續(xù)后續(xù)步驟。步驟S3、根據(jù)銷售單稅率、含稅標(biāo)志以及每個(gè)商品明細(xì)行中的單價(jià)和數(shù)量計(jì)算并在每個(gè)商品明細(xì)行中添加價(jià)稅合計(jì)、發(fā)票金額、發(fā)票稅額和發(fā)票單價(jià),并且分別累加所有商品明細(xì)行的價(jià)稅合計(jì)、發(fā)票金額和發(fā)票稅額以在銷售單明細(xì)數(shù)據(jù)集中添加明細(xì)合計(jì)價(jià)稅合計(jì)、明細(xì)合計(jì)發(fā)票金額和明細(xì)合計(jì)發(fā)票稅額。其中,在含稅標(biāo)志表示含稅(例如,用字母Y表示含稅)的情況下(也即商品明細(xì)行中的單價(jià)是含稅單價(jià)),采用以下公式計(jì)算每個(gè)商品明細(xì)行的價(jià)稅合計(jì)、發(fā)票金額、發(fā)票稅額和發(fā)票單價(jià):價(jià)稅合計(jì)=單價(jià)*數(shù)量;發(fā)票金額=價(jià)稅合計(jì)/(1+銷售單稅率);發(fā)票稅額=價(jià)稅合計(jì)-發(fā)票金額;發(fā)票單價(jià)=單價(jià)/(1+銷售單稅率);在含稅標(biāo)志表示不含稅(例如,用字母N表示含稅)的情況下(也即商品明細(xì)行中的單價(jià)是不含稅單價(jià)),采用以下公式計(jì)算每個(gè)商品明細(xì)行的價(jià)稅合計(jì)、發(fā)票金額、發(fā)票稅額和發(fā)票單價(jià):發(fā)票金額=單價(jià)*數(shù)量;發(fā)票稅額=發(fā)票金額*銷售單稅率;價(jià)稅合計(jì)=發(fā)票金額+發(fā)票稅額。計(jì)算了每個(gè)商品明細(xì)行的價(jià)稅合計(jì)、發(fā)票金額、發(fā)票稅額和發(fā)票單價(jià)以及明細(xì)合計(jì)價(jià)稅合計(jì)、明細(xì)合計(jì)發(fā)票金額和明細(xì)合計(jì)發(fā)票稅額之后的示例性銷售單明細(xì)數(shù)據(jù)集請(qǐng)見下文中的表4。步驟S4、校驗(yàn)(明細(xì)合計(jì)發(fā)票稅額-銷售單稅額)是否小于預(yù)定值。通常,企業(yè)實(shí)際開票的稅額如果小于銷售單中企業(yè)自己計(jì)算的稅額,也即企業(yè)少繳了稅,那么企業(yè)是允許開票的。但是,如果企業(yè)實(shí)際開票的稅額大于銷售單中企業(yè)自己計(jì)算的稅額,但其差值又在誤差允許的范圍內(nèi),則需要平衡稅額誤差,目的是要按照銷售單稅額來開票,不能多繳稅。該步驟就是基于這樣的實(shí)際場(chǎng)景而進(jìn)行的。因此,如果稅額誤差=(明細(xì)合計(jì)發(fā)票稅額-銷售單稅額)大于預(yù)定值,則該稅額誤差超出了誤差允許的范圍,提示“∑發(fā)票稅額與銷售單稅額的差值超出誤差允許范圍,不能開票”后,結(jié)束算法流程,如果該稅額誤差小于預(yù)定值,則繼續(xù)后續(xù)步驟。優(yōu)選地,所述預(yù)定值為1.27,其是根據(jù)稅務(wù)部門規(guī)定的可允許稅額誤差來設(shè)置的。當(dāng)然,選擇比1.27小的值作為預(yù)定值也是可行的。步驟S5、依據(jù)開票限額和增值稅發(fā)票上的預(yù)定商品明細(xì)行數(shù)將銷售單明細(xì)數(shù)據(jù)集拆分成多個(gè)待開發(fā)票數(shù)據(jù)集,并對(duì)多個(gè)待開發(fā)票數(shù)據(jù)集進(jìn)行稅額 平衡。開票限額是對(duì)開票金額的限制,例如一萬元的增值稅專用發(fā)票,最高開票金額是一萬元。增值稅發(fā)票上的預(yù)定商品明細(xì)行數(shù)是企業(yè)能夠在增值稅發(fā)票上列出的最大商品明細(xì)行數(shù)。也即,最終得到的各個(gè)待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票金額不能大于開票限額,其商品明細(xì)行數(shù)不能超過增值稅發(fā)票上的預(yù)定商品明細(xì)行數(shù)。拆分得到的示例性待開發(fā)票數(shù)據(jù)集請(qǐng)見下文中的表5和表6。至此,就完成了銷售單數(shù)據(jù)的處理,所生成的每個(gè)待開發(fā)票數(shù)據(jù)集就是一個(gè)待開發(fā)票的主要數(shù)據(jù),將這些主要數(shù)據(jù)與銷售單中開發(fā)票需要的其它數(shù)據(jù)要素(例如銷貨單位名稱、購貨單位名稱等)合并后即可組成完整的發(fā)票數(shù)據(jù),將該完整的發(fā)票數(shù)據(jù)發(fā)送給防偽稅控提供的接口就可以完成發(fā)票的開具。優(yōu)選地,銷售單數(shù)據(jù)集中還可以包括清單標(biāo)志和漢字防偽企業(yè)標(biāo)志,漢字防偽企業(yè)標(biāo)志限定了增值稅發(fā)票上的預(yù)定商品明細(xì)行數(shù)。其中,清單標(biāo)志用于表示是否需要開具帶清單的增值稅發(fā)票,例如可以用清單標(biāo)志Y表示開具帶清單的增值稅發(fā)票,用清單標(biāo)志N表示開具不帶清單的增值稅發(fā)票。漢字防偽企業(yè)標(biāo)志表示了企業(yè)在國稅局的注冊(cè)類型,例如可以用漢字防偽企業(yè)標(biāo)志Y表示該企業(yè)是漢字防偽企業(yè),用漢字防偽企業(yè)標(biāo)志N表示該企業(yè)是非漢字防偽企業(yè)。按照現(xiàn)有的國稅局增值稅發(fā)票開具規(guī)定,非漢字防偽企業(yè)在增值稅發(fā)票上開具的商品明細(xì)行數(shù)不能超過8條,漢字防偽企業(yè)在增值稅發(fā)票上開具的商品明細(xì)行數(shù)不能超過7條。這樣,在前述的步驟S5中:(1)在清單標(biāo)志表示開具帶清單的增值稅發(fā)票的情況下,依據(jù)開票限額將銷售單明細(xì)數(shù)據(jù)集拆分成多個(gè)待開發(fā)票數(shù)據(jù)集,其中每個(gè)待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票金額小于等于開票限額。由于是開具帶清單的增值稅發(fā)票,所以可以不考慮漢字防偽企業(yè)標(biāo)志。例如,該步驟可以如下進(jìn)行:首先, 判斷銷售單明細(xì)數(shù)據(jù)集中的明細(xì)合計(jì)發(fā)票金額是否小于等于開票限額,若小于等于,則不對(duì)銷售單明細(xì)數(shù)據(jù)集進(jìn)行拆分;若大于,則需要對(duì)銷售單明細(xì)數(shù)據(jù)集進(jìn)行拆分,則從待拆分銷售單明細(xì)數(shù)據(jù)集中,依次從首條商品明細(xì)行到末條商品明細(xì)行循環(huán),取每條商品明細(xì)行中的發(fā)票金額并累加計(jì)算其合計(jì)金額,當(dāng)累加計(jì)算到某條商品明細(xì)行時(shí)所得到的合計(jì)金額大于開票限額時(shí),將該條商品明細(xì)行之前的全部商品明細(xì)行拆分到一張待開發(fā)票數(shù)據(jù)集中,依此類推,將銷售單明細(xì)數(shù)據(jù)集拆分成多張待開發(fā)票數(shù)據(jù)集,使得每個(gè)待開發(fā)票數(shù)據(jù)集中的明細(xì)合計(jì)發(fā)票金額不大于發(fā)票限額。(2)在清單標(biāo)志表示開具不帶清單的增值稅發(fā)票的情況下,依據(jù)開票限額和漢字防偽企業(yè)標(biāo)志將銷售單明細(xì)數(shù)據(jù)集拆分成多個(gè)待開發(fā)票數(shù)據(jù)集,其中每個(gè)待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票金額小于等于開票限額且每個(gè)待開發(fā)票數(shù)據(jù)集的商品明細(xì)行數(shù)不大于增值稅發(fā)票上的預(yù)定商品明細(xì)行數(shù)。也即,非漢字防偽企業(yè)在增值稅發(fā)票上最多只能開具8條商品明細(xì)行數(shù),漢字防偽企業(yè)在增值稅發(fā)票上最多只能開具7條商品明細(xì)行數(shù)。另外,當(dāng)企業(yè)對(duì)其商品打折銷售時(shí),就會(huì)在企業(yè)的銷售單明細(xì)數(shù)據(jù)表中有被折扣標(biāo)志和折扣比例這兩個(gè)數(shù)據(jù)項(xiàng),以表明哪些商品是打折商品,打折比例是多少,從而便于企業(yè)的財(cái)務(wù)管理。因此,優(yōu)選地,銷售單明細(xì)數(shù)據(jù)集的每個(gè)商品明細(xì)行中還包括被折扣標(biāo)志和折扣比例,且銷售單金額為折扣后金額,銷售單稅額也為考慮了折扣之后的稅額,每個(gè)商品明細(xì)行中的金額為折扣前金額,這樣:在前述的步驟S2中,就需要利用折扣后金額=折扣前金額*(1-折扣比例)來計(jì)算包含折扣商品的商品明細(xì)行的折扣后金額并校驗(yàn)該折扣后金額與不包含折扣商品的其他商品明細(xì)行中的金額之和是否等于銷售單金額。也即在企業(yè)的銷售單明細(xì)數(shù)據(jù)表中有打折商品時(shí),需要先計(jì)算出該商品明細(xì)行的折扣后金額然后再進(jìn)行累加。而且,在前述的步驟S3中,在計(jì)算每個(gè)商品明細(xì)行的價(jià)稅合計(jì)、發(fā)票金額、發(fā)票稅額和發(fā)票單價(jià)之前,還需要根據(jù)折扣比例重新排列各個(gè)商品明細(xì)行,計(jì)算具有相同折扣比例的商品明細(xì)行的總行數(shù)及其總折扣金額,并在具有相同折扣比例的商品明細(xì)行的最后一行商品明細(xì)行之后插入一條折扣行,該折扣行的商品名稱中體現(xiàn)了具有相同折扣比例的商品明細(xì)行的總行數(shù)以及折扣比例,該折扣行的金額為所述總折扣金額*(-1)。例如,可以將相同折扣比例的商品明細(xì)行分在一組,并按組依次排列,折扣比例為空的一組表示該組商品明細(xì)行中的商品是非打折商品,可以將該組商品明細(xì)行排列在最前面(當(dāng)然,排在銷售單明細(xì)數(shù)據(jù)集的最后面也是可行的);對(duì)折扣比例不為空的各組商品明細(xì)行,需要分別累計(jì)各組商品明細(xì)行的總行數(shù),計(jì)算各組商品明細(xì)行的總折扣金額,其中總折扣金額=∑該組商品明細(xì)行中的金額*折扣比例,并在各組商品明細(xì)行的最后一行商品明細(xì)行之后插入一條折扣行,該折扣行的商品名稱可以為“折扣行數(shù)Y(X.XXX%)”,其中“Y”為計(jì)算生成的各組具有相同折扣比例的商品明細(xì)行的總行數(shù),“X”為折扣比例,或者該折扣行的商品名稱也可以是其他能夠體現(xiàn)該組具有相同折扣比例的商品明細(xì)行的總行數(shù)和折扣比例的其他名稱,該折扣行的金額為計(jì)算生成的總折扣金額*(-1)以表示商品被打折。表3給出了按折扣比例重新排列表2中的商品明細(xì)行并插入折扣行之后的示例性銷售單明細(xì)數(shù)據(jù)集。表3表4給出了在表3的基礎(chǔ)上計(jì)算了每個(gè)商品明細(xì)行的價(jià)稅合計(jì)、發(fā)票金額、發(fā)票稅額和發(fā)票單價(jià)以及明細(xì)合計(jì)價(jià)稅合計(jì)、明細(xì)合計(jì)發(fā)票金額和明細(xì)合計(jì)發(fā)票稅額之后的示例性銷售單明細(xì)數(shù)據(jù)集。表4而且,當(dāng)銷售單明細(xì)數(shù)據(jù)集中包括被折扣標(biāo)志和折扣比例時(shí),在步驟S5中,在清單標(biāo)志表示開具不帶清單的增值稅發(fā)票的情況下,還需要對(duì)折扣行進(jìn)行處理,也即若待開發(fā)票數(shù)據(jù)集中具有相同折扣比例的一行或多行商品明細(xì)行的最后一行商品明細(xì)行之后沒有折扣行則在該最后一行商品明細(xì)行之后插入一條折扣行(其中,插入折扣行的操作與之前所述的插入折扣行的操作相同,此處不再贅述),若在所述最后一行商品明細(xì)行之后具有折扣行則更新該折扣行(其中,更新折扣行的操作與之前所述的插入折扣行的操 作相同,此處也不再贅述),以及更新該待開發(fā)票數(shù)據(jù)集中的明細(xì)合計(jì)價(jià)稅合計(jì)、明細(xì)合計(jì)發(fā)票金額和明細(xì)合計(jì)發(fā)票稅額。這樣就能夠?qū)γ繌埓_發(fā)票數(shù)據(jù)集中的折扣數(shù)據(jù)進(jìn)行重新處理,以使得每張待開發(fā)票數(shù)據(jù)集中的數(shù)據(jù)更為準(zhǔn)確,避免出現(xiàn)依據(jù)該待開發(fā)票數(shù)據(jù)集所開具的發(fā)票上的金額、稅額等數(shù)據(jù)項(xiàng)與企業(yè)的銷售單中所計(jì)算的數(shù)據(jù)項(xiàng)存在差異的情況,提高了企業(yè)的財(cái)務(wù)管理水平。以表4的銷售單明細(xì)數(shù)據(jù)集為例,在利用該步驟進(jìn)行拆分之后得到兩張待開發(fā)票數(shù)據(jù)集,請(qǐng)見表5和表6所示。表5表6另外,按照現(xiàn)有的實(shí)際銷售單數(shù)據(jù)統(tǒng)計(jì)結(jié)果來看,在開具帶清單的增值稅發(fā)票的情況下,通常銷售單明細(xì)數(shù)據(jù)集中的明細(xì)合計(jì)發(fā)票金額是小于開票限額的,因此在銷售單明細(xì)數(shù)據(jù)集中也包括打折商品時(shí),在步驟S5的拆分 過程中可以不對(duì)折扣數(shù)據(jù)進(jìn)行處理。如果銷售單明細(xì)數(shù)據(jù)集中的明細(xì)合計(jì)發(fā)票金額大于開票限額,則在步驟S5的拆分過程中,可以依據(jù)上述開具不帶清單的增值稅發(fā)票情況下的拆分過程中對(duì)折扣數(shù)據(jù)的處理過程來處理將在開票時(shí)被列在清單上的折扣數(shù)據(jù)。優(yōu)選地,步驟S5中的對(duì)多個(gè)待開發(fā)票數(shù)據(jù)集進(jìn)行稅額平衡包括以下步驟:步驟S51、計(jì)算待平衡總誤差,其中,待平衡總誤差=所有待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票稅額之和-銷售單稅額;步驟S52、計(jì)算第i個(gè)待開發(fā)票數(shù)據(jù)集的可平衡發(fā)票稅額誤差,其中,可平衡發(fā)票稅額誤差=1.27-(明細(xì)合計(jì)發(fā)票金額*銷售單稅率-明細(xì)合計(jì)發(fā)票稅額);步驟S53、若第i個(gè)待開發(fā)票數(shù)據(jù)集的可平衡發(fā)票稅額誤差>待平衡總誤差,則將第i個(gè)待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票稅額修改為第i個(gè)待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票稅額+待平衡總誤差,并結(jié)束稅額平衡;步驟S54、若第i個(gè)待開發(fā)票數(shù)據(jù)集的可平衡發(fā)票稅額誤差<待平衡總誤差,則將第i個(gè)待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票稅額修改為第i個(gè)待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票稅額+第i個(gè)待開發(fā)票數(shù)據(jù)集的可平衡發(fā)票稅額誤差,并返回步驟S51以繼續(xù)第i+1個(gè)待開發(fā)票數(shù)據(jù)集的稅額平衡,其中,i=1,2,…N,N為正整數(shù)。其中,在對(duì)第i+1個(gè)待開發(fā)票數(shù)據(jù)集進(jìn)行稅額平衡時(shí),可以采用待平衡總誤差=待平衡總誤差–第i個(gè)待開發(fā)票數(shù)據(jù)集的可平衡發(fā)票稅額誤差來重新計(jì)算待平衡總誤差,也可以采用步驟S51中的計(jì)算公式來重新計(jì)算待平衡總誤差。這樣,通過步驟S51至S54進(jìn)行稅額平衡之后,就能夠使全部待開發(fā)票數(shù)據(jù)集中的明細(xì)合計(jì)發(fā)票稅額之和與銷售單稅額相等。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是,進(jìn)行稅額平衡的算法并不局限于步驟 S51-S54所示的算法,其他的稅額平衡算法也是可行的。例如,可以將待平衡總誤差平均分配到每個(gè)待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票稅額中。根據(jù)本發(fā)明的一種實(shí)施方式,本發(fā)明還提供一種為含稅額銷售單開具單稅率增值稅發(fā)票的系統(tǒng),該系統(tǒng)包括獲取模塊21、銷售單數(shù)據(jù)校驗(yàn)?zāi)K22、發(fā)票數(shù)據(jù)計(jì)算模塊23、銷售單稅額校驗(yàn)?zāi)K24和拆分模塊25。其中,獲取模塊21,用于獲取待開發(fā)票的銷售單數(shù)據(jù)集和銷售單明細(xì)數(shù)據(jù)集,銷售單數(shù)據(jù)集包括銷售單金額、銷售單稅額、銷售單稅率、含稅標(biāo)志和開票限額,銷售單明細(xì)數(shù)據(jù)集包括多個(gè)商品明細(xì)行,每個(gè)商品明細(xì)行包括商品名稱、單價(jià)、數(shù)量和金額。例如,獲取模塊21可以根據(jù)銷售單的“開票標(biāo)志”,在企業(yè)業(yè)務(wù)系統(tǒng)的銷售單數(shù)據(jù)表中查找未開具發(fā)票的銷售單主要數(shù)據(jù),形成銷售單數(shù)據(jù)集和銷售單明細(xì)數(shù)據(jù)集,例如,獲取模塊21可以采用SQL語句或其他計(jì)算機(jī)程序語句來獲得銷售單數(shù)據(jù)集,示例性的SQL語句格式為:“SELECT銷售單號(hào),銷售單金額,銷售單稅額,銷售單稅率,含稅標(biāo)志,開票限額FROM銷售單數(shù)據(jù)表WHERE開票標(biāo)志=‘未開票’”,以及獲得銷售單明細(xì)數(shù)據(jù)集,示例性的SQL語句格式為:“SELECT序號(hào),商品名稱,單價(jià),數(shù)量,金額FROM銷售單商品明細(xì)數(shù)據(jù)表WHERE銷售單號(hào)=‘當(dāng)前銷售單號(hào)’”。銷售單數(shù)據(jù)校驗(yàn)?zāi)K22,用于校驗(yàn)每個(gè)商品明細(xì)行中單價(jià)與數(shù)量的乘積是否等于該商品明細(xì)行中的金額,并校驗(yàn)所有商品明細(xì)行中的金額之和是否等于銷售單金額。銷售單數(shù)據(jù)校驗(yàn)?zāi)K22的操作類似于上述根據(jù)本發(fā)明的方法中步驟S2的操作,此處不再贅述發(fā)票數(shù)據(jù)計(jì)算模塊23,用于根據(jù)銷售單稅率、含稅標(biāo)志以及每個(gè)商品明細(xì)行中的單價(jià)和數(shù)量計(jì)算并在每個(gè)商品明細(xì)行中添加價(jià)稅合計(jì)、發(fā)票金額、發(fā)票稅額和發(fā)票單價(jià),并分別累加所有商品明細(xì)行的價(jià)稅合計(jì)、發(fā)票金額和發(fā)票稅額以在銷售單明細(xì)數(shù)據(jù)集中添加明細(xì)合計(jì)價(jià)稅合計(jì)、明細(xì)合計(jì)發(fā)票金 額和明細(xì)合計(jì)發(fā)票稅額。其中,在含稅標(biāo)志表示含稅(例如,用字母Y表示含稅)的情況下(也即商品明細(xì)行中的單價(jià)是含稅單價(jià)),發(fā)票數(shù)據(jù)計(jì)算模塊23采用以下公式計(jì)算每個(gè)商品明細(xì)行的價(jià)稅合計(jì)、發(fā)票金額、發(fā)票稅額和發(fā)票單價(jià):價(jià)稅合計(jì)=單價(jià)*數(shù)量;發(fā)票金額=價(jià)稅合計(jì)/(1+銷售單稅率);發(fā)票稅額=價(jià)稅合計(jì)-發(fā)票金額;發(fā)票單價(jià)=單價(jià)/(1+銷售單稅率);在含稅標(biāo)志表示不含稅(例如,用字母N表示含稅)的情況下(也即商品明細(xì)行中的單價(jià)是不含稅單價(jià)),發(fā)票數(shù)據(jù)計(jì)算模塊23采用以下公式計(jì)算每個(gè)商品明細(xì)行的價(jià)稅合計(jì)、發(fā)票金額、發(fā)票稅額和發(fā)票單價(jià):發(fā)票金額=單價(jià)*數(shù)量;發(fā)票稅額=發(fā)票金額*銷售單稅率;價(jià)稅合計(jì)=發(fā)票金額+發(fā)票稅額。銷售單稅額校驗(yàn)?zāi)K24用于校驗(yàn)(明細(xì)合計(jì)發(fā)票稅額-銷售單稅額)是否小于預(yù)定值。銷售單稅額校驗(yàn)?zāi)K24的操作與上述根據(jù)本發(fā)明的方法中步驟S4的操作相類似,此處不再贅述。拆分模塊25,用于在銷售單稅額校驗(yàn)?zāi)K24完成所述校驗(yàn)之后,依據(jù)開票限額和增值稅發(fā)票上的預(yù)定商品明細(xì)行數(shù)將銷售單明細(xì)數(shù)據(jù)集拆分成多個(gè)待開發(fā)票數(shù)據(jù)集,并對(duì)多個(gè)待開發(fā)票數(shù)據(jù)集進(jìn)行稅額平衡。也即,最終得到的各個(gè)待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票金額不能大于開票限額,其商品明細(xì)行數(shù)不能超過增值稅發(fā)票上的預(yù)定商品明細(xì)行數(shù)。在拆分模塊25進(jìn)行拆分之后,所生成的每個(gè)待開發(fā)票數(shù)據(jù)集就是一個(gè)待開發(fā)票的主要數(shù)據(jù),將這些主要數(shù)據(jù)與銷售單中開發(fā)票需要的其它數(shù)據(jù)要素合并后即可組成完整的發(fā)票數(shù)據(jù),將該完整的發(fā)票數(shù)據(jù)發(fā)送給防偽稅控提 供的接口就可以完成發(fā)票的開具。優(yōu)選地,獲取模塊21所獲取的銷售單數(shù)據(jù)集中還可以包括清單標(biāo)志和漢字防偽企業(yè)標(biāo)志,漢字防偽企業(yè)標(biāo)志限定了增值稅發(fā)票上的預(yù)定商品明細(xì)行數(shù),拆分模塊25還用于:在清單標(biāo)志表示開具帶清單的增值稅發(fā)票的情況下,依據(jù)開票限額將銷售單明細(xì)數(shù)據(jù)集拆分成多個(gè)待開發(fā)票數(shù)據(jù)集,其中每個(gè)待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票金額小于等于開票限額;在清單標(biāo)志表示開具不帶清單的增值稅發(fā)票的情況下,依據(jù)開票限額和漢字防偽企業(yè)標(biāo)志將銷售單明細(xì)數(shù)據(jù)集拆分成多個(gè)待開發(fā)票數(shù)據(jù)集,其中每個(gè)待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票金額小于等于開票限額且每個(gè)待開發(fā)票數(shù)據(jù)集的商品明細(xì)行數(shù)不大于增值稅發(fā)票上的預(yù)定商品明細(xì)行數(shù)。拆分模塊25所執(zhí)行的該操作可以類似于上述根據(jù)本發(fā)明的方法中步驟S5中所描述的操作,因此此處不再贅述。優(yōu)選地,獲取模塊21所獲取的每個(gè)商品明細(xì)行中還可以包括被折扣標(biāo)志和折扣比例,且銷售單金額為折扣后金額,每個(gè)商品明細(xì)行中的金額為折扣前金額。在這種情況下,銷售單數(shù)據(jù)校驗(yàn)?zāi)K22還用于:利用折扣后金額=折扣前金額*(1-折扣比例)來計(jì)算包含折扣商品的商品明細(xì)行的折扣后金額并校驗(yàn)該折扣后金額與不包含折扣商品的其他商品明細(xì)行中的金額之和是否等于銷售單金額。也即在企業(yè)的銷售單明細(xì)數(shù)據(jù)表中有打折商品時(shí),銷售單數(shù)據(jù)校驗(yàn)?zāi)K22需要先計(jì)算出該商品明細(xì)行的折扣后金額然后再進(jìn)行累加。發(fā)票數(shù)據(jù)計(jì)算模塊23還用于在計(jì)算每個(gè)商品明細(xì)行的價(jià)稅合計(jì)、發(fā)票金額、發(fā)票稅額和發(fā)票單價(jià)之前,根據(jù)折扣比例重新排列各個(gè)商品明細(xì)行,計(jì)算具有相同折扣比例的商品明細(xì)行的總行數(shù)及其總折扣金額,并在具有相同折扣比例的商品明細(xì)行的最后一行商品明細(xì)行之后插入一條折扣行,該折扣行的商品名稱中體現(xiàn)了具有相同折扣比例的商品明細(xì)行的總行數(shù)以及折扣比例,該折扣行的金額為所述總折扣金額*(-1)。發(fā)票數(shù)據(jù)計(jì)算模塊 23所執(zhí)行的操作可以類似于存在被折扣標(biāo)志和折扣比例這兩個(gè)數(shù)據(jù)項(xiàng)時(shí)前述步驟S3中所描述的操作,此處不再贅述。而且,在拆分模塊25完成拆分之后,在清單標(biāo)志表示開具不帶清單的增值稅發(fā)票的情況下,發(fā)票數(shù)據(jù)計(jì)算模塊23還用于:若待開發(fā)票數(shù)據(jù)集中具有相同折扣比例的一行或多行商品明細(xì)行的最后一行商品明細(xì)行之后沒有折扣行則在該最后一行商品明細(xì)行之后插入一條折扣行,若在所述最后一行商品明細(xì)行之后具有折扣行則更新該折扣行,以及更新該待開發(fā)票數(shù)據(jù)集中的明細(xì)合計(jì)價(jià)稅合計(jì)、明細(xì)合計(jì)發(fā)票金額和明細(xì)合計(jì)發(fā)票稅額。這樣就能夠?qū)γ繌埓_發(fā)票數(shù)據(jù)集中的折扣數(shù)據(jù)進(jìn)行重新處理,以使得每張待開發(fā)票數(shù)據(jù)集中的數(shù)據(jù)更為準(zhǔn)確,避免出現(xiàn)依據(jù)該待開發(fā)票數(shù)據(jù)集所開具的發(fā)票上的金額、稅額等數(shù)據(jù)項(xiàng)與企業(yè)的銷售單中所計(jì)算的數(shù)據(jù)項(xiàng)存在差異的情況,提高了企業(yè)的財(cái)務(wù)管理水平。插入與更新折扣行的操作與之前根據(jù)本發(fā)明的方法中所描述的操作類似,此處不再贅述。另外,按照現(xiàn)有的實(shí)際銷售單數(shù)據(jù)統(tǒng)計(jì)結(jié)果來看,在開具帶清單的增值稅發(fā)票的情況下,通常銷售單明細(xì)數(shù)據(jù)集中的明細(xì)合計(jì)發(fā)票金額是小于開票限額的,因此在銷售單明細(xì)數(shù)據(jù)集中也包括打折商品時(shí),在拆分模塊25進(jìn)行拆分之后發(fā)票數(shù)據(jù)計(jì)算模塊23可以不對(duì)折扣數(shù)據(jù)進(jìn)行再處理。如果銷售單明細(xì)數(shù)據(jù)集中的明細(xì)合計(jì)發(fā)票金額大于開票限額,則在拆分模塊25進(jìn)行拆分之后,發(fā)票數(shù)據(jù)計(jì)算模塊23也可以對(duì)折扣數(shù)據(jù)進(jìn)行與上述類似的操作,即插入和更新折扣行并更新待開發(fā)票數(shù)據(jù)集中的明細(xì)合計(jì)價(jià)稅合計(jì)、明細(xì)合計(jì)發(fā)票金額和明細(xì)合計(jì)發(fā)票稅額。優(yōu)選地,拆分模塊25對(duì)多個(gè)待開發(fā)票數(shù)據(jù)集進(jìn)行稅額平衡包括:計(jì)算待平衡總誤差,其中,待平衡總誤差=所有待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票稅額之和-銷售單稅額;計(jì)算第i個(gè)待開發(fā)票數(shù)據(jù)集的可平衡發(fā)票稅額誤差,其中,可平衡發(fā)票稅額誤差=1.27-(明細(xì)合計(jì)發(fā)票金額*銷售單稅率-明細(xì)合 計(jì)發(fā)票稅額);若第i個(gè)待開發(fā)票數(shù)據(jù)集的可平衡發(fā)票稅額誤差>待平衡總誤差,則將第i個(gè)待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票稅額修改為第i個(gè)待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票稅額+待平衡總誤差,并結(jié)束稅額平衡;若第i個(gè)待開發(fā)票數(shù)據(jù)集的可平衡發(fā)票稅額誤差<待平衡總誤差,則將第i個(gè)待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票稅額修改為第i個(gè)待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票稅額+第i個(gè)待開發(fā)票數(shù)據(jù)集的可平衡發(fā)票稅額誤差,然后更新待平衡總誤差并將更新后的待平衡總誤差向第i+1個(gè)待開發(fā)票數(shù)據(jù)集平衡,其中,i=1,2,…N,N為正整數(shù)。這樣,就能夠使全部待開發(fā)票數(shù)據(jù)集中的明細(xì)合計(jì)發(fā)票稅額之和與銷售單稅額相等。其中,在對(duì)第i+1個(gè)待開發(fā)票數(shù)據(jù)集進(jìn)行稅額平衡時(shí),拆分模塊25可以采用待平衡總誤差=待平衡總誤差–第i個(gè)待開發(fā)票數(shù)據(jù)集的可平衡發(fā)票稅額誤差來重新計(jì)算待平衡總誤差,也可以采用“待平衡總誤差=所有待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票稅額之和-銷售單稅額”來重新計(jì)算待平衡總誤差。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是,進(jìn)行稅額平衡的算法并不局限于上面所示的算法,其他的稅額平衡算法也是可行的。例如,拆分模塊25可以將待平衡總誤差平均分配到每個(gè)待開發(fā)票數(shù)據(jù)集的明細(xì)合計(jì)發(fā)票稅額中。以上結(jié)合附圖詳細(xì)描述了本發(fā)明的優(yōu)選實(shí)施方式,但是,本發(fā)明并不限于上述實(shí)施方式中的具體細(xì)節(jié),在本發(fā)明的技術(shù)構(gòu)思范圍內(nèi),可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行多種簡單變型,這些簡單變型均屬于本發(fā)明的保護(hù)范圍。此外,本發(fā)明的各種不同的實(shí)施方式之間也可以進(jìn)行任意組合,只要其不違背本發(fā)明的思想,其同樣應(yīng)當(dāng)視為本發(fā)明所公開的內(nèi)容。當(dāng)前第1頁1 2 3