[易飛]關於應付賬款明細帳餘額餘總賬不平解決方案

[摘要]2020年3月財務部反饋應付賬款明細賬與應付餘額,與總賬不平衡。嚴重質疑是IT部於2018年11月底升級服務器&數據切割造成的。要求IT必須解決且負全責!

[回顧]因服務器服役年限到期且數據量“較大”,財務部月結計算速度過慢,決定2018年11月24號進行服務器遷移同時數據切割(2013年12月31號)。考慮到可能存在的風險總賬與應收子系統不處理。只處理應付子系統與分錄子系統,同時讓財務確認。

[確認問題]

  1. 還原數據後仍然存在異常,即使重新應付之後還是存在差異
  2. 數據切割前數據本身也存在差異,且與現有最新數據一致
  3. 抽樣針對切割前沒有交易,如17年後纔有交易對象,差異也存在
  4. 財務部一直未對應付賬款明細帳或餘額表 與總賬覈對,應收除外。之前也存在差異,但是一直未要求此部分賬務一致性。
  5. 賬齡分析表與總賬一致但與應付賬款明細帳餘額表不一致部分,差異原因還在分析中.
    綜合以上基本確定和數據切割無關係。

財務部硬核答覆:

(1)一一反擊

在這裏插入圖片描述

(2)2019年4月畢馬威審計時應付賬齡分析與總賬是一致的。

[恢復數據]

新建測試賬套TEST&切割前賬套[ZE2018]:
在這裏插入圖片描述
ACP:

USE [TEST]
--TEST:測試賬套 2018ZE:切割前賬套數據
---採購發票
--DELETE FROM ACPTA WHERE TA003<='20131231'
--DELETE FROM ACPTB WHERE TB001+TB002 NOT IN (SELECT TA001+TA002 FROM ACPTA)
INSERT INTO TEST.dbo.ACPTA
SELECT * FROM  [2018ZE].dbo.ACPTA WHERE TA003<='20131231' AND TA001+TA002 NOT IN ('7102131215038','7102131115036') 
INSERT INTO TEST.dbo.ACPTB
SELECT * FROM [2018ZE].dbo.ACPTB WHERE TB001+TB002  IN (SELECT TA001+TA002 FROM [2018ZE].dbo.ACPTA WHERE TA003<='20131231' AND TA001+TA002 NOT IN ('7102131215038','7102131115036'))

-----供應商每月統計
--DELETE FROM ACPTE WHERE TE002<='201311'
--DELETE FROM ACPTF WHERE TF002<='201311'
INSERT INTO TEST.dbo.ACPTE
SELECT * FROM  [2018ZE].dbo.ACPTE WHERE TE002<='201311'
INSERT INTO TEST.dbo.ACPTF
SELECT * FROM  [2018ZE].dbo.ACPTF WHERE TF002<='201311'
-----其他應付
--DELETE FROM ACPTI WHERE TI003 <='20131231'
--DELETE FROM ACPTJ WHERE TJ001+TJ002 NOT IN (SELECT TI001+TI002 FROM ACPTI)
INSERT INTO TEST.dbo.ACPTI
SELECT * FROM  [2018ZE].dbo.ACPTI WHERE TI003<='201311'

INSERT INTO TEST.dbo.ACPTJ
SELECT * FROM  [2018ZE].dbo.ACPTJ WHERE TJ001+TJ002  IN (SELECT TI001+TI002 FROM [2018ZE].dbo.ACPTI WHERE TI003<='201311')
-----付款單
--DELETE FROM ACPTK WHERE TK003<='20131231'
--DELETE FROM ACPTL WHERE TL001+TL002 NOT IN (SELECT TK001+TK002 FROM ACPTK)
INSERT INTO TEST.dbo.ACPTK
SELECT * FROM  [2018ZE].dbo.ACPTK WHERE TK003<='20131231'
INSERT INTO TEST.dbo.ACPTL
SELECT * FROM [2018ZE].dbo.ACPTL WHERE TL001+TL002  IN (SELECT TK001+TK002 FROM [2018ZE].dbo.ACPTK WHERE TK003<='20131231')
-----費用結算
--DELETE FROM ACPTM WHERE TM003<='20131231'
--DELETE FROM ACPTN WHERE TN001+TN002 NOT IN (SELECT TM001+TM002 FROM ACPTM)
--DELETE FROM ACPTO WHERE TO001+TO002 NOT IN (SELECT TM001+TM002 FROM ACPTM)
INSERT INTO TEST.dbo.ACPTM
SELECT * FROM  [2018ZE].dbo.ACPTM WHERE  TM003<='20131231'
INSERT INTO TEST.dbo.ACPTN
SELECT * FROM [2018ZE].dbo.ACPTN WHERE TN001+TN002  IN (SELECT TM001+TM002 FROM [2018ZE].dbo.ACPTM WHERE  TM003<='20131231')
INSERT INTO TEST.dbo.ACPTO
SELECT * FROM  [2018ZE].dbo.ACPTO WHERE TO001+TO002  IN (SELECT TM001+TM002 FROM [2018ZE].dbo.ACPTM WHERE  TM003<='20131231' )

