我正在开发一个数据库,需要管理多个帐户之间的转账。我们正在考虑为此使用一个简单的分类帐系统(就像您在 Quicken 中找到的那样)。
我对如何设计系统有两个担忧:
这是一个包含两个选项及其问题的小提琴。
如果您决定为交易双方保留单一分录,那么根据定义,您正在从事单一分录簿记。对于某些简单的应用程序来说,这可能是最合适的解决方案,但请清楚,您将失去复式记账的所有功能和稳健性优势,以换取更简单的设计。
请注意,当查看独立分类账(尽管不是其相应的日记帐)时,通常将其实现为单分录,因为总分类账中的控制帐户捕获分类账总额,并且交易的平衡部分位于普通日记账中(GJ ) 和总账 (GL)。
您似乎还混淆了传统复式记账中分类帐和日记帐的不同概念。各种日记账(除了普通日记账之外,还有许多针对特定业务的常见交易的专门品种)是输入系统的所有交易的按时间顺序排列的历史记录。总账是按帐户对输入到系统中的所有交易进行排序,而各种分类账是按分类账代码对输入到相应日记帐中的所有交易进行排序。
常见分类帐和日记帐组合的两个示例:
总账和总账是用于生成试算表和财务报表的所有交易的汇总摘要。
应收账款分类账接收来自发票日记账(按客户编号借记到 AR)和现金收据日记账(按客户编号贷记到 AR)的条目。
请注意,虽然每笔交易的双方都会在 toto 中保持平衡,但一般来说,交易的双方不需要具有相同数量的行数和相同的值。例如,一个简单的零售销售交易(在大多数司法管辖区)将如下所示:
Dr Accounts Receivable Customer #xxxx $X,XXX.XX
Cr Revenue $Z,ZZZ.ZZ
Cr Sales Tax Payable $ YYY.YY
-----------------------------------------------------------------
Totals $X,XXX.XX $X,XXX.XX
Run Code Online (Sandbox Code Playgroud)
制造销售交易(最简单的级别)将像这样开始:
Dr Accounts Receivable Customer #xxxx $X,XXX.XX
Cr Revenue $Z,ZZZ.ZZ
Cr Sales Tax Payable $ YYY.YY
Dr Cost of Sales $U,UUU.UU
Cr Finished Goods Inventory $U,UUU.UU
-----------------------------------------------------------------
Totals $W,WWW.WW $W,WWW.WW
Run Code Online (Sandbox Code Playgroud)
债券购买交易必须将面值折扣(溢价)处理为贷方或借方,具体取决于自债券发行以来利率是上升还是下降,因此您甚至无法提前知道哪一边您的单一分录所在的分类账。
一旦您决定进行单式记账,您就失去了处理这些交易的所有能力,如此处所示,这种交易绝不是罕见或复杂的。