第350章 一億兩千萬條數據!德勤的秘密標記!

投票推薦 加入書籤 小說報錯

  2004年四月二十八號。周三。

  早上七點半,林遠到工作室的時候,趙強已經在工位上了。屏幕上密密麻麻的數據流正在滾動。

  "數據來了。凌晨兩點發的郵件。"趙強頭也不抬,"壓縮包三個G,解壓後大概十五到二十G。韓委員那邊轉發的,附了說明文檔。"

  林遠放下背包,湊過去看文件索引。

  "審計底稿七千二百份,時間跨度一九九九到二零零三,五個財年。準則覆蓋——"他眯了眯眼,"中國獨立審計準則、國際審計準則、國際財報準則、US GAAP。四個標準。"

  韓委員說的只有兩個標準,實際給了四個。這信息量比預期的大得多。

  "這家企業有海外子公司。"趙強翻到附加文件清單,"國內三家全資子公司,海外兩家合資——一家在香港,一家在開曼。不同法域用不同準則編制報表,合併的時候再統一調整為國際財報準則。"

  "所以衝突可能出現在三個層面。"林遠掰著手指,"子公司自身報表層面、合併調整層面、最終合併報表層面。三個層次疊在一起,複雜度是指數級的。"

  趙強敲了幾下鍵盤,算出總數。"按每份底稿均值估算,審計對象總量大約一億兩千萬條。"

  一億兩千萬。

  上次集成測試的數據量是兩千零三萬。這次是六倍。而且那是乾淨的測試數據,這是真實生產環境的審計底稿——格式混亂、欄位缺失、數據冗餘,什麼髒數據都可能存在。

  林遠深吸一口氣,在腦子裡快速過了一遍引擎的處理流程。數據預處理層是第一道關卡——如果預處理做不好,後面審計引擎跑出來的結果全廢。

  "先搭預處理框架。"林遠拉過白板,拿起馬克筆,"格式標準化、數據清洗、準則歸屬標記、完整性校驗——四層流水線。今天打通前兩層,明天跑後兩層,後天正式盲測。"

  上午九點,全員就位。

  白板上畫出了完整的數據預處理流程圖。王晨負責格式轉換模塊,張浩然和周凱負責數據清洗管線,李哲做準則歸屬的映射邏輯。趙強統籌全局,同時盯每條管線的進度。

  林遠先讓小艾分析DAF格式的結構特徵。

  "DAF基於XBRL 2.0標準,擴展了約15%的自定義欄位。"小艾很快在腦海里給出分析結果,"主要集中在三個區域:合併抵消分錄的層級標記、跨境子公司準則映射表、審計師判斷備註。"

  "判斷備註是自由文本還是結構化數據?"林遠在心裡追問。

  "自由文本。格式不統一,不能直接參與衝突檢測。"小艾在腦海里答道。

  "先不管,單獨存一份。後面如果要做文本分析再考慮。"林遠開口對趙強等人說。

  趙強花四十分鐘把七千二百份底稿的文件頭全部掃了一遍,結果讓他皺起了眉。

  "問題不少。"他說,"日期格式混亂——大約八百多份底稿的日期格式不統一。二零零一年的老數據,那時候DAF標準還沒完全統一。有的用DD/MM/YYYY,有的MM-DD-YYYY,還有少數用了中文日期格式。"

  "寫多格式解析器。"林遠說,"正則匹配加優先級排序,自動識別。YYYY-MM-DD優先,然後DD/MM/YYYY,再MM-DD-YYYY。識別不了的fallback到人工標記隊列,今晚集中處理。"

  "中文日期呢?"

  "單獨寫規則。正則匹配'二零零一年三月十五日'這種格式,轉換成標準日期。工作量不大但容易出錯——月份有中文和阿拉伯數字混用的情況。"

  "金額欄位呢?"

  "統一轉ISO代碼。'HK'→USD,'€'→EUR。"

  趙強記下這些,繼續翻分析結果。"還有千分位問題——有的底稿金額寫'1,234,567.89',有的寫'1234567.89',還有極少數寫'1 234 567.89'用空格分隔的。"

  "全部去掉千分位分隔符,統一成純數字格式。"

  【記住本站域名看書就上 TW 看書網,精彩盡在𝐬𝐡𝐮.𝐭𝐰】

  "還有一類——金額為空。"

  "空值怎麼區分?"

  "兩種情況。"趙強說,"一種是整張底稿幾乎都空——大概率是新設子公司還沒正式運營,屬於結構性空值。另一種是其他欄位都有數據,只有某個特定欄位空了——可能是審計師漏填。"

  "那就分兩類標記。結構性空值標'不適用',異常空值標'待補充'。引擎檢測的時候,對前者直接跳過,對後者標記為數據質量問題,不納入衝突統計。"

  蘇明遠買了盒飯回來,看著白板上越列越長的異常清單,嘆了口氣。"這才一上午,就冒出四五個坑。"

  "韓委員說得對——真實數據就是泥潭。"林遠扒了一口飯,"但這才是真正考驗引擎魯棒性的時候。測試數據再大也是乾淨的,實戰才是試金石。"

  "時間夠嗎?"蘇明遠問。

  "原定明天跑盲測。今天一天搞不定預處理——至少需要兩天。框架搭建加調試一天,明天跑通全量數據驗證,後天正式盲測。"

  "時間表要後移一天了。2004年四月三十號跑盲測,2004年五月一號出結果。"

  "對,我去跟韓委員說一聲。"

  下午兩點,林遠給韓委員打了電話。

  韓委員聽完匯報,沉吟了幾秒。"延期一天可以。但2004年五月一號中午十二點之前,我必須看到結果。不管是終版報告還是中間結果——我要有東西可以提前發給Morrison。"

  "明白。"

  "另外提醒你一件事。"韓委員的聲音低了下來,"Hayes不知道你們在做盲測。這是他單方面提出的要求,Morrison也是事後才告訴我的。2004年五月十二號演示的時候,他大概率會帶著審計師的原始結論,現場逐條對照你們的結果。"

  林遠沉默了一秒。

  "也就是說,演示現場就是盲測的揭曉時刻。"

  "對。他會在場,會當場比對。"

  林遠反而笑了。"這倒是好事。"

  "怎麼說?"

  "如果他手裡有報告,演示的時候他可以直接對照。我們的引擎找到四十七組,他的審計師也找到四十七組——當場驗證,比事後看報告更有衝擊力。"

  韓委員笑了一聲。"你倒是會借力。"

  "借力的前提是——引擎真的能找到。"

  "好。那就看你後天的了。"

  掛了電話,林遠回到工位。

  "剛接到消息——演示當天,Hayes會拿著德勤審計師的原始結論,現場逐條比對。誤差容忍度基本為零。"

  趙強抬頭看了他一眼。"壓力更大了。"

  "不。"林遠說,"目標沒變——不是通過盲測,是超越。"

  晚上八點。

  格式標準化基本完成,第一版預處理管線跑通。趙強在最後跑完整性校驗的時候,突然停住了。

  "有點意思。"

  "什麼?"

  "合併抵消分錄裡面,有大約三百條記錄被標記為'已審核'。"

  "審計師標的?"

  "不像。"趙強點開一條記錄的詳情,把屏幕轉向林遠,"你看——標記格式不是DAF的標準欄位,是後期追加的擴展欄位。時間戳顯示二零零三年十月——比底稿的創建時間晚了整整兩年。而且標記方式完全統一,像是批量操作。"

  林遠眯起眼睛。"沒有署名?"

  "沒有。DAF標準欄位里沒有操作者記錄。但這個擴展欄位的命名很規範——'INTERNALREVIEWFLAG'。不是隨手加的。"

  "像某個腳本自動打的標記。"

  "對。而且只標記了合併抵消分錄這一類——其他類型的底稿都沒有。"

  兩個人對視了一眼。

  審計完成後兩年,有人用腳本專門針對合併抵消分錄做了一次系統性的複查。這不是常規審計流程——常規審計在出報告的時候就結束了。這是額外的操作,是審計之後的"第二遍"。

  "德勤對這批合併抵消分錄不放心。"林遠說。

  "不放心就意味著有問題。"趙強說。

  "把這三百條單獨標出來。盲測的時候,重點跑這批數據。"

  "如果引擎找到了德勤工具沒發現的問題呢?"

  林遠笑了。"那就不是通過盲測——是揭底牌了。"

  趙強嘴角動了一下——這是他為數不多的表情變化。

  王晨走過來。"格式標準化完成了。下一步?"

  "欄位映射。"林遠說,"DAF的Schema文檔在壓縮包根目錄——你打開,把自定義欄位和標準欄位一一對應。"

  "好。"

  林遠走到白板前,在時間表最下面寫下兩個字:

  盲測。


章節目錄