我正在开发一个简单的发票和会计应用程序,但我完全不知道如何在数据库中表示会计事务(日记帐分录)。在数据库中使用单独的借方和贷方列似乎是一种方法,但我见过的大多数开源会计都使用单个金额列。我认为这大大简化了数学运算。但是,我如何将借方和贷方转换为数值呢?Wikipedia Helped a little,但是当我试图交叉检查一个会计系统时,它看起来并不是这样做的。
来自该记帐系统的Here's the export:
看一下日志326。虽然本例中的金额总和= 0,但贷方的总和并不等于借方的总和(从咨询与会计(E)借记29,从AP(L)借记31.39,并贷记2.39到销售税(L))。
然而,如果我将其视为借记-31.39从AP,它确实如此。然而,我不确定我们是否可以贷记/借记负值。
有人能解释一下数据库和会计原则是如何结合在一起的吗?
发布于 2009-07-13 00:07:38
我认为你提到的交易326的问题是,你似乎做错了借方/贷方的事情。
正确的做法应该是:从咨询和会计部门借记29英镑,从销售税中扣除2.39英镑。(如果这是你作为消费者必须支付的税),然后从美联社创建31.39,
通常情况下,AP将在贷方,除非您结清您的付款。然后交易将从应付帐款借记xx.xx,然后从现金/银行借记xx.xx
在单独的列中处理这些借方/贷方内容可能会使数据库更易于阅读。顺便说一句,分隔这些列的UI也更容易与最终用户沟通。在我看来,我们越多地将用户从课程中学到的东西放在类似的方式中,我们就越少需要花时间告诉他们如何使用软件。
我们不能在会计交易中使用负值。但在DBMS方面,如果我们使用+表示Debitings,使用-表示Creditings,则可以将所有内容保持在同一列中。无论如何,在导出到会计报告时,您仍然需要将它们转换回绝对正值。
发布于 2009-07-12 21:20:24
Martin Fowler的"Analysis Patterns"有一个关于会计系统建模的很好的章节。也许它能帮到你。
我认为您最好从对象的角度考虑这个问题,而不是试图将其映射到关系数据库上。数据库是声明性的和基于集合的;对象将数据与操作封装在组件中。我认为后者将更好地适用于会计建模,特别是当您将其与面向方面的编程结合在一起时。让数据库成为你持久化事物的方式,并将逻辑放在中间层。
发布于 2011-09-09 06:23:18
查看SQL-Ledger,这是一个用Perl和PostgreSQL实现的免费软件记账系统。应该会给你一个有效的例子。(我与他们没有任何关系,但我以前使用过它,对于基本的会计来说,它是令人满意的。)
https://stackoverflow.com/questions/1116823
复制相似问题