莱曼会计--复式记账法

2020-07-28 13:07:54

本文是从计算机科学家的角度对复式计数方法的简单介绍。它试图用一种尽可能简单的方法来解释基本簿记,摒弃了会计中通常涉及的一些特殊之处。这是一种尝试,试图用尽可能简单的方法解释基本簿记,摒弃会计中通常涉及的一些特质。它也代表了Beancount的工作方式,应该对所有纯文本记帐用户都有用。

请注意,我不是会计,在撰写本文的过程中,我使用的术语可能与传统的会计培训中教授的术语略有不同或不寻常。我允许自己创造一些新的,甚至是不同寻常的东西,以便尽可能简单而清晰地向不熟悉的人解释这些想法。

我认为复式计数的方法应该传授给每个高中水平的人,因为它是一种非常有用的组织技能,我希望这篇文章可以帮助将它的知识传播到专业圈子之外。

让我们从定义帐户的概念开始。账户是可以装东西的东西,比如袋子。它是用来数东西的,用来积累东西的。让我们画一个水平箭头,直观地表示帐户随着时间的推移不断变化的内容:

左边是过去,右边是递增的时间:现在、未来等等。

现在,让我们假设帐户只能包含一种东西,例如,美元。所有账户都以零美元的空内容开头。我们称账户中的单位数为账户余额。请注意,它表示特定时间点的内容。我将使用帐户时间线上的数字来提取余额:

帐户的内容可能会随着时间的推移而变化。为了更改帐户的内容,我们必须添加一些内容。我们将此添加称为帐户的过帐,我将在帐户的时间线上将此更改绘制为一个带圆圈的数字,例如,将100美元添加到帐户中:

现在,我们可以在过帐后使用紧随其后的另一个小数字来提取更新后的帐户余额:

我们还可以从帐户内容中删除。例如,我们可以删除25美元,结果帐户余额现在是75美元:

如果我们取出的美元多于账户中的美元,账户余额也可能变成负数。例如,如果我们从此帐户中删除200美元,余额现在变为-125美元:

帐户包含负余额数字是完全没有问题的。记住,我们所做的一切都是在数东西。正如我们很快将看到的,一些账户在其时间线的大部分时间内将保持负余额。

值得注意的是,我在上一节中编写的时间线符号类似于机构为每个客户维护的纸质账户对账单,您通常会通过邮件收到:

有时,金额列被分成两部分,一个显示正数,另一个显示负数:

在这里,“deit”指的是“从您的帐户中取出”,而“Credit”指的是“存入您的帐户”。有时会用到“提款”和“存款”这两个词。这完全取决于上下文:对于支票帐户和储蓄帐户,通常都有两种类型的过帐,但对于信用卡帐户,通常只显示正数,然后偶尔显示每月付款,因此使用单列格式。

在任何情况下,“余额”列总是在金额过帐到帐户后显示结果余额。有时,语句按时间递减顺序呈现。

在这个故事中,这个账户属于某个人。我们称此人为帐户的所有者。该帐户可用于表示真实世界的帐户,例如,假设我们使用它来表示所有者在银行的支票帐户的内容。因此,我们将通过为帐户指定名称(在本例中为“Checking”)来标记该帐户:

想象一下,在某个时候,这个账户有1000美元的余额,就像我在图片上画的那样。现在,如果所有者使用此帐户中的79美元,我们会将其表示为:

此外,如果费用是在餐厅用餐,我们可以用类别标记帖子,以指明更改的用途。比方说,“餐厅”,就像这样:

现在,如果我们有很多这样的东西,我们可以编写一个计算机程序来累计每一类的所有变化,并计算每一类的总和。例如,这会告诉我们在餐厅总共花了多少钱。这就是所谓的单项记账法。

但是我们不打算这样做,我们有更好的方法。请再耐心听我讲几节。

一个所有者可能有多个帐户。我将通过在同一图上绘制许多类似的客户时间线来表示这一点。与以前一样,这些文件都标有唯一的名称。让我们假设所有者有与以前相同的“支票”帐户,但现在也有一个“Restaurant”帐户,该帐户可用于累计餐厅的所有食品费用。它看起来是这样的:

现在,我们可以在“Restaurant”帐户上创建一个匹配的帖子,记录我们在食物上花费了多少钱,以及花费的金额(79美元),而不是像以前那样将帖子归类为“餐厅类别”:

“餐厅”账户和所有其他账户一样,也有累计余额,所以我们可以知道我们在“餐厅”总共花了多少钱。这完全等同于计算支票账户中的变化。

现在,我们可以通过创建一种引用这两个帖子的“父”框来将这两个帖子关联在一起。我们将此对象称为事务:

