首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复式会计方案设计

复式会计方案设计
EN

Database Administration用户
提问于 2019-09-15 04:36:58
回答 1查看 2K关注 0票数 6

我们正在实现一个软件,允许发送“虚拟”资金之间的用户内部。我们已经用一个条目启动了数据库,如下所示(简化表)。我们只记录一个事务,其中用户发起的交易(寄钱)将被记录。所以永远都是借方。

代码语言:javascript
复制
TransactionLog
------------------
TransactionLogID
UserIDFrom
UserIDTo
CurrencyID
CurrencyAmount 
Remarks
TransactionDateTime

然后,需求发生变化,即我们需要在数据库中使用一个复式会计模式。然后我又做了一张新桌子如下。

代码语言:javascript
复制
TransactionLogDoubleEntry
----------------------------
TransactionLogDoubleEntryID
TransactionLogID
UserID
CounterPartyUserID
CreditOrDebit
CurrencyID
CurrencyAmount
Remarks
TransactionDateTime

我的问题是: 1)我是否在一个正确的方向上这样做--我把TransactionLogDoubleEntry表加上了贷方/借方--这意味着它已经成为一个复式会计模式?

( 2)我应该继续做TransactionLog吗?还是使用TransactionLogDoubleEntry就足够了?

3)如果我要保留TransactionLog表,是否有必要复制TransactionLogDoubleEntry中的currencyID, currencyAmount, remarks, TransactionDateTime?或者,这足以从TransactionLog表中获得相应的值。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2019-09-15 08:10:08

大多数复式会计制度将使用两个表来实现这一点。一个表是"header“表,它存储公共字段&第二个”行“表,它存储事务的实际细节。

如果您不知道,在复式会计中,给定事务中所有事务行的总和总是等于零。

不管怎么说,根据你目前的设计,我会做一些如下的事情:

代码语言:javascript
复制
Transaction
------------------
TransactionID
CurrencyID
Remarks
TransactionDateTime


TransactionLines
----------------
TransactionID
LineNo
UserID
DebitAmount
CreditAmount

要将$5.00从UserID 100转移到UserID 250,您将有以下条目:

代码语言:javascript
复制
Transaction: 

10000, 'USD', 'Test transaction', '2019/09/15 12:34:56'

TransactionLines: 

10000, 1, 100, 500, 0
10000, 2, 250, 0, 500

您询问了一个可能存在多个事务行的情况:-要从UserID 100转移9.00美元,将8.50美元转到UserID 123 &0.50美元给UserID 456,您将有以下条目:

代码语言:javascript
复制
Transaction: 

10001, 'USD', 'Test transaction', '2019/09/15 12:34:56'

TransactionLines: 

10001, 1, 100,   900,   0
10001, 2, 123,   0,     850
10001, 3, 456,   0,     50

从数学/会计的角度来看,行的顺序并不重要,只要总行是0。

适当的会计系统将在每一行中都有一个G/L帐户列,这将指示交易发布到何处,以及投递期和报头级别的其他基本信息。

如果你正在开发的系统是处理真实货币的话,我会认真考虑学习一些会计基础知识。

这显然是在一个很高的水平。如果你需要进一步的帮助,请直接问。

票数 9
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/248806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档