1 前言

最近开始给娃零花钱了(一年级)。玩法是一天一元,按月发放。
不过现在是数字时代了,没有那么多零钱,所以采用虚拟户头记账的方式,可以提现购买或代为网购扣款。
一本手工账让娃自己计,一本电子账做公正校验。
现在在线记账的软件挺多的,虽然不在意隐私问题,但是经历过博客关门、邮箱作废的惨痛经验的我,不敢将这些信息扔到公有云了。
看了下市面上的靠谱的单机软件。像腾讯文档这种记账,觉得看余额都很麻烦,不专业。本来是想弄个Access做个录入界面搞定,突然看到了少数派的推荐文章 记账神器beancount ,拿来试了下,感觉还不错,很方便。

2 安装

安装很简单。fava是方便查看用的Webserver

pip install beancount
pip install fava

3 样本

核心就一点:每组数据是平衡的,即总值为0

可以看到网上有些资料玩的很花,包括汇率转换,断言,等等,不过我这边用不到就是了。

option "title" "我的账本"
option "operating_currency" "CNY"

1990-01-01 open Assets:VirtualCard CNY
1990-01-01 open Income:Salary CNY
1990-01-01 open Expenses:Enjoy CNY
1990-01-01 open Expenses:Study CNY
1990-01-01 open Equity:OpenBalance


2022-05-13  * "初始化"
    Assets:VirtualCard   50.00 CNY
    Equity:OpenBalance  -50.00 CNY

2022-05-14 * "校门小店" "文具购买"
    Expenses:Study       25.00 CNY 
        narration:"本子"
    Expenses:Study        2.00 CNY
        narration:"笔"
    Assets:VirtualCard  -27.00 CNY

2022-06-13  * "月度零花钱"
    Assets:VirtualCard   31.00 CNY
    Income:Salary       -31.00 CNY

效果实例

语法上,使用缩进(TAB)标识一组数据,这个很Python或者说很Yaml就是了。
使用narration可以在Fava上看到备注信息。
注意,这个Assets之类的前半段是固定语法,冒号后面的没要求,但是似乎中文不行。

使用上,最终看Assets:VirtualCard的账目,能确定最后的剩余资金。

4 IDE

推荐使用vscode,商店里安装beancount插件和beancount Formatter即可
输入时会自动提示选择账目类型,按TAB补全。同时,如果输入了数字,一旦你敲入“.”,会自动format。
推荐开启beancount.runFavaOnActivate ,这样打开beancount文件,就自动启动fava,可以网页看结果了。

5 云同步

本地硬盘也有挂掉的风险(已经坏过两块硬盘了,丢了不少珍贵的老照片TAT),所以这类不涉及敏感信息缺怕丢的,最好还是云同步下。
因为不想开机启动奇奇怪怪的网盘软件偷跑流量,所以最方便使用的就是OneDrive了。

c:\
cd users\<your_name>\OneDrive\
mklink /D zhangben d:\zhangben

在OneDrive的本地目录下创建一个软链后,这个实际上在其他磁盘的目录就会被Onedrive自动同步

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