2012-07-13 35 views
2

我有以下计费表:会计事务表设计

http://sqlfiddle.com/#!3/b93f3/2

我的交易明细表具有以下字段:

[transdetailid] [int] IDENTITY(1,1) NOT NULL, 
    [transid] [int] NOT NULL, 
    [debitaccount] [varchar](10) NOT NULL, 
    [creditaccount] [varchar](10) NOT NULL, 
    [amount] [money] NOT NULL, 
    [isdebit] [bit] NOT NULL, 
    [isactive] [bit] NOT NULL, 

我认为表是确定的,但我的问题是关于会计交易...

例如:电业承办商向我收取电费1,000美元,然后我记录在这样的信息:

transdetailid transid debitaccount creditaccount amount isdebit isactive 
    1    1 REPAIRS INCOME ACC PAYABLE 1300.00 1  1 

那么我将不得不支付该法案,所以我进入下一交易:

transdetailid transid debitaccount creditaccount amount isdebit isactive 
    2    2 ACC PAYABLE  BANK ACCT  1300.00 0  1 

在这里我可以看到,“ACC应付款” 余额是但修理收入 ...?如果我提出查询,它会说维修收入仍然在1300,我想我必须添加另一个领域或东西,所以我知道付款交易也杀死了维修收入。

任何线索?希望我解释清楚这一点..

回答

2

你偶然发现的是交易和报告之间的区别。

您的数据库设计存在缺陷,因为您尚未将帐单连接到付款。顺便说一下,这可能会非常具有挑战性。通常,这是通过使用缺乏更好的词汇来实现的。该账单来自供应商支付给供应商的账单。

您可能会试图在付款记录中包含结算交易。这是一个坏主意,因为这意味着每次付款必须完全符合一张账单。部分付款会发生什么?怎么样在同一时间支付多张账单?什么是滞纳金?

您需要修改您的结构以包含关于谁正在收取费用以及谁正在付款的信息。

+0

你是完全正确的。你有没有建议另一种结构?将不胜感激 – VAAA 2012-07-13 17:52:12

+0

我已经发布这个问题:http://stackoverflow.com/questions/11479800/double-entry-accural-accounting-concept – VAAA 2012-07-14 00:19:21