從個人記帳到小企業管理:我如何用「原子性架構」打造一套經得起考驗的財務系統 #
最近我完成了一套帳務管理系統 Grant 的階段性開發。
這套系統的初衷,是為了填補「個人記帳」與「大型 ERP」之間的空白。我的目標客群非常明確:需要簡單記帳、但對資料正確性有高度要求的小型公司或個人工作室。
在開發過程中,我做出了一個核心的架構決策,而這正是我想與大家分享的地方。
為什麼我捨棄了「直接修改資料」? #
在過去開發這類系統時,最常見的做法是直接在資料庫中執行 UPDATE 或 DELETE。但隨著經驗累積,我發現這在財務領域是一個巨大的隱憂。
在 Grant 中,我採用了**「原子性帳目增修」**的架構:
- 拒絕抹除紀錄:所有的帳務調整,都不是直接修改原有的欄位,而是透過一筆對應的增修紀錄來達成。
- 極致的一致性:每一筆資金移動(無論是手動新增還是跨帳戶轉帳),都必須符合 ACID 原則,確保在任何併發操作下,餘額永遠正確。
這種做法雖然在開發初期較為繁瑣,但對於小公司來說,這意味著每一筆帳目都有完整的生命週期與審計路徑,未來對帳時再也不必面對「不知為何消失的數據」。
未來藍圖:更聰明的財務自動化 #
目前的 Grant 已經具備了穩健的底層架構,而我的下一步計畫是:
- 發票自動匯入:整合發票資訊進行自動化帳務管理,進一步減少人工登錄的錯誤與負擔。
提供有償開發與部署服務 #
我不僅開發了這套系統,還在專案中完整分享了如何進行現代化開發與標準化部署(包含 Debian 13、PostgreSQL 15 與 Tomcat 的生產環境配置)。
如果您也正在尋找一套穩健、透明且易於維護的財務方案,我提供以下有償服務:
- 地端部署協助:協助您將系統安全地安裝在您的自有伺服器環境中。
- 客製化功能開發:根據您的特定業務需求(例如特定的報表格式、API 整合等)進行功能擴充。
- 系統架構優化諮詢:針對現有財務系統的資料庫事務與一致性問題提供解決方案。
我追求的不是功能堆砌,而是讓您的每一筆財務數據,都能成為公司最可靠的資產。
查看專案細節: PolloChang/grant
聯絡與諮詢: [email protected]
部署與開發文件: 請參考專案內的 DEPLOY.md 與 DEVELOP.md。