2018年左右,我解到了beancount,面对铺天盖地的概念和整整齐齐的英文说明,断断续续学习beancount一遍,又一遍。过程中还收集了不少的资料和笔记。

学习怎么分类账本,怎么自动记录,怎么导入账单,时间花了,账本却没有坚持记录下来。
An image to describe post

但从2023下半年开始一直到今天,没有复杂的账本结构,没有自动的账单导入,没有资产价格的自动追踪,却依然坚持记录了下来。而这其中的秘诀,仅仅是我想知道一件事—我的钱都花哪儿了。

你不一定需要beancount

想知道自己的钱都花在哪里了,beancount并不是必选项。
用自己最熟悉的工具,把重要的事情(钱花在哪里,应该很重要吧)完成才是关键。

Excel表格,手机记账App,甚至简单地文本编辑器都没有问题。不需要复杂的账务概念(复式记账),用我们最熟悉的“流水帐”,都可以完成这件事。

而我之所以选择beancount完成这件事,主要出于以下考虑:

对复式记账理念的认可
对每一个想要学习使用beancount的朋友来说,必须要接受复式记账的理念,我也不例外。一笔交易挂钩两个账户(有借必有贷),交易金额相等。(借贷必相等)这个理念在流程上尽可能的保证交易记录的可靠,并且现在的企业记账也大都是类似的做法。

其实有段时间,我就是用表格整理自己的消费,久了之后,会对记录在表里的数据有“不一样的想法”,想得到更多信息:想看图表,想筛选特定交易,想从中得到哪些消费其实可以不发生…

一旦想要从账本数据中得到越多信息,对表格熟练度的要求就越高,技巧就越多。显然就需要自己花时间来学习这些功能,可是我的beancount也学了大半…

beancount都已经学了一半了
反复,间断,碎片式的学习,让自己对beancount基本的使用逻辑还有记忆,并且关于“钱花哪里去”的这个问题,脑袋里面已经大概知道,即将写下的交易记录的样子,也能想象的到通过Fava浏览,检索,最终确定这个问题的答案过程的样子。比起学习表格的高级功能和用法,beancount的学习曲线对自己来说可能更低,我就有更多精力关注“调节消费”上。这也是一开始,我倾向于大家选择自己熟悉的工具的原因,熟悉的工具会让你聚焦在重要的事情上,而不是分心重头学习这个工具。

秘诀之下

迈出第一步比想象中要容易。

回顾想要学习使用beancount,却从没有坚持下来的经历,除了前文提到的一些门槛之外,还有一个最大的阻碍 — 想从一开始就有用一个近乎”完美“的账本。

“完美”的账本,具有的特性是:

  1. 漂亮的文件结构,每年的账本都是独立的文件;
  2. 每个账本的开始,都应该从当年的1月1号开始;

第一点,会把时间浪费在不断寻找“别人的最佳实践”上,第二点则会无限期拖延记录第一笔交易开始的时间。

假如当时的我,在现在的时间节点上,可能会有这种想法:

现在7月份,还有5个月的时间学习

明年一定要坚持用beancount记账

今天就开始

到目前为止,我还是坚持主要使用1个账本文件,现在还找不到必须使用多个账本的必要性。

账本的第一条记录,不是1月1日,是任意一天中的任意一笔交易。
An image to describe post

记录消费

尽管beancount能记录的不止消费,但我发现,对像我一样的新手而言,记录消费是最容易的。为了让这个过程再容易一些,我把自己消费的出口变的单一,尽量减小漏记的可能。

具体来说,我所有的消费都走一张信用卡,信用卡关联到电子钱包(支付宝,微信等等)上,电子钱包不留余额,记账对账以银行账单(银行App)为主。

根据自己的生活习惯,增加类似的约束,以便让记账的起步轻松一些。为什么这么说呢?因为我一直是手动记账的,普通人通勤日子中的消费,主要就是三顿饭。

下面是我典型的一天:
An image to describe post
图中被这遮挡的部分,属于信用卡消费返现,这类扩展性质的交易,打算放在后面的文章详细介绍。这里为了更好理解,就先去掉了。

可能和你处理的方式不同,我不记录每天的通勤消费,而采用定期对账(balance)加自动填充交易(pad)的方式来处理。

之所以采用这种方式,是因为我为通勤专门开设了账户 (公交卡),这个账户所有的支出都会被视为通勤,更具体的内容也会放在后面文章中专门介绍。

如你所见,我使用beancount记录的典型消费场景:需要三笔记录,涉及两个账户Expenses:FoodLiabilities:CN:ABC:CreditCard同一日期

对我来说,如此简单的过程,在刚起步的过程中,也就完全没有了“账单自动导入”,“自动记账”之类的需要,时间也只花在了记(消费)账这件事上。

手动记录和自动记录

提到记账,大多数人,包括我在内常常就会陷入“如何自动记账”的思考之中。谁不想chua一下把自己多年的账单通过简单的一个按钮,叮,一按,通通导入,好让自己尽情的享用图表和分类完善的交易汇总数据中。

我认为这两种不同的记录方法是有先后顺序的,尤其对于第一次接触复式记账和beancount的朋友来说。

对一种新的交易场景,手动记录就是在寻找交易记录最佳的留存方式。换句话说,我想从我写下的交易记录中得到什么?需求不同,记录的数据也会不同。

在前文提到我典型一天,也许你会注意到,每一笔交易都有一个标签#meals。这是因为手动记录一段时间后,我还想知道,我每天的基本消费是多少,于是就开始更新基本消费(三餐)的交易记录,打上#meals标签。

对一种交易场景越熟练,自动化的价值就越高。对别人有意义的场景并不代表对你也有意义,所以盲目的使用自动化记账工具,会给账本增加很多“无意义”的信息。(元数据uuid status 在你的场景中有用到吗?)
An image to describe post
所以,不要为了寻找自动导入工具忽略了你为什么记账。就像我在关于记账环境的配置方法里提到的:

记账是很隐私的一件事,通过浏览账本内容,几乎可以还原当时的所有主要活动。

你的账就是你的生活,你的生活只有你最了解,只有你可以定义。


Beancount Magazine | Beancount 杂志系列是关于使用Beancount记录个人财务的自我实践,分享自己对管理,理解个人财务状况和记账的想法。
如果你也对这些主题感兴趣,不妨订阅试试看,希望能这些内容能对你有帮助😁