坚持使用 beancount 一年半
Beancount
复式记账 Beancount

引入 beancount

我自认为我是一个有想法的人,可是疫情三年,经济下行。在这个社会,一个毕业的大学生的命运大概就是:梦想被现实拴住。在2023年1月我读到了 byvoid 写的文章,对我有很大的启发。为了早日实现自己的梦想,于是从那时起我决定使用 beancount 开始记录我的开支。

2024年是我工作的第二年,也是疫情结束的第二年。在工作的前半年里我拿着当地最低标准工资,打着两三份工(或许是四份),过着节衣缩食的日子。也曾连续两个月没有一天休息。现在想来真是可怕。

我对兴趣爱好在与各类电子产品,如今我也有不少各类消费级的“顶级电子产品“,生活水平也逐渐改善。在这期间我也认识到了:打工赚钱只是获取资金的一部分,生活的重点还在于如何掌控资金。

一个人 + beancount = 一家公司

复式记账是一个会计学名词,常用在类似于公司的记账中。而 beancount 就是使用复式记账的方式记录个人的资产,也就是像开公司一样记录自己的资产。对于借贷、收入等各类场景记录十分方便,可以真正做到每笔账都记录。

我曾经使用过几款记账软件,一直记录各类流水,可是那些流水账我只坚持了不到一个月。其中坚持最长时间的就是界面比较好看新颖的记账城市。记录流水账只是让我下意识的想要少花点钱,从统计学上看几乎没有意义,而且,到最后就是账单对不上,不知道钱花哪了。

同时,我还有几张信用卡,信用卡真的是消费的圈套,它只会显示你还可以花多少钱,你看到那么大的额度,也许就会想消费,控制不住消费的欲望。对于我来说还好,收入的卑微使我冷静,即使这样还是在每次还款时,一打开银行APP才发现:原来花了这么多钱!

在使用 beancount 后我对每个账户的余额非常清楚,对自己的钱在哪,花在哪有了明显的认识。同时 beancount 能够记录多个币种,支持货币转换,对于我需要使用人民币、美元、英镑、日元来消费,这个功能非常有用,甚至还能用来记录积分或点数。

最后,将数据掌握在自己手里,账单这种隐私的东西还是存在自己手里比较好,beancount 作为开源软件这很好得避免了隐私问题。而且它使用的记录方法是公开的,对比那些记账软件,如果软件停止更新了,想要将账单导出就十分困难。

当然如果你也想像开公司一样记录自己的资产,那么使用 beancount 还是有一点门槛的,你至少需要学一下什么是复式记账。我推荐之前说的 byvoid 写的文章,写得通俗易懂。这篇文章是使用经验分享,所以这里就不讲怎么使用了。

Beancount 的核心

核心在于复式记账,这只不过是将笔纸、软件的记录换为电子文本的记录。所以搞明白复式记账的原理有助于记账。复式记账的账户分为 收入 Income,支出 Expenses,资产 Assets,负债 Liabilities以及权益 Equity 这五类。除了这些账户还需要知道会计恒等式:A=L+E

复式记账的核心理念是账户之间的进出关系,要求所有的记录全部入账,它可以保证账目的完整性和一致性。复式记账可以提供除了开支记录之外的损益表、资产负债表、现金流量表、试算平衡表等报表。复式记账还可以把投资和消费轻易区分。

Byvoid Beancount复式记账(一):为什么

我的 Beancount 记录方案

记录托管

我自己搭建了 Gitea 和 Drone CI,详见 2022 Self Host Service StackDrone CI 入坑指北 两篇文章。我使用 git 管理这些记录文本,同时在每次提交后将这些记录同步到 fava 目录通过 nginx 反代和 authentik 提供验证,这让我可以在任意地方查看我的账本和报表。

坚持人工记录

其实 beancount 有很多自动导入账单的记录方案,但是我都没有使用。记账时我会根据账单信息,回忆这笔钱用于干什么了。例如:我在减肥中,看到了一笔饮料支出,我会提示自己这周已经喝饮料了,想喝下周再喝。

总之我认为对我而言,自己手工记录是非常有必要的。当然这会花费不少的时间而且需要有足够的毅力去坚持。如今我也使用了一年半了,我认为这还是挺值得的。

