Ledger 一年记

2020 年 2 月 26 日 • 10:49 PM

不知不觉 Ledger CLI 已经用了快一年了。这个简单的命令行软件在这一年里帮了我不少忙,回答了很多财务上的问题,帮我记录了收入和开销的细节,也能追踪各个账户的余额一览。

感受之一是,Ledger 并没有一个简单的替代品。找了这么多的图形界面 app,从简单记录开销的独立小型 app 比如 Next,到专业级别的 MoneyWizMoney Pro,都没能解决一个最最基本的需求:追踪和朋友的欠债。如果替朋友垫付饭钱,钱从现金(资产)账户同时流入应收账款(资产)账户和消费账户,一笔交易同时牵扯三个账户,这就干倒了一片图形界面 app;朋友还钱的时候,钱从应收账款账户流入现金账户,是一个资产到资产的转账,同类别账户之间的交易又干倒了一大片图形界面 app。

这么多的图形界面 app 可能只有 Finances 2 能够做到这一点——Finances 的背后逻辑依然是复式记账法,开销、收入、负债和资产都是平等的账户,因此各种交易状况都能非常轻松地进行记录。但是 Finances 在试用几天的期间 iCloud 同步坏了无数次,我已经彻底没了耐心。倒是 Ledger CLI 基于纯文本文件操作,使用 Github 同步到手机上、在公司电脑上用网页操作,从来没有让人失望过。

Mint 这样的网上财务软件可以帮你完成大部分的记账操作,但它们往往需要经常重新登录,也不能百分之百正确归类开销——你给朋友转账的时候,交易同样需要很长时间自己整理才能正确反应权责发生制 (accrual basis) 下的收支状况。

感受之二是,我已经被 Ledger 的自由度宠坏了。我可以用文本自由地设置账户结构,使用账户 alias 可以在记账的时候少打很多字,不用担心账户结构。之后如果需要重新整理账户,可以修改账户 alias 直接进行系统性更改——我就曾经把支付宝账户放在 Asset/Checking Accounts/Alipay,后来更改到了 Asset/CN/Alipay,把所有加币现金账户留到了 Asset/Cash/Some Checking Account 用来归类可以直接支取的日常现金额度。

更不用说法币的汇率转换、虚拟货币(在国内的时候买过少量比特币、以太坊)和共同基金的价格转换——无论是法币、虚拟币、点数积分还是基金和股票,Ledger 都把它们归类成 commodity,之间的转换和交易也都能够轻松追踪。最近更是想开始研究精确追踪基金的价格变化和持有数量,不过感觉 DRIP 分红有点麻烦,既然能够拿到税单也不用自己费劲记录了……扯远了。

感受之三是,Ledger 并不难用。既然是命令行 app,Ledger 可以设置 command 文档直接执行预先设置的财务报告。我现在就有一些预置的内容可以一键汇报:

设置好合适的账户结构、账户 alias 和预先准备好的报表,剩下要做的就是每周拿出十分钟时间记账了。