◆薛 寧/ 武漢市審計(jì)局
構(gòu)建大數(shù)據(jù)審計(jì)工作模式,數(shù)據(jù)是基礎(chǔ)。現(xiàn)階段,各類電子數(shù)據(jù)的整理工作,尤其是連續(xù)年度財(cái)務(wù)數(shù)據(jù)的采集轉(zhuǎn)換工作仍是難點(diǎn)。筆者以金蝶K3 財(cái)務(wù)軟件為例,創(chuàng)新思路,在MS SQL Server環(huán)境中手工分析整理數(shù)據(jù),探索歸并采集連續(xù)年度財(cái)務(wù)數(shù)據(jù)的新方法,突破AO 中效率低下的多套數(shù)據(jù)合并功能的束縛,減少工作量、提高數(shù)據(jù)處理效率。
連續(xù)年度財(cái)務(wù)數(shù)據(jù)歸并采集的對象是同一單位相同賬簿連續(xù)年度的數(shù)據(jù),歸并采集的本質(zhì)是一次完成多個年度的數(shù)據(jù)處理。
審計(jì)人員在AO多套數(shù)據(jù)合并功能的基礎(chǔ)上,總結(jié)出如下思路:分解處理邏輯后重新組合(詳見圖1)——將使用AO 多套數(shù)據(jù)合并功能時“分次導(dǎo)入單個年度賬套數(shù)據(jù)后再合并滿足條件的連續(xù)年度賬套”的步驟,重組為“檢驗(yàn)條件后歸并采集連續(xù)年度賬套并導(dǎo)入”。用正則表達(dá)式(Regular Expression)描述就是由“整理→(分離→采集→導(dǎo)入)+→檢驗(yàn)→合并”的復(fù)雜模式,轉(zhuǎn)變?yōu)椤罢怼鷻z驗(yàn)→采集→導(dǎo)入”的簡單模式。模式變化的關(guān)鍵在于將AO中多套數(shù)據(jù)合并功能中多次的分離、采集導(dǎo)入操作,改為一次完成分離、導(dǎo)入,將人工處理改為腳本執(zhí)行,大大提高財(cái)務(wù)數(shù)據(jù)采集轉(zhuǎn)換效率。
AO2011 的菜單項(xiàng)“審計(jì)分析-賬表分析-多套數(shù)據(jù)審查”下面的菜單項(xiàng),分別提供以下功能:
1.合并前的檢查與調(diào)整
內(nèi)容一致性:檢查待合并的多個賬套數(shù)據(jù)之間,科目、輔助核算項(xiàng)是否一致。如果不一致,需手工調(diào)整,以確保多個數(shù)據(jù)的內(nèi)容一致性。調(diào)整界面分別由“科目變更檢查及調(diào)整”、“輔助核算項(xiàng)變更檢查及調(diào)整”菜單進(jìn)入。
余額的連續(xù)性:檢查前一年度科目或輔助核算項(xiàng)的期末余額,是否等于下一年度同樣科目或輔助核算項(xiàng)的期初余額,即余額保持連續(xù)性。如果不連續(xù),則需要手工進(jìn)行調(diào)整。調(diào)整界面分別由“科目余額檢查及調(diào)整”、“輔助核算項(xiàng)余額檢查及調(diào)整”菜單進(jìn)入。
圖1 采集流程對比
2.多年數(shù)據(jù)的合并處理
通過內(nèi)容一致性及余額連續(xù)性的檢查后,把多年財(cái)務(wù)數(shù)據(jù)內(nèi)容“整合”為新的賬套數(shù)據(jù)。處理界面由“多套數(shù)據(jù)合并”菜單進(jìn)入。合并后的單個賬套數(shù)據(jù)包含多年度財(cái)務(wù)數(shù)據(jù),保證了數(shù)據(jù)的完整性。
以同一單位2014、2015兩個連續(xù)年度財(cái)務(wù)賬套為例,使用“多套數(shù)據(jù)合并”功能合并得到新的賬套。通過比較新賬套與合并前賬套發(fā)現(xiàn):
1.會計(jì)期間合并兩個年度,會計(jì)年份定為第一個年度——2014,會計(jì)月份擴(kuò)充至24 個,前12 個與第一個年度會計(jì)期間相同,第13 個月份對應(yīng)第二年度的1月,后續(xù)以此類推。
2.會計(jì)科目、輔助核算項(xiàng)未發(fā)生變化。
3.會計(jì)科目、輔助核算項(xiàng)的期初余額為第一個年度——2014年的期初余額。
4.憑證表合并兩個年度的憑證,會計(jì)年份定位第一個年度——2014,會計(jì)月份擴(kuò)充至24個,與會計(jì)期間的變化一致。
AO 合并處理多年度數(shù)據(jù)的方式,為數(shù)據(jù)歸并處理指明了方向:
1.內(nèi)容一致性與余額連續(xù)性的檢查。
2.一個涵蓋多年度的會計(jì)期間——會計(jì)年份為首個年度,會計(jì)月份依次遞增,直至覆蓋全部時段。
3.一個包括多年度憑證信息的憑證表——將多年度的憑證記錄合并(或視為)為單個憑證表,擴(kuò)展會計(jì)期間。
滿足了這三個條件,我們就可以把多個年度的財(cái)務(wù)數(shù)據(jù)整理在一起,作為一套“原始”數(shù)據(jù),導(dǎo)入AO 建立電子賬套。知曉數(shù)據(jù)的處理細(xì)節(jié)與變化后,順其道而用之:“欺騙”AO使其以單年度的方式處理歸并整理后的多年度數(shù)據(jù),生成等同于“多套數(shù)據(jù)合并”產(chǎn)生的單套多年度電子數(shù)據(jù)。
按照常規(guī)處理財(cái)務(wù)數(shù)據(jù)的經(jīng)驗(yàn),結(jié)合對金蝶K3 財(cái)務(wù)軟件數(shù)據(jù)關(guān)系的理解,分析、整理出財(cái)務(wù)基礎(chǔ)數(shù)據(jù)(多個年度),包括科目信息、輔助項(xiàng)信息、科目余額、輔助項(xiàng)余額、憑證信息、輔助憑證信息。原則上,科目信息、輔助項(xiàng)信息分別是連續(xù)多個年度科目、輔助項(xiàng)的并集,刪除重復(fù)項(xiàng)。若存在編碼相同但名稱不同的沖突,要人為判斷后進(jìn)行選擇,保證一個(類)編碼至少出現(xiàn)一次;科目余額、輔助項(xiàng)余額只需要首個年度的期初金額信息;憑證信息、輔助憑證信息分別是連續(xù)多個年度的憑證、輔助憑證數(shù)據(jù)的并集。
由AO中多套數(shù)據(jù)的合并原理得知,多套連續(xù)年度財(cái)務(wù)數(shù)據(jù)合并的一個關(guān)鍵內(nèi)容是會計(jì)期間的擴(kuò)展。擴(kuò)展會計(jì)期間比較簡單,即將會計(jì)年份固定為首個年度,會計(jì)月份按照時間排序,從1(或者建賬月份)開始進(jìn)行遞增值為1的順序編號。
圖2 腳本擴(kuò)展會計(jì)期間的流程
對于時間跨度較少的情況,可以采取手動逐月擴(kuò)展會計(jì)期間的方式。選擇步驟“生成財(cái)務(wù)數(shù)據(jù)臨時表的定義會計(jì)期間”,或者選擇步驟“會計(jì)期間及科目調(diào)整的檢查調(diào)整會計(jì)期間定義”,這兩個處理點(diǎn)都有輔助界面完成會計(jì)期間的擴(kuò)展。
對于時間跨度較大的情況,可以使用腳本擴(kuò)展會計(jì)期間,保存至中間表中備用。其實(shí)現(xiàn)算法如圖2 所示,其處理時機(jī)與方法將在下文“AO 中的采集實(shí)現(xiàn)”中單獨(dú)論述。
內(nèi)容一致性檢查:金蝶K3 的多年度財(cái)務(wù)數(shù)據(jù)使用的是相同的科目和輔助信息,故不存在內(nèi)容不一致的情況。對于其他財(cái)務(wù)軟件,科目信息、輔助項(xiàng)信息是多個年度數(shù)據(jù)的并集,要從集合的角度證明這兩個信息整理后的多年度數(shù)據(jù)滿足內(nèi)容一致性的要求,檢查是否存在相同編號不同名稱的沖突記錄,若存在,則需人工處理,確保相同編號對應(yīng)一個名稱,若無法處理沖突記錄,則不能進(jìn)行后續(xù)歸并處理。
余額連續(xù)性檢查:只采集首個年度的科目余額、輔助項(xiàng)余額,后續(xù)會計(jì)月份的余額均由前一月份的期初余額、發(fā)生額迭代計(jì)算而得到。
憑證完整性檢查:多年度憑證數(shù)據(jù)的并集。前兩個檢查說明科目、輔助項(xiàng)及二者的期初余額可以覆蓋多個年度的信息,整理后的憑證、輔助憑證要包含多個年度的全部記錄,否則科目余額雖具備連續(xù)性,但結(jié)果與實(shí)際不符。
這三項(xiàng)檢查是保證整理后的單套數(shù)據(jù)包含原始連續(xù)年度一致、連續(xù)、完整財(cái)務(wù)信息必要但不充分條件。要想成為充分條件,必須正確理解數(shù)據(jù)及數(shù)據(jù)關(guān)系。
AO 中手動采集數(shù)據(jù)大致分為采集數(shù)據(jù)、生成財(cái)務(wù)數(shù)據(jù)臨時表、會計(jì)期間及科目調(diào)整、常規(guī)數(shù)據(jù)整理及賬表重建等5 個步驟,每個步驟中還分若干子步驟。具體操作可以參考AO2011 的幫助或《使用手冊》。為了實(shí)現(xiàn)歸并操作進(jìn)行的附加處理如下。
1.附加處理的時機(jī)選擇
理論上,“生成財(cái)務(wù)數(shù)據(jù)臨時表”完成之后,“賬表重建”操作之前均可作為附加處理的執(zhí)行點(diǎn)。實(shí)際處理過程中,應(yīng)在“生成財(cái)務(wù)數(shù)據(jù)臨時表”完成之后即刻開始附加處理,以便在“會計(jì)期間及科目調(diào)整”、“常規(guī)數(shù)據(jù)整理”等步驟中對特殊處理后的AO數(shù)據(jù)進(jìn)行核對。
2.附加處理的內(nèi)容
第一步:獲取本項(xiàng)目所在數(shù)據(jù)庫的相關(guān)信息及所用電子數(shù)據(jù)相關(guān)信息。
第二步:腳本擴(kuò)展會計(jì)期間的中間表數(shù)據(jù)的處理。組合會計(jì)期間中間表、所在數(shù)據(jù)庫相關(guān)信息及所屬電子數(shù)據(jù)相關(guān)信息,把從第13個會計(jì)月份開始的記錄insert 到AO 項(xiàng)目所在財(cái)務(wù)數(shù)據(jù)庫的會計(jì)期間表中,實(shí)現(xiàn)AO 中電子數(shù)據(jù)會計(jì)期間的擴(kuò)張,為賬表重建做好準(zhǔn)備。
第三步:科目期初余額無數(shù)據(jù)的操作。使用自制模板或AO采集向?qū)Р杉^程中,若采集的科目余額表中無記錄,則在賬表重建過程中會報余額表錯誤而終止后續(xù)處理。解決這個問題的方法,就是向AO 項(xiàng)目所在財(cái)務(wù)數(shù)據(jù)庫的科目余額表中添加一條末級科目余額為0的記錄,即可“治愈”AO,順利完成賬表重建。
在附加處理之后,即可在“會計(jì)期間及科目調(diào)整”步驟中看到擴(kuò)展后的會計(jì)期間,若之前科目余額表為空,則還可以看到余額為0 的科目余額信息。核對之后,直接點(diǎn)擊“賬表重建”,AO就會根據(jù)前面的整體操作建立電子數(shù)據(jù)。