按日期划分

虽然有 fava 之类的可视化工具,但是账单的划分方案也是十分重要的。我的账单是按照日期划分,这样在一件事情结束后这个账单就不再改变,这个账单甚至能当日记。例如:我记录下了旅游中的支出,在翻看账单的时候我还能回想起当时做了些什么。

换种角度来说这就是日记,

记录频次

得益于复式记账的优点,我可以不在当天记录账单,如果出现账面不平或余额对不上的情况,可以很方便得找到问题出在哪里。

刚开始使用 beancount 时,我大概每天都记录一次。随着新鲜度的过去,我的账本记录周期约为每周一到两次。这个频次使我不必每天去记录,同时我也不会忘记收入或支出的原因,这是一个我认为比较合适的频率。

如果面临旅游、出差、短期外出等不方便记录的情况,我一般会在结束后记录,并给这些账单打上标签,方便后续回顾,一般时间不会超过半个月。

Beancount 注意事项

不要做记录的机器

记账的最大意义不是在于记录,而是在于回顾。即:通过记录分析自己的资产配置和状态,改善资产配置、收入支出比例等。如果单纯去记录那么和没记没什么差别。所以千万别做数据记录的机器,定期回顾是非常重要的,这也是我坚持人工记录每一笔开支的原因之一。

用好 GUI

fava 作为可视化工具可以说是非常专业、简单且清晰明了。它直接提供了:收入支出表、资产负债表等几个常用报表,并且配有统计图表。如果你想要一个炫酷的、复杂的界面也可以使用 paisa。在一个公司中最常用的就是收入支出表和资产负债表了。

两个报表

收入支出表告诉我们钱从哪里来,是被动收入还是主动收入,是奖金还是工资。还可以知道:钱花在了哪个品类里,支出对比收入是否合理等,也是现金流的体现。

资产负债表明确地告诉我们当前的资产配置是什么,各个账户的余额和负债是多少。从这里得到权益,即净资产,用于确定自己当前的财富。例如:贷款买房也只是资产与负债同时增加,净资产保持不变,保证账单具有统计意义。这里可以得到资产配置是否合理,是否存在投资和投资的结果。对于还贷、还信用卡也很有帮助。

统计图

清晰的统计图表是查看账本的重要功能,我喜欢在月和季度的时间尺度上查看损益图,月度/季度支出与收入和各类收入/支出占比。

我在某段时间内的支出树状图
我在某段时间内的支出树状图

从每日的尺度上查看资本净值图得到净资产的变化趋势。

资本净值图示例
资本净值图示例

通过上述这些具有专业性的报表和统计图,可以清晰地了解个人资产状况这也正是之前说道的,像开公司一样记录个人资产。

如何创建支出账户

如何创建账户是我踩坑的地方,如今我想更改账户变得十分困难。创建支出账户时:层次要多,种类可少。

首先账户一定要细致,采用多个层级结构,例如出行费用,包含火车、汽车、飞机、轮船费用和汽车加油、维护保养,因此一定要采用多层级结构,不要把它们统一归为出行费用,这将导致这些费用分开困难,一旦开始记账一段时间,再想把这些费用分开就很困难,减少统计的意义。

支出账户的数量(种类)可以减少,因为不是所有的支出都能一下想到。例如往常出行只使用汽车,旅游时使用了飞机。如果分类足够细致可以轻易地增加飞机这个账户,而如果只有一个出行账户,当产生这类新消费时,只能把它记录到出行账户中。再比如说:旅游时遇到了景点门票是一个往常没有的消费种类,那么可以规划到 支出—>娱乐—>旅游—>门票 这个账户中。

除了支出账户以外,其它账户可以根据现有资产、银行卡、数字钱包等进行创建,相对于支出账户,这类账户要确定很多。

小结

坚持记账一年多,我的账单很少出现账面不平的情况。除了记录还需要养成定期断言的习惯,例如每次记账或是每个月末进行一次断言,能有效防止账单出错。在将来的某一天我会考虑创建一个新的账本,以纠正之前创建账户时的错误。

以上就是我对 beancount 使用的个人经验分享。

评论

  1. 6 月前
    2024-6-30 10:08:01

    学习一下

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
隐藏
变装