[ANN] 关于复式记账语言 Beancount 过分难用这件事

2022-04-16 10:54:17 +08:00
 gaocegege
作为一个工程师,很长时间以来不知道如何管理自己的财务,直到看到了 BYVoid 的这篇文章 https://byvoid.com/zhs/blog/beancount-bookkeeping-1/ ,于是开始尝试使用 Beancount 来记账。它不仅可以用非常简单的语法来记账,并且提供了类似于 SQL 的查询语言,可以构建自己感兴趣的查询结果,更清晰地了解自己的财务状况。当然,最最最重要的是,它是开源的,不会像各种记账 App 一样,做不下去就跑路,可能记得账都没法导出保存下来。

但是,在使用的时候,也遇到了一个比较大的问题,主要是没有各类记账 App 那么易用,尤其是在导入账单方面。Beancount 要求你的每一笔账都是要对齐的,而我的支出通常分散在各个不同的 App 或者银行卡里,有时用支付宝付款,有时用微信,或者直接用银行卡。这就使得每天记账对账特别苦恼。

为了解决这个问题,https://github.com/deb-sig/double-entry-generator 应运而生。它提供了便捷的方法能够把支付宝或者微信的账单直接导入到 Beancount 中,并且利用 Beancount 的生态工具如 Fava 等进行可视化的展现。

想时刻跟踪自己的财务情况,不想依赖第三方的独立记账 App 的同时又不想手动记账的朋友们,可以了解一下!

不过,也可能有一个副作用,记账记得太清楚,可能会让自己感到不适(怎么花了这么多!)
5541 次点击
所在节点    分享创造
39 条回复
TripleZ
2022-04-16 11:05:25 +08:00
这个导入器超级好用,昨天刚用这个把过去三个月的帐单补齐了。
yibie
2022-04-16 14:52:36 +08:00
感谢!非常有趣,收藏
musi
2022-04-16 15:03:25 +08:00
刚好在看 Beancount
maleclub
2022-04-16 15:14:13 +08:00
过分难用这件事?标题能不能不要那么吓人? beancount 是我用过最方便的记账工具,对零基础的用户也友好。
gaocegege
2022-04-16 19:21:08 +08:00
@maleclub 对不起,标题党了,下次注意
TrembleBeforeMe
2022-04-17 11:29:29 +08:00
自动导入器的一大问题就是账户设置吧,我习惯开很多子账户,只能手动分类,根本无法自动。
gaocegege
2022-04-17 12:14:42 +08:00
@TrembleBeforeMe 支持基于规则的分类,理论上你可以自己写分类的规则来自动化
palexu
2022-04-18 13:19:04 +08:00
传说每一个用过 beancout 的程序员, 都造了一套轮子😁
gaocegege
2022-04-18 17:05:44 +08:00
@palexu 确实,这个项目也是基于某个网友的轮子二次开发的 hhh
gaocegege
2022-04-18 17:06:31 +08:00
@TripleZ 居功至伟(
gaocegege
2022-04-18 17:06:46 +08:00
@yibie 感谢,有任何问题可以随时回复
N032138
2022-04-18 17:24:44 +08:00
@maleclub 零基础用户表示看的一头雾水
curoky
2022-04-19 01:11:26 +08:00
关于记账这事,最早从手机端就开始折腾,换了一个又一个,最后阶段性的稳定在了 spendee 上,主要原因是它能导出数据,也只有国外的 app 才有这个能力了。后来发现这样手动记老是忘,所以想写脚本录入账单,后面偶然发现 beancount ,以为这个会是最终归宿,结果又是一个不归路。。。
一开始自己写了一堆导入类,查了好多文档跟教程,最后直接看源码了,好几个周末时间。类写好后,就开始折腾数据,不是所有的 app 都可以像微信直接可以导出账单的,虽然一次也只能导出 3 个月。。。很多不要脸的 app 都需要我 Android/浏览器抓包拿数据,典型的像美团,京东,滴滴(不要脸的公司)。。。。
复式记账的特点要求我们录入每一条交易,即便这个是中间周转,也要准确录入,另外就是一旦导入数据,就得理清每一条数据的元信息,这个太难了,微信 /支付宝 /银行没有一个 unique id 让我把交易链路关联起来,自己写了很多 joiner 逻辑,然后就是慢慢洗数据的道路,以至于后面代码越来越复杂,逻辑越来越混乱。
说道 beancount 项目本身写的也是一团糟,后面觉得想整体重构一波,但也不想重写 beancount ,就抽了一个中间层,把 beancount 做 backend ,就这么折腾又好久。。。
最后真的倦了,记账这事零零散散花了两年的个人周末时间,我开始认真反思记账的目的到底是什么,到底到了什么,结论是
记账没有任何屁用,你没看错,就是没有屁用,纯粹是人为的给自己制造焦虑,还浪费时间,你以为记账就不会乱花钱了吗?你以为记账钱就会多了吗?你以为你能记清楚每笔花销吗?

我们真正需要的可能仅仅只是偶尔在某个时间对某路收入或者开销做个报表,仅此而已,
我已经把记账的 git 仓库都删干净了,数据都归档了,从此跟记账这事无缘!!!

不过也不是完全没收获的,这个事情告诉我们,不要把时间花在伪需求上,也不要着急动手,理清楚真正想要的是什么。
curoky
2022-04-19 01:19:49 +08:00
上面是发自内心的忠告,建议把时间花在真正有价值的事情上,记账这事完全可以丢进历史的垃圾桶。不喜勿喷,不接受任何反驳,已经浪费了零零散散长达两年业余时间,再多钱也买不回这些时间。
maleclub
2022-04-19 10:56:29 +08:00
@N032138 建议看 BYVoid 的博文,我最开始连编程都不会,部署好就开始记账。
maleclub
2022-04-19 11:06:23 +08:00
@curoky 工具而已,合则来不合弃之。零基础零编程基础入手 6 年,用了 3 年零散时间整理近 7 年的老账本; beancount 这个工具,对我来说,不是带
并未记账焦虑反而给我两个很好的机会,其一,切入复数记账的原理及应用(零散时间一年掌握中级会计,边记边想)其二,切入宏观经济学(现阶段只是修炼阶段,边分析公司财报边思考,作为兴趣不强迫自己的学习进度)...最后,我每一笔账都是手工记账的,不平衡的调账也是手工的,花里胡哨的脚本我不会写反而没有那么多烦恼,慢一点无所谓,主要是能解决我的问题。
N032138
2022-04-19 11:21:44 +08:00
@maleclub 看完了,部署上了 然后 3 分钟后连 python3 一起删掉了
钱太少 记的没有意义
gaocegege
2022-04-19 14:31:26 +08:00
@N032138 我觉得,钱越少越值得记,会让自己更加有动力 XD
gaocegege
2022-04-19 14:32:34 +08:00
@curoky Beancount 我觉得它最主要的问题是缺少一个维护良好的 tutorial ,然后很多抽象都太古老了,理解起来很费劲。再加上它是经济领域的项目,有些概念本就不熟悉,所以我自己觉得学习起来确实太累了
gaocegege
2022-04-19 14:34:21 +08:00
@maleclub 你可能真的算是天赋异禀,我写代码写了 10 年后通过 BYVoid 的文章接触了 Beancount ,也摸索了大半个礼拜才初步了解应该如何利用它记账

失败.jpg

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/847297

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX