我希望这个问题不会太广泛。将来,我可能需要向某些应用程序(主要是基于Web的应用程序,但我的问题也涉及台式机应用程序)中添加一些会计和财务跟踪系统。
现在,从理论上讲,创建金融交易的简单记录很容易。一个带有几列的数据库表可以完成这项工作。甚至MS Access,Excel,甚至只是纯ASCII文本文件都可以用于存储交易日期,帐户ID和美元金额。但是,我认为,即使是具有事务完整性的频繁备份的SQL表也可能不足以进行严重的财务跟踪。
我听到诸如“两次进入记帐”之类的术语,并且我感到大多数财务跟踪应用程序(例如Mint.com或GnuCash)都具有更复杂的数据结构或流程来确保一切完全合乎要求,完美地相加,并且不会丢失或破坏任何数据。
我的问题是:在设计用于跟踪财务交易的应用程序时,应考虑哪些特殊的设计注意事项?似乎可能存在很多潜在的问题...舍入精度,奇偶校验,某种审核过程,特殊备份,安全性/加密,在数据输入中间出现崩溃的情况下保护数据的其他方式等问题。 ...我真的不知道我应该具体询问什么,但是我感到编程行业有一些我一无所知的最佳实践。这些是什么?
编辑:
看来我打开了比预期更大的蠕虫罐。为了明确起见,我正在特别考虑两种类型的应用程序:
- “检查注册表”类型的应用程序(例如GnuCash或Quicken)会保留个人交易记录供自己使用。
- 跟踪与公司打交道的供应商和客户的发票/贷项/或“积分”的应用程序。
我可能不会进行任何直接银行业务或(AFAIK)附带大量与金融相关的政府法规的工作。