日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

20年IT老兵分享:账务系统设计及应用--转

發布時間:2025/4/5 windows 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 20年IT老兵分享:账务系统设计及应用--转 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文地址:https://yq.aliyun.com/articles/54656

本次分享的主題是“帳務系統設計及其在電商的應用”,主要介紹復式記賬方法,以及其在電商中的應用。

本次分享的基本內容為:

  • 背景介紹
  • 復式記賬法
  • 帳務系統基本要素
  • 在電商平臺的應用

首先申明一下,這一塊并不是定位于專業的財務系統而談的,我本人也沒有專業的財務知識和相關工作經驗。但是很多的業務系統、電商系統都涉及到資金的結算問題,而且這一塊往往也是業務中最為復雜的一塊,大部分的技術人員并不懂財務知識,往往采用一些類似于”收付記賬“的思路,來記錄資金的變化,往往會越往后走,系統越來越復雜,而且資金之間的關系也會越來越混亂,賬算不清楚,也會帶來財務安全方面的很多問題。我之前有過銀行核心系統建設的一些經驗,感覺將這一塊的思路應用在非財務系統中,可以化繁為簡、以靜制動,管好錢和賬,往往能夠起到很神奇的效果。

比如說對快塑網,我們的訂單就涉及到復雜的資金結算關系,由于是大宗商品,客單價很高,線下的業務流程比較復雜,收付款一塊的復雜度是很高的,傳統的方式,是收付款在獨立的財務系統中解決,但這樣,又難以和運營流程很好的結合起來。我們之前就是采用類似于”收付記賬“的方法,簡單的紀錄收付款流水,這種方式隨著業務的變化、以及運營的精細化,越來越難移滿足要求。舉個簡單的例子,單單訂單收款流水,就要考慮到不同的收款渠道(銀行轉賬、資金帳戶、金融貸款、預收款)、收款用途(保證金、貨款、運費、違約金)。
在其次,我們需要在內部對訂單進行精細化的核算,區分訂單內的貨物毛利、物流毛利、金融毛利,而每一項毛利又需要核算采購端、銷售端的比例。而且這個是一個不斷變化的過程,隨著不同的訂單的收款時間、付款時間、收款方式、付款方式、訂單的履約情況而變化,想想,要把這么多財務數據核算清楚,采用傳統的“業務流水”是一件非常困難,乃至不可能的任務。

在其次,我們需要在內部對訂單進行精細化的核算,區分訂單內的貨物毛利、物流毛利、金融毛利,而每一項毛利又需要核算采購端、銷售端的比例。而且這個是一個不斷變化的過程,隨著不同的訂單的收款時間、付款時間、收款方式、付款方式、訂單的履約情況而變化,想想,要把這么多財務數據核算清楚,采用傳統的“業務流水”是一件非常困難,乃至不可能的任務。

其實,剛才說的這些問題,在專業的財務系統中可能并不是一個很大的問題。其實,傳統的財務系統,也是采用“收付”記賬法的方式進行的,有些類似于我們搞一個Excel,很簡單的幾列: 時間、 收款金額、付款金額、用途,等等。但這種方式很難以解決企業運作中復雜的資金關系,因此,現在已經廢棄掉了。現在的財務系統,都是采用“復式記賬”的方式。

程序員一般都不懂會計知識,不過,我建議大家都做一些了解。會計知識不僅可以應用于我們的軟件設計,而且也可以幫助我們去閱讀一個公司的財報,順便做一點“價值投資”的事情,說不定賺的比工程師要多很多呢。:)?

復式記賬法的核心思想是會計恒等式:資產 = 負債 + 所有者權益。這個也是所有的企業財務報表的核心。 銀行帳戶資金、應收款、預收款、固定資產(電腦、辦公桌椅)等都屬于資產,短期借款、應付款、預售款等都是負債,而公積金、未分配利潤、實收資本等等屬于所有這權益。 一般的,在業務運營類系統中,不太會涉及到所有者權益這一類的帳戶。

復式記賬法的核心思想是會計恒等式:資產 = 負債 + 所有者權益。這個也是所有的企業財務報表的核心。 銀行帳戶資金、應收款、預收款、固定資產(電腦、辦公桌椅)等都屬于資產,短期借款、應付款、預售款等都是負債,而公積金、未分配利潤、實收資本等等屬于所有這權益。 一般的,在業務運營類系統中,不太會涉及到所有者權益這一類的帳戶。

