2010-03-22 124 views
30

有没有人知道或有任何链接到网站描述如何设计一个双重入门会计制度的数据库模式的细节??。复式会计系统的数据库模式设计?

我确实发现了一堆文章,但非非常具有说明性。 如果有人能够帮助我,我会很感激。

+0

@soden - 你希望成为什么哪些特定物品的特定部分有帮助吗? – DVK 2010-03-22 17:52:04

+0

我确实有复式记帐的一个基本的了解,但将这一概念到数据库模式中,,,,嗯,我guesse我的创作热情的arent在这其中流淌。 – soden 2010-03-22 17:56:07

回答

27
+0

我读过这个。但并没有真正知道如何使用它。 一些sql示例将锦上添花:)。 thnx顺便说一句 – soden 2010-03-22 17:40:46

+1

你有会计背景吗?我在计费方面花费了10年以上,并会毫不犹豫地从头开始创建一个财务软件...上面链接的文章是表的设置和会计流程的一个很好的例子。你喜欢什么样的SQL例子? – Leslie 2010-03-22 18:56:27

+0

http://www.cuppadev.co.uk/dev/double-entry-accounting-in-rails/这个链接确实解释了相同的东西。但现在我知道我应该如何开始构建数据库模式。 我很熟悉RDBMS和一些基本会计,我在过去的几个星期里学习了自己的学习。 即时通讯只是困惑。 如果你能帮我解决这个问题,我会很高兴。 – soden 2010-03-25 05:48:33

6

我想我不妨试试它。意见非常感谢 - 我会根据任何人的反馈来改进设计。我现在要使用SQL Server(2005)T-SQL语法现在,但如果有人对其他语言感兴趣,请告诉我,我将添加其他示例。

double-entry bookkeeping system中,基本要素是账户和交易。基本的'理论'是accounting equation:资产=资产 - 负债。

结合会计等式中的项目和两种类型的名义账户收入和支出,账户的基本组织就是一个嵌套账户的森林,(最小)五棵树的根是下列之一:资产,负债,股权,收入和费用。

[我研究好SQL设计的层次一般......我会用细节稍后更新此。]

一个有趣的层次设计的SQL团队的文章More Trees & Hierarchies in SQL中记录。

每项交易均由平衡的借记和贷记金额组成。对于每笔交易,借方金额总额和信贷总额必须完全相等。每笔借记卡和信用额都与一个帐户绑定。

[更多跟随...]

+0

请注意,我的答案是'社区wiki' - 请随时自行编辑它。 – 2011-04-02 20:56:20

25
  1. 创建如下表:账户,交易,订单项,接触。联系人可以是客户,供应商或员工。为了简单起见,我们将忽略account_type表,contact_type表等。

  2. 确定表之间的关系并设置它们。

a)一种接触可以有很多交易,但每个交易只能有一个接触(一到一对多的关系)

b)一种帐户可以有许多事务,和一个事务可能会影响许多帐户; LINEITEM是交易表和帐户表(一个多一对多的关系)

C)之间的连接表中的事务可以有很多行项目,但每个项目必须涉及到一个事务。我们有以下模式(一对多的关系):

联系> ---交易--- < LINE_ITEM> --- ACCOUNT

3添加相应的字段每个表。联系人(联系人ID,姓名,地址,地址,城市,州,邮编,电话,传真,电子邮件等)。交易(transactionID,date,memo1,contactID,ref,line_itemID,line_item(line_itemID,transactionID,accountID,金额,memo2)。帐户(accountID,line_itemID,account_name,account_type)

4例如,在数据库中,在交易表中添加新记录并填写字段,选择联系人姓名,输入日期等。然后为每个受影响的帐户添加新的子记录到父交易记录。每个交易记录必须在如果我以20美元的现金购买了一些奶酪,则在交易记录中添加一张儿童记录,在儿童记录中,选择现金账户并在记录中记录-20.00(负数)量领域。在金额字段添加一个新的子记录中,选择食品杂货帐户,并记录20.00(正)的子记录总数应寿○(即,20.00-20.00 = 0.00)。根据需要创建尽可能多的新事务。

5创建基于存储在上述表中的数据的数据库的报告。该查询为我提供数据库中的所有记录,以便将事务项目子记录按帐户分组,以按日期排序,然后按事务ID进行分组。创建一个计算字段,该字段提供交易line_items记录中的金额字段的运行总计以及您认为必要的任何其他计算字段。如果您希望以借记/贷记格式显示金额,则在数据库查询中创建两个计算字段,其中一个字段称为借方,另一个称为贷方。在借方计算字段,输入公式“如果从LINE_ITEM表中的量字段中的量为正时,显示的量,否则空”。在信用计算字段,输入公式“如果从线路项目表中的量字段中的量是负的,表明的量,否则空”。

在此基础上,而简单的数据库设计,可以不断添加更多的字段,表和报告,以更多的复杂性添加到您的数据库来跟踪你或你的企业财务。