为什么要用obsidian来记账呢,这并不是为了折腾,而是反抗资本的剥削。
我是随某记近十的用户,当然一直没有充值,最近要导出之前的账目,居然要收大百的费用。之前从来没有听过要收费,受不了这种欺负。
想起用obsidian来记笔记的初衷就是为了不受制于人,一切数据都掌握在自己手里。于是我毅然寻找免费的,开源的记账方案。
一开始,gnucash这个开源的软件进入到了我的视野,用了一段时间,pc端已经是专业级的存在了,但是移动端作者却没有开发,功能小得可怜,最关键的,我发现它不能插入附件。
这时,我开始梳理自己的需求:
- 开源,免费
- 复式记账功能
- 可以方便导入导出数据
- 跨平台(安卓,win,mac)
- 可以在记一笔账的时候,插入附件
- 有往来款项(借入,借出)到期日倒计时功能。
很显然gnucash是做不到的,我找了市面上几乎所有的app或者是软件,很负责任地说,到目前为止满足上面6条的记账软件,我还没有找到。
就在要放弃的时候,接触到了beancount这个项目,这是文本记账的开源项目,突然受到启发,完全可以利用dataviewjs来解析beancount的数据格式。经过一番努力,果然可以。
于是为了实现更多的功能,我自定义了bean数据格式让obsidian读取。实现了所有的功能。先看图。
说明一下,
2025-03-15 * “早餐:永和豆浆” ----->这是日期和描述
支出:食品 25.50 ----->这是借方科目和金额
资产:建行0328 -25.50 ----->这是贷方科目和金额
![] ----->这是附件
“早餐” ----->这是备注
到期时间: ----->这是往来科目的到期时间
^id20250315073015 ----->这是块链接标识
4 个赞
洛森
2
我也在用beancount
楼主的这个方案,无法使用beancount的导入功能吧(要写代码块到markdown中)
如果能直觉读取bean文件就更好了
不能使用beancount的导入功能,因为我的有些需求beancount也没办法做到,所以我扩展了它的功能,但是你的建议,我后期试一下,看能不能直接使用beancount的数据,这样就整合了beancount的功能了。
雾中月
4
看着挺不错,但是我现在还是小白,不会用插件,就简单记记笔记。
洛森
5
我的理解是
beancount 本身已经是一个很好的纯文本记账工具了,使用 git 管理非常方便,如果嵌入到 markdown 里的话会丢失掉很多 beancount 自身的特性,比如导入、比如 fava 等
如果要实现在 obsidian 内编辑账本的需求,obsidian 本身有一个插件 GitHub - sunxvming/obsidian-vscode-editor: Edit Code Files like VSCode in Obsidian. 已经可以实现在 obsidian 内编辑 bean 文件了(不过还缺少 beancount 语法的自动建议)
反而我自己的感受是 fava 其实有点不符合中国人的习惯(个人看法),如果能用 obsidian 读取 bean 文件,替代 fava,那就太好了。
供参考。
linux 就是特别钟爱文本,该搞个文本项目计划,一切皆文本
我就因为fava满足不了我的需求,所以才自定义bean文件,如果你要原始的格式,那我附件什么的功能就无法实现了。
其实就是一个记账,没什么科技含量,不用太在意用beancount还是什么,只有自己用着就好。目前 obsidian这套记账的系统对我来说,是最完美的。
楼主这套系统很棒啊,想学习下,是插件吗?还是纯自己搭建的系统?有类似需求,感觉很有参考意义
不是插件,是dataviewjs 脚本,关键是看你想不想折腾,不建议小白用。
stevenh
(stevenh)
10
现在脚本的门槛很低了,直接把这个帖子,发给智能体工具,就能让AI搓一个,我就是让AI整的,我觉得自己用够了。