會計模式

2006 年 1 月 24 日



這是 進一步的企業應用程式架構開發 寫作的一部分,我在 2000 年代中期進行。很遺憾,自那時起,太多其他事情吸引了我的注意力,所以我沒有時間進一步研究它們,我也看不到未來可預見的很多時間。因此,這些材料很大程度上仍處於草稿形式,在我能夠找到時間再次研究它們之前,我不會進行任何更正或更新。

雖然我不知道有任何調查可以找出答案,但我相信世界上絕大部分的電腦系統都在追蹤金錢。至少,我猜這表示金錢是有價值的。金錢確實非常有價值,以至於人類已經痴迷於追蹤金錢數百年,甚至有一個相當龐大的職業(會計)專門從事這項工作。(作為一個測試,你可以透過比較一個組織追蹤其他事物的人員數量與會計人員的數量,來判斷該組織是否比金錢更重視某件事。)

會計中最基本的觀念之一是複式簿記,它發展於中世紀,並於 1494 年由一位義大利修士盧卡·帕西奧利首次記錄下來。其基本原理是,你透過仔細追蹤每一筆金錢流動,來追蹤各種金錢來源。

金錢來源是 帳戶。每個 帳戶 都有一個餘額,也就是其目前的價值,以及一個 會計分錄 清單,代表對 帳戶 的每一筆變動。 帳戶 的價值或餘額,是透過所有 會計分錄 的總和而得出的。餘額可以計算到目前為止,但一般來說,餘額是針對某個時間段,在這種情況下,它會將該時間段內過帳分錄的價值加總起來。

圖 1:帳戶、分錄和交易的基本模型。

會計交易 透過連結涉及轉帳的 會計分錄,更明確地記錄 帳戶 之間的轉帳。

儘管我已將這些列為常見的物件群組,其中大部分都是選用的。我曾看過系統使用 會計分錄,但沒有使用 帳戶會計交易。基本上,帳戶 用於描述 會計交易 的分類;因此,可以使用其他物件作為描述。類似地,如果您不太關注 會計分錄 中的轉帳仔細追蹤,則可以省略 會計交易

進行調整

帳戶追蹤事件的貨幣後果,這表示它們與 事件溯源 搭配使用時效果非常好。處理 網域事件 時,它可以產生一組 會計交易。如果所有 會計交易 都從處理 網域事件 中產生,則 會計交易 會使用 事件溯源,即使應用程式的其他部分不是事件溯源。

在這種情況下,會計交易 本身很適合使用 追溯事件 自動修正錯誤。為此,您需要找出錯誤事件產生的 會計交易,判斷應該產生哪些 會計交易,然後進行調整,將錯誤的集合變更為正確的集合。有下列三種方式可以進行此調整。

我專注於使用追溯事件進行自動更正,但當然,您可以使用這些相同的調整方法來記錄手動變更的結果。

重大修訂

2006 年 1 月 24 日:第一稿