作為會計恒等式的一個擴展:資產 + 支出(費用)= 負債 + 所有者權益 + 收入(收益),收入、支出這兩類帳戶是企業運作過程中的最為常見的業務,比如銷售收入、采購支出、費用補貼、利息收入、利息支出等等。收入類帳戶的性質與負債類相似,是在等式的右邊。支出類帳戶的性質與資產類相似,是在等式的左邊。

對于初次接觸會計知識的同學,這些是非常繞口的。收入為什么和負債在一起,明明收入構成了我的資產啊,而費用怎么又與資產在一起,明明費用是我的”負債“啊?這些,是很難解釋清楚的。建議,初次接觸會計知識的同學,千萬不要糾結于這些”繞口“的概念,大不了把帳戶結構明確打印出來,照單接收,不理解也不要糾結。

按照會計等式,任何一項經濟業務都會引起資產與權益之間至少兩個項目發生增減變動,而且增減變動的金額相等。因此對每一筆經濟業務的發生,都可以以相等的金額在兩個或兩個相關賬戶中作等額雙重記錄。這種記賬如實反映了經濟事物的客觀聯系,是一種科學的記賬方法。其實,在“收付”記賬中,我們已經隱含了這個因素,我們會補充紀錄一下本次收付款的“用途”,其實,也就是描述對方的一些性質。知識,復式記賬法把這一塊標準化了,是對“收付記賬”的一次科學的升級。

對帳戶的變更記錄有2種:借記、貸記。對不同性質的帳戶(也可以稱呼為會計科目),定義是不一樣的。比如資產類帳戶,例如存款,會導致帳戶余額增加,我們稱之為“借記”,如果是取款,會導致帳戶余額減少,我們稱之為“貸記”,而對負債類帳戶,比如收到預付款,會導致余額增加,我們稱之為“貸記”,而歸還預付款或者使用預付款,會導致余額減少,我們稱之為“借記”,這個可以參考上述的表格。

再次“友情提示”,為什么銀行存款增加是“借記”,我們根本沒有借款啊?大家千萬不要糾結于這個字眼,此借非彼借。如果搞不懂,直接查查表,千萬別糾字眼。

這里介紹一下帳務系統的一些基本概念。這些概念也只是我們之前在銀行核心系統中的一些約定,并不代表是”行業標準“。

關于“帳戶”,會計帳戶,也稱之為“會計科目”,另外,我們還會有業務帳戶,比如對”預收款“,我們會對每一個客戶設立一個業務帳戶。這兩個帳戶是在兩個不同的體系中的,一個是會計層面,一個是業務層面,但又有相關性:會計帳戶一般是對應的”業務帳戶“的匯總。我們也把”業務帳戶“稱之為”分戶賬“。

有兩種記賬的模式,一種是直接操作“科目”,對其進行借記、貸記,這種方式會記錄會計記賬流水,同時更新客戶的余額。另外一種是只操作業務帳戶,比如存款、取款等操作,只修改分戶賬,記錄業務流水。而定時的(比如在每天日結時),對當天的業務流水進行批量處理,再記錄會計流水、更新會計科目的余額。兩種方式各有優缺點,批量的方式將記賬延后,性能可能更高,而且,一些中間的操作(譬如取消的流水)無需處理。而實時操作復雜性要高很多,但實時操作可以實時的反應會計科目的最新余額,也是有價值的。具體如何選取,在實踐中需要平衡,根據業務需要選取。

一般的,會計科目我們不會選擇“自增”的方式,而是和財務人員一起協商,確定一個有意義的編碼,這個對于后續的交流,是非常有幫助的。比如說,我們在銀行的時候,我們的活期存款的科目是:02870100,這個代號是有一定的業務含義的,這是一個二級科目,一級 0287 代表活期,奇數結尾時負債類科目(與企業不同,在銀行,存款時負債而非資產),01 是二級,這個科目沒有下設子科目。

科目之間的父子關系:比如說 定期存款 有1年定期、2年定期、3年定期等組成,可以設立“定期存款”科目和“1年定期存款”科目,兩者是父子關系。一般的,父科目的余額是全部子科目余額的總和,具有子科目的父科目,不應該直接進行記賬操作。否則會導致數據的矛盾。

