1.一種為含稅額銷售單開具單稅率增值稅發(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ù)集,并對所述多個(gè)待開發(fā)票數(shù)據(jù)集進(jìn)行稅額平衡。
2.根據(jù)權(quán)利要求1所述的方法,其中,在步驟S3中,
在所述含稅標(biāo)志表示含稅的情況下,采用以下公式計(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)志表示不含稅的情況下,采用以下公式計(jì)算每個(gè)所述商品明細(xì)行中的價(jià)稅合計(jì)、發(fā)票金額、發(fā)票稅額和發(fā)票單價(jià):
發(fā)票金額=單價(jià)*數(shù)量;
發(fā)票稅額=發(fā)票金額*銷售單稅率;
價(jià)稅合計(jì)=發(fā)票金額+發(fā)票稅額。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述銷售單數(shù)據(jù)集還包括清單標(biāo)志和漢字防偽企業(yè)標(biāo)志,所述漢字防偽企業(yè)標(biāo)志限定了所述增值稅發(fā)票上的預(yù)定商品明細(xì)行數(shù),則在步驟S5中:
在所述清單標(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ù)。
4.根據(jù)權(quán)利要求3所述的方法,其中,每個(gè)所述商品明細(xì)行中還包括被折扣標(biāo)志和折扣比例,且所述銷售單金額為折扣后金額,每個(gè)所述商品明細(xì)行中的金額為折扣前金額,則:
在步驟S2中,利用折扣后金額=折扣前金額*(1-折扣比例)來計(jì)算包含折扣商品的商品明細(xì)行的折扣后金額并校驗(yàn)該折扣后金額與不包含折扣商品的其他商品明細(xì)行中的金額之和是否等于所述銷售單金額;
在步驟S3中,在計(jì)算每個(gè)所述商品明細(xì)行中的價(jià)稅合計(jì)、發(fā)票金額、發(fā)票稅額和發(fā)票單價(jià)之前,還根據(jù)所述折扣比例重新排列各個(gè)所述商品明細(xì)行,計(jì)算具有相同折扣比例的商品明細(xì)行的總行數(shù)及其總折扣金額,并在具有相同折扣比例的商品明細(xì)行的最后一行商品明細(xì)行之后插入一條折扣行,該折扣行的商品名稱中體現(xiàn)了具有相同折扣比例的商品明細(xì)行的總行數(shù)以及折扣比例,該折扣行的金額為所述總折扣金額*(-1);以及
在步驟S5中,在所述清單標(biāo)志表示開具不帶清單的增值稅發(fā)票的情況下,若所述待開發(fā)票數(shù)據(jù)集中具有相同折扣比例的一行或多行商品明細(xì)行的最后一行商品明細(xì)行之后沒有折扣行則在該最后一行商品明細(xì)行之后插入一條折扣行,若在所述最后一行商品明細(xì)行之后具有折扣行則更新該折扣行,以及更新該待開發(fā)票數(shù)據(jù)集中的明細(xì)合計(jì)價(jià)稅合計(jì)、明細(xì)合計(jì)發(fā)票金額和明細(xì)合計(jì)發(fā)票稅額。
5.根據(jù)權(quán)利要求1至4中任一權(quán)利要求所述的方法,其中,步驟S5中的對所述多個(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ù)。
6.一種為含稅額銷售單開具單稅率增值稅發(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ù)集,并對所述多個(gè)待開發(fā)票數(shù)據(jù)集進(jìn)行稅額平衡。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其中,所述發(fā)票數(shù)據(jù)計(jì)算模塊用于:
在所述含稅標(biāo)志表示含稅的情況下,采用以下公式計(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)志表示不含稅的情況下,采用以下公式計(jì)算每個(gè)所述商品明細(xì)行的價(jià)稅合計(jì)、發(fā)票金額、發(fā)票稅額和發(fā)票單價(jià):
發(fā)票金額=單價(jià)*數(shù)量;
發(fā)票稅額=發(fā)票金額*銷售單稅率;
價(jià)稅合計(jì)=發(fā)票金額+發(fā)票稅額。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其中,所述銷售單數(shù)據(jù)集還包括清單標(biāo)志和漢字防偽企業(yè)標(biāo)志,所述漢字防偽企業(yè)標(biāo)志限定了所述增值稅發(fā)票上的預(yù)定商品明細(xì)行數(shù),所述拆分模塊用于:
在所述清單標(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ù)。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,每個(gè)所述商品明細(xì)行中還包括 被折扣標(biāo)志和折扣比例,且所述銷售單金額為折扣后金額,每個(gè)所述商品明細(xì)行中的金額為折扣前金額,則:
所述銷售單數(shù)據(jù)校驗(yàn)?zāi)K還用于:利用折扣后金額=折扣前金額*(1-折扣比例)來計(jì)算包含折扣商品的商品明細(xì)行的折扣后金額并校驗(yàn)該折扣后金額與不包含折扣商品的其他商品明細(xì)行中的金額之和是否等于所述銷售單金額;
所述發(fā)票數(shù)據(jù)計(jì)算模塊還用于在計(jì)算每個(gè)所述商品明細(xì)行的價(jià)稅合計(jì)、發(fā)票金額、發(fā)票稅額和發(fā)票單價(jià)之前,根據(jù)所述折扣比例重新排列各個(gè)所述商品明細(xì)行,計(jì)算具有相同折扣比例的商品明細(xì)行的總行數(shù)及其總折扣金額,并在具有相同折扣比例的商品明細(xì)行的最后一行商品明細(xì)行之后插入一條折扣行,該折扣行的商品名稱中體現(xiàn)了具有相同折扣比例的商品明細(xì)行的總行數(shù)以及折扣比例,該折扣行的金額為所述總折扣金額*(-1);以及
在所述拆分模塊完成所述拆分之后,在所述清單標(biāo)志表示開具不帶清單的增值稅發(fā)票的情況下,所述發(fā)票數(shù)據(jù)計(jì)算模塊還用于:若所述待開發(fā)票數(shù)據(jù)集中具有相同折扣比例的一行或多行商品明細(xì)行的最后一行商品明細(xì)行之后沒有折扣行則在該最后一行商品明細(xì)行之后插入一條折扣行,若在所述最后一行商品明細(xì)行之后具有折扣行則更新該折扣行,以及更新該待開發(fā)票數(shù)據(jù)集中的明細(xì)合計(jì)價(jià)稅合計(jì)、明細(xì)合計(jì)發(fā)票金額和明細(xì)合計(jì)發(fā)票稅額。
10.根據(jù)權(quán)利要求6至9中任一權(quán)利要求所述的系統(tǒng),其中,所述拆分模塊對所述多個(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ù)。