我正在创建会计软件。我需要强制执行复式簿记。我有一个经典的问题,每笔交易一行而不是两行。
让我们举一个例子,看看它是如何在这两种情况下实现的。
考虑 accountCash
和 account Rent
。当我支付每月租金时,我会从我的Cash
帐户中将 100 美元转入我的Rent
帐户。
在一行系统中,此类事务将存储为:
交易
tx_id | posting_date
1 | 23/05/2015
Run Code Online (Sandbox Code Playgroud)
交易记录
id | tx_id | credit_account | debit_account | amount
1 | 1 | Cash | Rent | 100.00
Run Code Online (Sandbox Code Playgroud)
在两行系统中,我必须镜像相同的交易记录以创建相反的记录,一旦我将两者相加,我就会得到零余额。
交易
tx_id | posting_date
1 | 23/05/2015
Run Code Online (Sandbox Code Playgroud)
交易记录
id | tx_id | type | account | amount
1 | 1 | credit | Cash | 100.00
2 | 1 | debit | Rent | 100.00 …
Run Code Online (Sandbox Code Playgroud)