一般的,不同的業務流水,會有不同的記賬方式,具體而言,就是要借記哪些帳戶、貸記哪些帳戶,相應的記賬金額如何確定?這些一般是在業務設計時就需要確定的,開發可以寫死在代碼中,也可以考慮使用配置的方式來進行。考慮到如何記賬是一個相對易變的行為(不同時期、不同的業務模式、不同的管理策略,都可能調整同一筆業務流水的記賬方式),采用配置的方式可以更敏捷的應對這種變化,而且,將這一塊的邏輯從業務流水中解偶出來,也是很有價值的。

接下來,我們介紹一下“平衡體系”,這里有靜態的平衡: 資產 = 負債 + 所有者權益, 也有動態的平衡,即每一筆會計流水,都要滿足: 有借必有貸,借貸必相等。

有了這兩個平衡關系,我們在每天(或者每個周期開始),應該滿足靜態平衡,在每個日終(或者周期結束),也應該滿足靜態平衡。任何時候,系統的這個平衡關系出現打破,一定是系統出現了BUG。一個能夠自我平衡和問題檢測的系統,是多么優美的一件事情,這也也是“復式記賬法”帶來的一個優勢價值。

第二個平衡是“總分一致”,即總賬 = ∑分戶賬。

比如在銀行系統中,每天眾多的存款、取款、開戶、銷戶操作,分戶賬的變化是頻繁的,這個和總賬是否一致,也是非常重要的。我們早期的銀行系統,由于安全性的問題,經常會出現一些內部人員作案的情況。比如,我直接操作我們帳戶,將存款余額增加100萬,如果不進行總分核對,就可能查詢不出來。

由于總賬有自己的平衡體系(外加業務監控管理體系),再加上總分核對(我們不可能每天對上萬的分帳戶進行逐一核查),我們基本上可以實現業務系統的關鍵數據的“自平衡”檢查。這個對于防范業務風險是非常有必要的。

除了系統間的平衡關系之外,還有一個很重要的平衡:“賬款一致”,賬是系統內的帳戶(科目)余額,是個數字,款是實在的現金,是我們在銀行帳戶的余額(對銀行核心系統,就是柜臺錢箱中的現金)是需要一致的。這個平衡是非常有作用的。

靜態平衡 + 動態平衡 + 總分核對 + 賬款一致, 這幾個平衡關系一環套一環,構建了一套非常優美、完善的自平衡體系,即包括會計總賬、也涉及到分戶賬,并和“現金”這個實體概念進行核對。這一系列的平衡關系,確保帳戶數據的一致性、安全性。

另外,如果直接修改某2個帳戶,而不記錄業務流水(業務流水有別的方式進行核查),那么是否可以破壞呢?這一塊,在銀行體系中也有對應的安全措施,比如加上MAC字段,手工修改數據庫的成本就大為增加。另外,采用binlog相結合的方式,也可以檢查出沒有正常業務流水的“直接修改帳戶”的操作,從而進一步的增加整個帳務系統的安全性。

下面,我就附上2個應用這一方法的實踐。可供大家參考。

其一是在騰訊電商時應用于電商支付結算。

其二是目前我們在快塑網應用的訂單結算。

我們在快塑網應用“復式記賬”來應對訂單結算時,是享受到了這張模式帶給我們的“紅利”的。簡單的來說,在應用“收付”記賬模式時,要表達復雜的資金關系是非常困難的。采用了“復式記賬”模式后,這個困難從“開發團隊”轉移到了“產品團隊”,只要產品層面能夠清晰的描述出來,開發的實現就變得簡單,基本上是一個翻譯的工作。


合理的設置好帳戶結構、以及確定好每一筆業務流水的記賬方式(這一方面可以請教公司的財務專家),剩下的問題就迎刃而解了。

這是我們的訂單結算所涉及到的帳戶結構。

這個帳務結構的設計,是“非專業的“,我們是站在業務運營的角度上,并沒有刻意的追求是否符合”財務“標準。不過,有一些財務經驗還是會很有幫助的。這一塊,也可以咨詢公司的財務同事,獲得建議。

這是一個業務流水,如何進行記賬的范例。同樣,也是“非財務專業”的。

轉載于:https://www.cnblogs.com/davidwang456/articles/6565607.html

總結

以上是生活随笔為你收集整理的20年IT老兵分享:账务系统设计及应用--转的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。