Skip to content

学习使用-beancount-记账

Updated: at 00:00

Why?

  1. 全面的了解家庭财务状况;现在家庭的现金流有一些,储蓄有一些,债权,期权,股票也有一些。收入和支出的种类、来源也愈发丰富,Nora 到来以后,会增加各种开销。通过记账行为,全面、细致的了解家庭的收入、支出情况。知道“钱都去哪了”
  2. 提高风险抵抗能力;最近了解到 “高收入陷阱”这个概念,现在的家庭收入构成 100% 依赖工资性收入,虽然当前收入还不错,相对比较稳定,容易产生“感觉还行”的错觉,开销不自觉地增加很多,最近三个月的信用卡账单,每月都在一万元以上。但这样的收入构成,风险抵抗能力很差,一旦失业或者工资发放出了问题,整个现金流就断掉了。
  3. 改变消费观念;最近有点儿深陷消费主义深渊中无法自拔,无论时自己还是小朋友的的花销,喜欢就买,想要就买,有点儿愈演愈烈的趋势。通过日常的记账行为,变相的提醒自己,“别再买了,有啥用呢”
  4. 增加被动收入,开源节流。

现在是怎么记账的

现在是通过notion 自建数据库表,每年末,做当年的财务总结和下年的规划。每个月会更新当月的大致花销,收入及结余情况,使用几年下来,能满足基本的流水账诉求。

年末总结

  1. 今年攒了多少钱
    1. 预计攒多少
    2. 实际攒多少
  2. 今年赚了多少
    1. 工资、奖金
    2. 其他
  3. 今年花了多少
    1. 固定支出
      1. 日常开销
      2. 房贷
      3. 生活开销(生活费,固定金额,适当宽裕)
      4. 保险
    2. 大项支出
      1. 医疗、旅游等
      2. 大件支出,Mac,家用电器等
    3. 额外支出
  4. 关键交易明细
    1. 借出
    2. 还款
    3. 回款

新年财务规划

  1. 明年能赚多少
  2. 明年要花多少
  3. 明年想赞多少

Notion记账的问题

  1. 抓大放小,不关注细节,只关注整体的结余
  2. 数据分析不方便
    1. 消费合理性
    2. 理财的角度,钱生钱的方式不多
  3. 数据安全性问题
    1. 云端数据,没有额外的加密和脱敏

安装 beancount

pip install beancount fava

复式记账的概念

账户

// data open 类型:类型:类型:类型:货币;open 后面使用的是树形语法
2019-01-01 open Assets:Bank:CN:BoC CNY
- Assets
 - Bank
  - CN
   - CMB
    - CNY
    - USD

借贷恒等式

Assets+Liabilities + Income+Expenses + Equity = 0

费用明细归类

交易

Beancount基本的语法如下所示:

YYYY-mm-dd * ["payee"] "description"
  posting 1
  posting 2
  ...

每一笔交易,需要在两类账户流转。每一条记录都至少有一条借记(Debit)和一条贷记(Credit)。可以看下面这个例子:

2019-01-01 * "日本航空" "紐約-東京"
  Expenses:Transport:Airline 1000 USD
  Liabilities:CreditCard:US:Discover -1000 USD

典型场景的交易case

// 信用卡还款, 钱从 资产账户 减少,流动到 负债账户
// 资产账户 负数表示资产
2023-07-30 * "CMB 信用卡还款" "信用卡"
    Assets:CMB:0022 -18259 CNY
    Liabilities:CMB:4738 18259 CNY

编辑工具

账本的组织结构

| 采用日期+类型方式划分,结合标签辅助分析

目录结构

└── beancount
    ├── account
    │   ├── assets.bean
    │   ├── equity.bean
    │   ├── expenses.bean
    │   ├── income.bean
    │   └── liabilities.bean
    ├── archive // 归档目录,历史数据
    │   └── submain-2022.bean
    ├── main.bean // 全局账本入口
    ├── price.bean // 待定,自定义
    ├── submain-2023.bean // 2023 年账本入口
    └── tags.bean // 全局标签,财务分析使用

目录结构的可能的演进

元数据管理

元数据管理的三个原则:

  1. 完全的拥有权限
  2. 数据安全,加密存储
  3. 支持修订纪录,方便追溯

具体方案是:

  1. 创建 github 私有仓库,通过 git 提交记录,记录账本的变更,同时私有仓库确保一定的数据安全性
  2. 通过 encrypt 软件加密文件,保证文件非明文存储,私钥单独存储
  3. iCloud Drive 备份加密后文件

元数据管理

完整的一个流程

实时记录

  1. 发生一笔交易
  2. iPhone 发送消息给 “滴答小助手”,标签 #beancount 记录金额、行为
  3. 晚上登记当日交易到 beancount

月底自动导入

进阶用法

TODO

📎 参考文章

Beancount Documentation

我的财务管理方案

使用 Beancount 管理家庭财务

记账神器beancount

学习 Beancount 入门复式记账 | Verne in GitHub

请查收你的「开年变富攻略」:开发者如何借助开源工具,科学记账? - 掘金