[摘 要] 本文基于對現(xiàn)金流量表會計電算化的會計分錄拆分問題進行深入研究,詳細分析會計分錄的拆分原理,并進行數(shù)據(jù)庫設(shè)計,分析軟件實現(xiàn)的算法,并輔以案例解釋。
[關(guān)鍵詞] 分錄拆分;現(xiàn)金流量表;會計電算化
[中圖分類號]F232[文獻標識碼]A[文章編號]1673-0194(2008)23-0004-05
一、現(xiàn)金流量表與會計分錄拆分概述
現(xiàn)金流量表分為主表和附表,主表采用直接法填列;附表采用間接法填列。
采用直接法編制現(xiàn)金流量表,通常的做法是工作底稿法和T型賬戶法,通過對資產(chǎn)負債表和利潤表的分析填列。采用間接法編制現(xiàn)金流量表,通常采用工作底稿法,多欄式賬戶編制等。這些編制方法都是較為傳統(tǒng)的手工編制方法,總結(jié)起來,有如下特點:
(1)采用其他報表(主要是資產(chǎn)負債表和利潤表)的匯總數(shù)據(jù),再對匯總數(shù)據(jù)中的某些特殊事項進行糾偏調(diào)整。
(2)采用直接法分析填列,即對發(fā)生的每個會計事項,即時進行人為判斷,并標記其現(xiàn)金流量表的影響情況。
由于上述兩種方法難以在計算機環(huán)境下實現(xiàn),主要難點在于,計算機并不能實現(xiàn)模擬人工的判斷分析過程。因此在會計電算化下,多采用的是對應科目判斷調(diào)整法,該方法主要是分析每個分錄中的對應科目,通過對應科目分析實現(xiàn)對會計事項的性質(zhì)判斷,進而完成現(xiàn)金流量表的編制。
采用該方法的重點在于計算機如何識別憑證數(shù)據(jù),形成一借一貸形式的會計分錄。
會計分錄由兩個以上的會計科目及其發(fā)生額構(gòu)成,會計分錄有3種形式:一借一貸、一借多貸或一貸多借、多借多貸。計算機通常只能識別一借一貸形式的會計分錄的性質(zhì),對于其余的兩種形式,在會計電算化中必須通過合理的方式分解為一借一貸形式。
二、會計分錄拆分的基本原理
拆分分錄分為3種情況:
(1)原為一借一貸的會計分錄,不用拆分。
(2)一貸多借,或者一借多貸的分錄,只有一個會計科目的借或貸方,按照對方的多個科目分解為多個一借一貸分錄。
(3)未先行分解的多借多貸,先對同一性質(zhì)的多個會計科目相加,或者不同性質(zhì)但是能具有特定對應關(guān)系的科目先行相減,以此來減少會計科目的數(shù)量;如果分解后出現(xiàn)第2種情況,則進入第2種情況的分解程序,否則,對多借多貸的某一方逐個科目按照對方各個科目進行分解,最終形成多個一借多貸的形式,再進入第2種情況的分解程序。
第3種情況能夠先行相加或者先行相減的,是由某些會計業(yè)務和會計分錄的特殊性所致。先行相加的會計科目有:無形資產(chǎn)下設(shè)的明細科目“無形資產(chǎn)——商標權(quán)”、“無形資產(chǎn)——土地使用權(quán)”等。先行相減的會計科目有:“無形資產(chǎn)”和“無形資產(chǎn)減值準備”。
三、會計分錄拆分數(shù)據(jù)表設(shè)計
會計電算化一般是通過數(shù)據(jù)庫(如Access,SQL Server 2000,Oracle等)設(shè)計和界面軟件(Visual Basic,PowerBuilder,Jsp,Asp等)開發(fā)來實現(xiàn)。而數(shù)據(jù)庫設(shè)計主要是通過數(shù)據(jù)庫中的數(shù)據(jù)表設(shè)計來完成,會計分錄的拆分便是如此。
為了實現(xiàn)會計分錄的拆分,設(shè)計6個表來完成分錄拆分。
1. 會計科目代碼表(kjkmdmb)
該表存放企業(yè)的會計科目,包括一級科目和各種明細科目。主要由科目名稱及其科目代碼組成。
2. 拆分標準表(chfbzhb)
該表存放在多借多貸的情況下先行拆分的科目對照標準,在計算機拆分過程中,將原始憑證數(shù)據(jù)與該表的拆分科目對照標準相比較,便可識別出先行拆分的科目。
3. 憑證從表(pzhcb)
該表存放憑證數(shù)據(jù),這里為了簡化,只將與拆分分錄有關(guān)的重要字段列出。
4. 拆分臨時表(chflshb)
該表是拆分分錄過程中的存放臨時數(shù)據(jù)的表,表結(jié)構(gòu)除了序號不是自動編制外與憑證從表完全一致。
5. 多項拆分臨時表(mmlshb)
該表是拆分分錄過程中的存放臨時數(shù)據(jù)的表,表結(jié)構(gòu)除了序號不是自動編制外與憑證從表完全一致。
6. 憑證拆分表(pzhchfb)
該表由7個字段組成,由憑證編號(pzhbh)、借方代碼(jfdm)和貸方貸碼(dfdm)唯一確定一個數(shù)據(jù)。
四、拆分分錄的算法實現(xiàn)
拆分分錄的實現(xiàn)首先必須設(shè)置好拆分標準,即多借多貸會計分錄中可先行分解的特殊事項,將其存放于拆分標準表中。接著是算法設(shè)計,通過函數(shù)實現(xiàn)拆分分錄的數(shù)據(jù)處理。最后通過案例解釋整個拆分過程。
1. 拆分標準表的設(shè)置
拆分標準表(表2)是對多借多貸先行拆分的依據(jù)。計算機首先從憑證獲取數(shù)據(jù),并進行分解拆分,形成一借一貸的標準分錄。對于多借多貸的會計分錄需要依據(jù)會計分錄的拆分標準進行拆分,這些數(shù)據(jù)存放在數(shù)據(jù)庫的拆分標準表(chfbzhb)中。
拆分標準表的功能是計算機將遇到的多借多貸分錄與數(shù)據(jù)庫中的拆分標準表按照科目代碼(kmdm)、總賬代碼(zzhdm)和抵銷標志(dxbzh)進行聯(lián)合查詢,根據(jù)其中相關(guān)數(shù)據(jù)進行自動識別,完成拆分過程。例如:“無形資產(chǎn)”與“無形資產(chǎn)減值準備”如果同時出現(xiàn)在多借多貸的會計分錄中,則必須將這兩個分錄現(xiàn)行拆分,形成一對標準分錄。由于先行拆分了這兩個分錄,原多借多貸的分錄數(shù)目便減少。這種方法有利于形成標準分錄。這里以無形資產(chǎn)(一級科目代碼為1701)及其相關(guān)科目為例,拆分標準表的內(nèi)容設(shè)計如表7所示(拆分標準表必須根據(jù)會計分錄及會計準則的相關(guān)規(guī)定,將企業(yè)可能發(fā)生的特殊對應事項進行詳細設(shè)計,這里僅以無形資產(chǎn)的相關(guān)科目進行詳細設(shè)計)。
對于表7,表中第二列是會計科目代碼,包括一級科目代碼和明細科目代碼,它們所對應的會計科目如表8所示。值得注意的是拆分標準表(chfbzhb)的設(shè)計并不包括“會計科目”列,因為如果需要獲得其會計科目,只要從會計科目代碼表(kjkmdmb)查詢即可獲得,如表8。
表7中,“科目代碼”表示的是會計實務中的明細科目,由于某些科目不具備明細科目,因此表中存在一些一級科目。
“所屬總賬代碼”,該列代碼對應的會計科目與“科目代碼”對應的會計科目(見表8) 在性質(zhì)上具有某種對應關(guān)系,該關(guān)系記錄在“抵銷標志”項中。
“抵銷標志”,記錄“科目代碼”與“所屬總賬代碼”分別對應的會計科目(以下分別簡稱為“會計明細科目”與“所屬會計科目”)在會計實務中的關(guān)系,這樣的關(guān)系共有3種:“同方相加”、“異方相減”和“非主項目”。
其中,“同方相加”標記“所屬會計科目”相同,而“會計明細科目”不同的情況出現(xiàn)在當前的會計分錄中,這些“會計明細科目”在拆分標準分錄過程中應該先行合并。
“異方相減”和“非主項目”必須聯(lián)合分析,前者表示在當前會計分錄中同時出現(xiàn)“所屬會計科目”而“會計明細科目”不同的多個記錄中,如果某一個會計記錄的“會計明細科目”與“所屬會計科目”相同,那么將它的“抵銷標志”標記為“異方相加”,而其他的標記為“非主項目”,以區(qū)分在會計實務中抵銷項目與被抵銷項目的區(qū)別。
2. 拆分分錄的算法流程
算法主要是通過軟件來實現(xiàn),這里詳細分析軟件實現(xiàn)的函數(shù)。
拆分分錄主要涉及憑證從表(pzhcb)、拆分臨時表(chflshb)、多對多臨時表(mmlshb)、憑證拆分表(pzhchfb)、拆分標準表(chfbzhb)。
5個表的邏輯關(guān)系如圖1所示。
原始數(shù)據(jù)存放在憑證從表(pzhcb)中,數(shù)據(jù)的特點是同一個憑證編號(pzhbh)具有多條會計分錄,那么必須將多條會計分錄分解為一借一貸的形式。數(shù)據(jù)從憑證從表(pzhcb)取出,經(jīng)過一系列處理,最終形成標準分錄存放在憑證拆分表(pzhchfb)。
為了實現(xiàn)這個數(shù)據(jù)處理過程,本文設(shè)計了4個函數(shù)#65377;
one_one(a,b)
該函數(shù)處理從當前數(shù)據(jù)表篩選出來的一借一貸的分錄,將其存放在憑證拆分表#65377;參數(shù)a是傳遞當前分析的憑證編號,b是傳遞當前憑證編號為a的數(shù)據(jù)所在的表,該表可以是憑證從表(pzhcb),或者拆分臨時表(chflshb)#65377;例如:one_one("2007040601","pzhcb")#65377;
One_many(a,b,c)
該函數(shù)處理從當前數(shù)據(jù)表篩選出一借多貸或者一貸多借的分錄,將其處理后寫入憑證拆分表#65377;參數(shù)a是傳遞當前分析的憑證編號,b傳遞的是憑證號為a參數(shù)內(nèi)容的憑證中只有一個會計科目的借或貸方,c是傳遞當前憑證憑證編號為a的數(shù)據(jù)所在的表,該表可以是憑證從表(pzhcb),或者拆分臨時表(chflshb)#65377;例如:One_many
("2007040601",‘借’,"chflshb")#65377;
many_many(a,b)
該函數(shù)處理從當前數(shù)據(jù)表篩選出來的并包含可以先行拆分的多借多貸分錄,將這些分錄分解成多個一借多貸或一貸多借的分錄,然后將數(shù)據(jù)傳給one_many(a,b,c)函數(shù)處理,再寫入憑證拆分表#65377;參數(shù)a是傳遞當前分析的憑證編號,b是傳遞當前憑證編號為a的數(shù)據(jù)所在的表,如憑證從表(pzhcb),或者拆分臨時表(chflshb)#65377;例如:many_many(“2007040601”,“chflshb”)#65377;
XH_m_m(a,b)
該函數(shù)處理從當前數(shù)據(jù)表篩選出來的多借多貸分錄,將這些分錄與拆分標準表(chfbzhb)聯(lián)合查詢,篩選出可以先行拆分的分錄,并將其處理后寫入憑證拆分表;如果不存在可先行拆分的分錄,則將數(shù)據(jù)傳送給many_many(a,b)處理#65377;參數(shù)b是傳遞當前分析的憑證編號,a是傳遞當前憑證編號為b的數(shù)據(jù)所在的表,如憑證從表(pzhcb),或者拆分臨時表(chflshb),或者多項拆分臨時表(mmlshb)#65377;例如:XH_m_m(“mmlshb”, “2007040601”)#65377;
整個憑證拆分為標準分錄的算法流程如圖2所示#65377;
3. 案例分析
下面結(jié)合實際數(shù)據(jù)分析圖2的流程及其計算機實現(xiàn)算法#65377;
假設(shè)現(xiàn)有憑證數(shù)據(jù)如表9,這些數(shù)據(jù)存放在憑證從表(pzhcb)中#65377;
對于表9,拆分分錄程序執(zhí)行時,聯(lián)合查詢拆分標準表(chfbzhb)和憑證從表(pzhcb),按照圖2的流程#65377;第一,查詢出憑證編號為2007020201的會計分錄,判斷其分錄數(shù)目,結(jié)果大于2;第二,判斷其借或貸方中會計科目的數(shù)目,在這里貸方會計科目數(shù)目為1,則執(zhí)行one_many(a,b,c)函數(shù);第三,當處理完2007020201這個憑證的所有記錄時,判斷當前表(pzhcb)是否已經(jīng)是最后一條記錄了,在這里為否,則進入下一個記錄繼續(xù)執(zhí)行程序#65377;憑證編號為2007020201的數(shù)據(jù)處理結(jié)果如表10所示#65377;
第二次查詢的憑證的編號為2007040101,依據(jù)圖2的流程進行判斷,經(jīng)判斷可知該憑證的分錄中借或者貸方的分錄數(shù)據(jù)均超過1,因此進入下一判斷事項;與拆分標準表按照pzhcb.kmdm=chfbzhb.kmdm聯(lián)合查詢,查詢的結(jié)果是chfbzhb.zzhdm相同(都是1701)的數(shù)據(jù)有3條(即表9“科目代碼”中的1701,1702,1703),則將憑證從表該憑證編號的所有內(nèi)容復制到多項拆分臨時表(mmlshb),然后執(zhí)行XH_m_m(a,b)函數(shù);執(zhí)行完XH_m_m(a,b)函數(shù)后返回再判斷,與拆分標準表按照pzhcb.kmdm=chfbzhb.kmdm聯(lián)合查詢,查詢的結(jié)果是chfbzhb.zzhdm相同(1701)的數(shù)據(jù)有兩條,繼續(xù)執(zhí)行XH_m_m(a,b),直至查詢結(jié)果小于2,則執(zhí)行函數(shù)many_many(a,b),最終結(jié)果如表10所示#65377;
第三次查詢的憑證編號是2007123104,由于該憑證的分錄中借或者貸方的分錄數(shù)據(jù)均超過1,與拆分標準表按照pzhcb.kmdm=chfbzhb.kmdm聯(lián)合查詢,查詢的結(jié)果是chfbzhb.zzhdm相同(1701)的數(shù)據(jù)有兩條,則執(zhí)行XH_m_m(a,b),直至查詢結(jié)果小于2,則執(zhí)行函數(shù)many_many(a,b),最終結(jié)果如表10所示#65377;
五#65380;結(jié) 論
拆分分錄是會計電算化中的一個非常重要的內(nèi)容,本文通過拆分分錄的原理介紹#65380;數(shù)據(jù)設(shè)計#65380;算法設(shè)計和案例分析實現(xiàn)了會計電算化中關(guān)于編制現(xiàn)金流量表的拆分分錄#65377;
本文介紹的方法及其實現(xiàn)流程,具有較好的理論和使用價值,企業(yè)或者軟件開發(fā)人員可以通過選擇適當?shù)臄?shù)據(jù)庫和界面軟件進行聯(lián)合開發(fā),實現(xiàn)現(xiàn)金流量表會計電算化的分錄拆分,使會計人員免于日常對現(xiàn)金流量表事項進行判斷和標記,這降低了對會計人員的要求,也提高編制的準確性#65377;
主要參考文獻
[1] 中華人民共和國財政部. 企業(yè)會計準則2006[S]. 2006.
[2] 于小鐳,等. 新企業(yè)會計準則實務指南[M]. 北京:機械工業(yè)出版社,2007.
[3] 中國注冊會計師協(xié)會. 會計[M]. 北京:中國財政經(jīng)濟出版社,2007.
[4] 梁玉國. 用友財務軟件編制現(xiàn)金流量表探析[J]. 西南民族大學學報:人文社科版,2003(11): 41-45.
[5] 陳繼初. 利用安易財務軟件編制現(xiàn)金流量表[J]. 中國會計電算化,2003(4):43-44.
[6] 〔美〕 Louis Davidson. SQL Server 2000數(shù)據(jù)庫設(shè)計權(quán)威指南[M]. 鄺勁筠,葉乃文,譯. 北京:中國電力出版社,2003.