-----暫估
--DELETE FROM ACPTP WHERE TP003<='20131231'
--DELETE FROM ACPTQ WHERE TQ001+TQ002 NOT IN (SELECT TP001+TP002 FROM ACPTP)
INSERT INTO TEST.dbo.ACPTP
SELECT * FROM  [2018ZE].dbo.ACPTP WHERE  TP003<='20131231'
INSERT INTO TEST.dbo.ACPTQ
SELECT * FROM [2018ZE].dbo.ACPTQ WHERE TQ001+TQ002  IN (SELECT TP001+TP002 FROM [2018ZE].dbo.ACPTP WHERE  TP003<='20131231')
-----應付異動
--DELETE FROM ACPLB WHERE LB020<='20131231'
INSERT INTO TEST.dbo.ACPLB
SELECT * FROM  [2018ZE].dbo.ACPLB WHERE LB020<='20131231' AND LB002+LB003 NOT IN ('7102131215038','7102131115036')
-----覈銷
--DELETE FROM ACPLC WHERE LC029<='20131231'
INSERT INTO TEST.dbo.ACPLC
SELECT * FROM  [2018ZE].dbo.ACPLC WHERE LC029<='20131231'
-----調匯
--DELETE FROM ACPLD WHERE LD003<='20131231'
--DELETE FROM ACPLE WHERE LE001+LE002 NOT IN (SELECT LD001+LD002 FROM ACPLD)
INSERT INTO TEST.dbo.ACPLD
SELECT * FROM  [2018ZE].dbo.ACPLD WHERE LD003<='20131231'
INSERT INTO TEST.dbo.ACPLE
SELECT * FROM [2018ZE].dbo.ACPLE WHERE LE001+LE002  IN (SELECT LD001+LD002 FROM [2018ZE].dbo.ACPLD WHERE LD003<='20131231')

select object_name(id) as tablename,reserved----查詢各個表大小
 from sys.sysindexes
 where indid in (0,1)
 order by reserved desc

AJS:

-----分錄底稿
--DELETE FROM AJSTA WHERE TA006<='20131231' 
--DELETE FROM AJSTB WHERE TB001+TB002 NOT IN (SELECT TA001+TA002 FROM AJSTA)
--DELETE FROM AJSLA WHERE LA001+LA002 NOT IN (SELECT TA001+TA002 FROM AJSTA)
--DELETE FROM AJSLB WHERE LB001+LB002 NOT IN (SELECT TA001+TA002 FROM AJSTA)

INSERT INTO TEST.dbo.AJSTA
SELECT * FROM  [ZE2018].dbo.AJSTA WHERE TA006<='20131231' 
INSERT INTO TEST.dbo.AJSTB
SELECT * FROM [ZE2018].dbo.AJSTB WHERE TB001+TB002  IN (SELECT TA001+TA002 FROM [ZE2018].dbo.AJSTA WHERE TA006<='20131231' )
INSERT INTO TEST.dbo.AJSLA
SELECT * FROM [ZE2018].dbo.AJSLA WHERE LA001+LA002  IN (SELECT TA001+TA002 FROM [ZE2018].dbo.AJSTA WHERE TA006<='20131231'  )
INSERT INTO TEST.dbo.AJSLB
SELECT * FROM  [ZE2018].dbo.AJSLB WHERE LB001+LB002  IN (SELECT TA001+TA002 FROM [ZE2018].dbo.AJSTA WHERE TA006<='20131231' )

----DELETE FROM AJSLA WHERE LC001+LC002 NOT IN (SELECT TA001+TA002 FROM AJSTA)


還原數據後校驗

財務比對差異還是存在大量差異幾乎沒有變化?
考慮到應付賬款餘額表應該是取應付對象月檔數據,建議:
(1)重計每月統計賬款。結果沒有效果?
抽樣異常供應商查看月檔:
在這裏插入圖片描述
在這裏插入圖片描述
(2)重新生成應付對象賬款交易
在這裏插入圖片描述
重計後月檔從開賬到現在基本每月都有記錄無論當期是否有交易。(如果當期供應商被禁用可能造成缺失),因爲歷史交易太多,重計時間教長。

找到問題點:所有供應商全部重計,服務器後臺作業處理:
在這裏插入圖片描述
在這裏插入圖片描述

[重計後確認]

重新計算完畢後,讓財務進行應付明細賬款/餘額表與總賬再次確認差異。
差異部分減少50%,剩餘大概70筆異常,80%供應商爲禁止交易。
報告財務負責人:風險暫時解除。

[正式處理前注意事項]

  1. 讓財務確認測試賬套還原且重計算之後,總賬數據是否有異動。(務必保證不變)
  2. 正式還原前數據前,務必做好數據備份,以防萬一。
  3. 數據切割可能存在還原異常問題,先查詢是否切割時間點前還存在單據(還真有)
  4. 數據還原後同步進行生成應付對象賬款交易,我司在2020年1月啓用項目號管理。還需要執行更新項目號批次作業。
  5. 重計後讓財務確認總賬數據是否一致。(務必在現場,防止後續扯皮)

[建議財務處理]

  1. 查明原因自行在前端處理:(千萬別答應後臺處理)
  2. 總體原則:抓大放小:差異在0.02元以內,暫時忽略或者直接賬。
    2.1 若確定明細帳正確, 總賬異常,則直接切憑證。
    2.2 若確定應付子系統異常,總賬正確
    一般調子系統就只能說是,增加金額做藍字發票,減少金額做紅字發票
    發票來源其他,錄入進去後審覈就生效了,審覈時間點就是調整的時間點,後續需要做的操作是後臺修改該發票的生成分錄碼爲Y,修改覈銷狀態爲3:已覈銷
    2.3 若無法查明原因,請示領導。結合供應商是否允許交易以及差異金額大小。單獨處理!
  3. 每月務必及時對總賬與子系統明細帳,及時發現問題及時解決問題。

總結:

  1. 數據切割原則上不做,即使要做切割採用重新開賬方式進行,若必須切割,則只切割物流體系相關單據,財務數據原則上一律不動,若必須,簽字畫押。
  2. 數據備份:本次查找切割前備份數據,居然被人從服務器上刪除。萬幸當時留意下本機保存一份。
  3. 建立測試環境:數據庫後臺作業存在風險,任何人都可能犯錯。

寫在最後:
加班財務同事溜了,週五約會?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章