例如,让我们看看如果业主拿到12月份的工资会发生什么:

在本例中,她收到的总工资记录为-2,905美元(稍后我将解释这个符号)。留出905美元用于缴税。她的“净”工资2,000美元,其余部分存入她的“支票”账户,账户余额为2,921美元(先前的余额921美元+2,000美元=2,921美元)。此交易有三个过帐:(+2,000)+(-2,905)+(+905)=0。复式录入规则受到尊重。

现在,你可能会问:为什么她的工资记录为负数?这里的推理与上面的信用卡类似,不过可能更微妙一些。这些账户的存在是为了从所有者的角度跟踪所有的金额。所有者给出工作,并获得金钱和税收作为交换(正数)。赠送的作品是以美元为单位计价的。它“离开”了老板(想象一下,老板的口袋里有潜在的工作,她每天上班时会把工作潜力撒给公司)。业主赠送了价值2905美元的作品。我们想要跟踪分配了多少工作,这是通过“工资”帐户完成的。那是她的毛薪。

另请注意,为了简单起见,我们对此工资支票事务进行了一些简化。更真实地记录一个人的工资存根将有更多的账户;我们将分别核算州和联邦的税额,以及社会保障和医疗保险支付、扣除额、通过工作支付的保险,以及在此期间积累的假期。但这也不会太复杂:业主只需将她的工资存根中的所有可用金额转换为包含更多张贴内容的单个交易即可。结构保持相似。

现在让我们将注意力转向所有者可以拥有的不同类型的帐户。

平衡或增量。首先,账户之间最重要的区别是,我们是关心特定时间点的余额,还是只关心一段时间的差异才有意义。例如,某人的支票或储蓄账户余额是一个有意义的数字,所有者和相应的银行都会关心。同样,某人信用卡账户的总欠款也是有意义的。同样的道理也适用于某人用来支付房屋的剩余抵押金额。

另一方面,自一个人在地球上开始生活以来的餐厅费用总额并不是特别有趣。我们可能关心的是这笔账在一段时间内发生的食肆费用。例如,“你上个月在餐厅花了多少钱?”或者是上个季度。或者是去年。同样,一个人从几年前开始在一家公司工作以来的工资总额也不是很重要。但我们关心的是一个纳税年度,即该时间段的总收入,因为它是用来向税务人员申报收入的。

在某一时刻余额有意义的账户称为资产负债表账户。这类账户有两种类型:“资产”和“负债”。

其他账户,也就是那些余额不是特别有意义,但我们有兴趣计算一段时间内变化的账户,称为损益表账户。同样,有两种:“收入”和“支出”。

正常的征兆。其次,我们考虑帐户余额的通常标志。在复式记账系统中,绝大多数账户的余额往往总是正面的,或者总是负面的(尽管正如我们之前看到的,账户余额改变符号并不是不可能的)。我们将通过以下方式区分前面提到的帐户对:

对于资产负债表账户,资产通常为正余额,负债通常为负余额。

对于损益表账户,费用通常为正余额,而收益账户通常为负余额。

让我们讨论每种类型的帐户并提供一些示例,这样它就不会保持太抽象。

资产。(+)资产账户代表所有者拥有的东西。银行账户就是一个典型的例子。另一个是“现金”账户,它计算你钱包里有多少钱。投资也是资产(在这种情况下,它们的单位不是美元,而是一些共同基金或股票的一定数量的股票)。最后,如果你拥有一套房子,房子本身就被认为是一种资产(它的市场价值会随着时间的推移而波动)。

负债。(-)负债账户代表所有者所欠的东西。最常见的例子是信用卡。同样,您的银行提供的对账单将显示正数,但从您自己的角度来看,它们是负数。贷款也是负债账户。例如,如果你申请房屋抵押贷款,这是你欠的钱,并且会被一个金额为负值的账户跟踪。当你每月还清抵押贷款时,负数会增加,也就是说,它的绝对值会随着时间的推移变得越来越小(例如,-120,000-&>;-117,345)。

费用。(+)费用账户代表你收到的东西,可能是通过交换其他东西来购买的。这种类型的账户看起来相当自然:食物、饮料、衣服、租金、机票、酒店和大多数其他类别的东西,你通常会把你的可支配收入花在上面。然而,税通常也是由费用账户跟踪的:当你收到一些工资收入时,在来源扣缴的税款会立即记录为费用。可以把它想成是为你全年接受的政府服务买单。

