利用obsidian打造个人完美记账系统

为什么要用obsidian来记账呢,这并不是为了折腾,而是反抗资本的剥削。

我是随某记近十的用户,当然一直没有充值,最近要导出之前的账目,居然要收大百的费用。之前从来没有听过要收费,受不了这种欺负。

想起用obsidian来记笔记的初衷就是为了不受制于人,一切数据都掌握在自己手里。于是我毅然寻找免费的,开源的记账方案。

一开始,gnucash这个开源的软件进入到了我的视野,用了一段时间,pc端已经是专业级的存在了,但是移动端作者却没有开发,功能小得可怜,最关键的,我发现它不能插入附件。

这时,我开始梳理自己的需求:

  1. 开源,免费
  2. 复式记账功能
  3. 可以方便导入导出数据
  4. 跨平台(安卓,win,mac)
  5. 可以在记一笔账的时候,插入附件
  6. 有往来款项(借入,借出)到期日倒计时功能。

很显然gnucash是做不到的,我找了市面上几乎所有的app或者是软件,很负责任地说,到目前为止满足上面6条的记账软件,我还没有找到。

就在要放弃的时候,接触到了beancount这个项目,这是文本记账的开源项目,突然受到启发,完全可以利用dataviewjs来解析beancount的数据格式。经过一番努力,果然可以。

于是为了实现更多的功能,我自定义了bean数据格式让obsidian读取。实现了所有的功能。先看图。



说明一下,
2025-03-15 * “早餐:永和豆浆” ----->这是日期和描述
支出:食品 25.50 ----->这是借方科目和金额
资产:建行0328 -25.50 ----->这是贷方科目和金额
![] ----->这是附件
“早餐” ----->这是备注
到期时间: ----->这是往来科目的到期时间

^id20250315073015 ----->这是块链接标识

4 个赞

我也在用beancount
楼主的这个方案,无法使用beancount的导入功能吧(要写代码块到markdown中)
如果能直觉读取bean文件就更好了

不能使用beancount的导入功能,因为我的有些需求beancount也没办法做到,所以我扩展了它的功能,但是你的建议,我后期试一下,看能不能直接使用beancount的数据,这样就整合了beancount的功能了。

看着挺不错,但是我现在还是小白,不会用插件,就简单记记笔记。

我的理解是

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这套记账的系统对我来说,是最完美的。