All Articles

beancount 入门实践

开始使用

安装

使用 Beancount 之前首先需要 Python 3 运行环境。之后使用 pip 即可安装,运行以下命令。

$ pip3 install beancount fava

上面的命令其中 beancount 是核心包,包括了命令行工具,fava 是网页可视化工具。这里是一个示例账本。示例文件可以在 Beancount 的 Bitbucket 上下载。

文本编辑器推荐 VSCode,再配合语法高亮插件 vscode-beancount 即可

下载之后可以在命令行中运行:

$ fava example.beancount

可以看到

Running Fava on http://localhost:5000

如果顺利,在浏览器打开 http://localhost:5000 可看到以下界面,

beancount-example

使用 git 管理

在 github 创建仓库,用于保存账本文件,使用 git 进行版本管理

注意:请一定创建私密仓库,账单信息量巨大,属于很隐私的东西,避免泄露,可搭配 git-crypt 食用。

目录结构

├── README.md
├── accounts              # 账号管理
│   ├── Assets.bean
│   ├── Equity.bean
│   ├── Expenses.bean
│   ├── Income.bean
│   ├── Liabilities.bean
│   └── index.bean
├── books                 # 按日期划分账单
│   ├── 2019
│   │   ├── 01-spdb.bean
│   │   ├── 02-spdb.bean
│   │   ├── 03-spdb.bean
│   │   └── 04-spdb.bean
│   └── index.bean
├── category              # 按类别划分账单
│   ├── index.bean
│   └── salary.bean
├── csv.import
├── documents             # 归档目录
├── importers
│   └── __init__.py
└── main.bean             # 账单入口

其中:

main.bean:为账单入口文件,该文件只用来 include 其他文件;

account:账户目录,文件可按类型划分为收入、资产、负债、消费、初始权益;

books:存放交易,可以按年、月管理,方便记录和查找账单;

每个大目录下都创建 index.bean 文件,作为目录入口来 include 其他文件

参考