收入。(-)收入账户是用来计算你为了得到其他东西而赠送的东西(通常是资产或费用)。对于大多数有工作的人来说,这是他们时间的价值(工资收入)。具体地说,这里我们谈论的是毛收入。例如,如果你的年薪是12万美元,那么这个数字就是12万美元,而不是纳税后剩下的金额。其他类型的收入包括从投资中获得的股息,或从持有的债券中支付的利息。也有一些奇怪的东西你可能会记为收入,比如收到的奖励的价值,例如,从信用卡返还的现金,或者某人送的金钱礼物。

在Beancount中,所有帐户名称都必须无一例外地与前面描述的一种帐户类型相关联。由于帐户的类型在其生存期内不会更改,因此按照惯例,我们将使其类型成为帐户名称的一部分,作为前缀。例如,餐厅的限定帐户名将是“Expsions:Restaurant”。对于银行支票账户,符合条件的账户名称将是“资产:正在检查”。

除此之外,您可以为您的帐户选择任何您喜欢的名称。您可以根据需要创建任意多个帐户,正如我们稍后将看到的,您可以按层次结构对它们进行组织。在撰写本文时,我使用了700多个账户来跟踪我的个人事务。

最后,通过将类型前缀到帐户名称,我们可以为这些帐户中的每个帐户添加四种帐户类型中的一种:

如果有人写了一本现实主义的书来记录他们所有的个人事务,那么每年很容易就会有数千笔交易。但原则仍然很简单,它们保持不变:随着时间的推移,过帐应用于帐户,并且必须是事务的父项,并且在此事务中,所有过帐的总和为零。

当您对一组帐户进行记账时,您实际上是在描述一段时间内在所有帐户上发生的所有过帐,受规则的约束。您要在一本书中创建这些帖子的数据库。你是在“保留这本书”,也就是传统上,包含所有这些交易的那本书。有人称之为“维护日记”。

我们现在将注意力转向从这些数据中获取有用的信息,总结本书中的信息。

以我们的最后一个示例为例:我们可以轻松地重新排序所有帐户,使所有资产帐户一起显示在顶部,然后是所有负债帐户,然后是收入帐户,最后是费用帐户。我们只需更改顺序而不修改交易结构,以便将每种类型的帐户分组在一起:

我们对帐户进行了重新排序,将资产帐户分组在顶部,然后是负债,然后是一些权益帐户(我们刚刚介绍了这些帐户,稍后将详细讨论),然后是收入,最后是费用。

如果我们汇总所有帐户上的过帐,并仅在右侧显示帐户名及其最终余额,我们就会得到一个我们称为“试算表”的报告。

这只是反映了每个帐户在特定时间点的余额。因为每个帐户都以零余额开始,而每个交易本身都有零余额,所以我们知道所有这些余额的总和必须等于零。1这是因为我们限制每个过帐都是事务的一部分,并且每个事务都有相互平衡的过帐。

从交易清单中提取有用的一种常见信息是损益表账户在特定时间段内的变化汇总。这告诉我们在此期间赚了多少钱,花了多少钱,差额告诉我们发生了多少利润(或亏损)。我们称之为“净收入”。

为了生成此汇总,我们只需将注意力转向收入和费用类型帐户的余额,仅汇总特定期间的交易,然后在左侧绘制收入余额,在右侧绘制费用余额:

重要的是要注意这里的迹象:收入数字是负的,而费用数字是正的。因此,如果你赚的比花的多(这是一个好的结果),最终的收入+支出余额之和将是负数。与任何其他收入一样,净收入为负数意味着有相应数量的资产和/或费用为正数(这对您有好处)。

损益表告诉我们在特定的一段时间内发生了什么变化。公司通常每季度向投资者或公众(如果他们是一家上市公司)报告这些信息,以便分享他们能够赚取的利润。个人通常在他们的年度纳税申报单上报告这些信息。

请注意,在损益表中,只对特定时间间隔内的交易进行汇总。例如,这使得人们可以计算一年中所有收入的总和。如果我们汇总这个账户自成立以来的所有交易,我们将获得该账户自创建以来所赚取的总收入。

要实现同样的目标,更好的方法是将收支账户的余额清零。Beancount称这种基本转换为“清算2”。它由以下人员执行:

计算这些账户从时间开始到报告期开始的余额。例如,如果您在2000年创建了帐户,并且想要生成2016年的损益表,则需要将2000年到2016年1月1日的余额相加。

插入交易记录以清空这些余额,并将其转移到其他既不是收入也不是费用的账户。例如,如果这16年的餐厅费用账户在2016年1月1日达到85,321美元,它将向餐厅插入-85,321美元的交易,将+85,321美元插入到“以前的收入”中。交易日期为2016年1月1日。包括。

.