
使用Beancount管理家庭财务
使用Beancount管理家庭财务 今年春节的时候,由于感受到了使用近9年的记账App挖财可能无法长期使用了,我便花了11小时将其迁移到了强大的 纯文本复式记账 软件 Beancount 上,代价就是历史数据无法迁移过来。为了能够将历史数据导出做个备份,在支付了挖财50元VIP季会员费后我拿到了9年的Excel账本,转投Beancount的怀抱,希望能继续花一生记录财富慢慢增值的过程。 对于我的记账史见这篇 我的财务管理方案 文章。放弃使用9年多的工具是挺难的,尤其是历史数据的迁移,但有多种原因促使我不得不选择新的工具: 从一些挖财App深度用户得知挖财可能要无法使用; 挖财的数据导出需要VIP权限; 个人长期的数据托管到商业化的公司手里不仅有可持续使用的问题,还有严重的隐私问题; 已经被很多人推荐过复式记账神器Beancount的强大; Beancount是开源且本地的工具,满足可持续使用与隐私安全的需求。 选择了Beancount后我便开始了数据迁移与适应新工具的过程了。目前已经使用Beancount近10个月,我的感受是记账类App虽然让我们能更便捷的利用手机记账,但是却让我们失去了记账的乐趣。用复式记账虽然初次使用需要学习一些知识,但是一旦掌握后可长期使用,性价比其实挺高的。 不过我需要提醒的是,如果你只是想简单记账,或者是想培养记账的习惯,那选择一个记账App也可以,但是如果你看重隐私和可持续使用,那Beancount就是最好的选择。 这篇文章我并不想写成Beancount的教程类文章,所以对Beancount的入门介绍我推荐看这篇 记账神器Beancount教程 。之后可以看byvoid的进阶版教程: Beancount复式记账(一):为什么 Beancount复式记账(二):借贷记账法 Beancount复式记账(三):结余与资产 当看完这些教程后,相信你已经知道怎么用Beancount记账了。接下来我想分享的是我是如何使用Beancount记账以及如何解决一些特殊记账的场景。 使用Beancount的心理建设 不少人畏惧使用命令行(CLI)和纯文本来记账,尤其是非程序员的群体,但这些只是习惯问题。Beancount的记账是很简单的,比如我们用记账App记录一笔中午吃饭的帐是这样的: 而用Beancount记账是这样的: 2021-10-01 * "请客吃饭" Liabilities:CreditCard:CN:PINGAN-6467 -83.0 CNY Expenses:Food:Lunch 看起来用手机记账更直观一些,而且Beancount很难在手机上操作,一般都用电脑来记账。但纯文本的优势在于编辑和存储方便,不需要特定的软件即可编辑内容,尤其是有很多笔账要记录的时候,电脑编辑纯文本效率也更高。 手机App记账的时间点一般都是随时记录,但Beancount的话我一般是一天一记录,有的人是一周或者一月一记录。看起来用手机随时记录很方便,但用电脑记账的话,需要先在手机上暂存,之后在电脑上统一记录。现在大多人用手机支付都有消费提醒,只需要在晚上记账的时候查看下当天的消费记录就可以记录了。 我个人感觉手机记账方便只是一个习惯问题,当我切换到电脑记账的时候不适感也就一周,之后感觉和手机记账差不多,就是时间点的不同而已。所以手机记账方便只是一个习惯问题,并不具备啥优势,时间成本也差不多。 所以说手机记账App和Beancount的差异主要是命令行、纯文本和移动端的差异。这些差异并不是说手机App记账有优势,更主要的是习惯的问题,而习惯的切换成本不过一周时间。带来的好处却是: 数据掌控在自己手里,隐私不会泄露; 更灵活的记账方式; 摆脱手机App流水式记账,使用复式记账法专业记账; 长期可持续的记账方式。 我的Beancount记账流程 我的账本结构包括记账的工具都是参考 记账神器Beancount教程 这篇文章。 账本建立 在accounts这个目录里存放着: . ├── assets.bean # 资产账户,包括银行卡、信用卡、投资组合、房产、车、加密币钱包、RSU 等账户 ├── liabilities.bean # 负债账户 ├── income.bean # 收入类别 ├── expenses.bean # 支出类别 ├── equity.bean # 通过 pad 和 balance 初始化资产账户 └── price.bean # 自定义货币价格,这是 Beancount 最神奇的地方,可以自定义货币价格,比如美元和人民币的价格,这样在记账的时候就可以自由的记录货币的价格,而不用担心记账的时候货币价格变动的问题。 assets.bean ...

