会计交易表设计

时间:2012-07-13 16:24:49

标签: sql accounting process-accounting

我有以下会计表:

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

在这里,我可以看到“应付款”余额 0 但是维修收入 ......如果我进行查询,它会说维修收入仍然在1,300,我想我必须添加另一个字段或其他东西,所以我知道支付交易也会导致维修收入。

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

1 个答案:

答案 0 :(得分:2)

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

您的数据库设计存在缺陷,因为您尚未将帐单与付款相关联。顺便说一句,这可能非常具有挑战性。通常,它是通过使用,因为缺乏更好的词,供应商。该法案来自供应商支付给供应商。

您可能想要在付款记录中包含结算交易。这是一个坏主意,因为这意味着每笔付款必须与一张账单完全匹配。部分付款会怎样?如何同时支付多张账单?滞纳金怎么样?

您需要修改您的结构,以包含有关谁在进行收费以及谁正在收费的信息。