以前用过 ledger.cli, 现在在用 beancount. 个人觉得功能上前者更丰富一些, 但是后者的可视化工具非常不错, 能直观看到历史收支变化, 这个对我来说很有用.
beancount 的自带的文档就挺丰富了, 这篇 是个简介, 随便看看就行. 双栏记账的方法 和 beancount 入门 这两个仔细读一读, 基本就会用了. 中文文档可能少一些, 刚才随便搜了下, 这篇 看起来还不错.
然后是个人的一些经验:
最主要的是记账占用的时间要和自己的收支复杂度匹配, 如果你每个月收支比较固定, 那其实不记账也没什么关系. 如果有房贷/车贷/小孩, 或者是有大额投资理财/自己开公司, 那花点时间记账应该还是挺有好处的.
从上面这点出发, 首先是不用频繁记账, 我刚开始用 ledger 的时候, 总想着每天每笔收入都记下来, 比较繁琐, 而且一旦某笔帐漏记/记错, 帐目就对不上了, 需要往前查出问题的条目. 现在的办法是这样的: 规划自己收支的 “出入口”, 我现在就只用支付宝, 一张银行卡, 一张信用卡和其他几个必须的账户, 月底统一把所有账户的流水拿出来记账然后做核对. 这样一个月只需要在月底花一到两个小时, 其他时间完全不需要想着这件事情, 实践来看这样对我来说更容易坚持下去. 而且如果发现帐目对不上, 我可以确定问题是在当前这个月, 更容易定位.
另一点是小额收支 (比如余额宝每天的收入, 公交地铁费) 可以不记, 月底核对的时候会发现帐目有小几百的出入, 这时候统一计入一项 “杂项支出/收入” 就行, 可能会省掉很多麻烦.