Database design 在数据库架构中链接应付款和总账

Database design 在数据库架构中链接应付款和总账,database-design,accounting,Database Design,Accounting,A 2010年12月13日被问及: 我正在寻找行业标准的逻辑数据模型总帐和账目>应付账款。是否有现成的会计数据模型 肯·唐斯回答说: 摘录: 最基本的分类账有3个表:账户、批次和交易。所有事务>必须在批处理中。有些人把借方和贷方分为两列,我总是做一个>列,借方和贷方有相反的符号 应付账款也很简单。其核心是供应商表和>凭证/发票表。最后生成了一个检查表……之后,根据口味进行润色:) 由于发票和检查表都会影响总账,我是否正确地假设每个都需要存储一个唯一的批号?模式是否会为invoice:batch和

A 2010年12月13日被问及:

我正在寻找行业标准的逻辑数据模型总帐和账目>应付账款。是否有现成的会计数据模型

肯·唐斯回答说:

摘录:

最基本的分类账有3个表:账户、批次和交易。所有事务>必须在批处理中。有些人把借方和贷方分为两列,我总是做一个>列,借方和贷方有相反的符号

应付账款也很简单。其核心是供应商表和>凭证/发票表。最后生成了一个检查表……之后,根据口味进行润色:)


由于发票和检查表都会影响总账,我是否正确地假设每个都需要存储一个唯一的批号?模式是否会为invoice:batch和checks:batch表显示1:1的关系?非常感谢您的建议。

这里不会有任何1:1的关系。例如,您始终可以在一个批次中支付多张发票。批处理表的思想是,从会计的角度来看,它是一个“工作单元”,而不是从编程的角度来看

对批处理没有特殊的需求,只是它有助于组织有关谁做了什么以及何时做了什么的信息,特别是当它提供了一个指示,表明从业务角度来看,一组事务在逻辑上彼此相关时

Accounts是一个查找表。事务是事务细节,而批处理是事务标题。我同意@OP问题中的Ken Downs的观点,即单个金额字段就足够了。单独的借方和贷方栏没有意义。这个想法来源于纸面会计世界,在所有的算术都是手工完成的那一天很有用。在一个计算机化的场景中,这个想法是不合时宜的,实际上会带来更多的麻烦。我不同意Ken Downs的观点,因为他的借贷有相反的符号。这在特定账户的上下文中是正确的,但根据会计惯例,不同类型的账户将有正数或负数的借项。资产和收入流向一个方向,负债和费用流向另一个方向。交易表中的数字是正数还是负数将取决于交易适用于哪种类型的账户

您的编辑之一是,当您适当地应用借项和贷项时,每个批次都应平衡到零。测试此编辑的逻辑需要知道批处理中的每个帐户是资产、负债、收入还是支出,因此这需要成为帐户表的一个属性


至于支票、凭单、发票和其他所有东西——你可能想要,但不一定需要所有这些。拥有它们的原因不是为了严格的账户余额跟踪,而是为了您可以保存在那里的所有其他指示性信息。您可以将所有这些指示性信息保存在批处理表的“哑”文本字段中(即“备注”)。这就是他们在旧的高脚椅、遮阳板和羽毛笔时代是如何做到的。然而,拥有一个供应商发票表是很方便的,因为它可以让您方便地查询来自特定供应商的所有发票的列表。支票、发票(应收账款)、对账单等其他具体业务实体也是如此。

这不是对您问题的直接回答,但可能有进一步的帮助;它帮助了我。