beancount-ns 是基于 beancount 开发,在 beancount 文本记账的基础上提供了 RESTful 接口和记账界面,也是本人对于 beancount 使用的一些实践总结。

你可以访问 https://beancount.xdbin.com 进行在线体验。

适用人群

如果之前接触过 beancount,那么这个项目将在 fava 之外给你提供另外一个选择。
如果之前不了解 beancount,但同时有记账需求,并且对账单数据的安全性非常在意,那么 beancount-ns 可以满足你的需求。不了解 复式记账beancount 将不会影响 beancount-ns 的基本使用。

关于 beancount

beancount 是一个优秀的开源复式记账工具。
如果你之前未接触过 beancount,你可以阅读下一节:beancount 介绍,也可以关注 awesome-beancount 项目获取更多的介绍。

之前的 beancount 数据怎么导入?

  1. 首先自行部署项目,并且创建一个账本,然后找到 编辑源文件 执行下述步骤。
  2. 将原有数据中的 account 定义数据按类型:Assets, Expenses, Income, Liabilities, Equity 分别放入对应文件中
  3. 将 beancount 历史数据拷贝至 history.bean 文件,即可完成数据的导入
  4. 由于 beancount 的高自由度,你的历史数据导入后可能会导致默认的账户分类无法兼容,可以在 账户>>添加账户 中选择 +新增账户类型 进行自定义,或者直接在 账户>>编辑源文件 中选择 account_type.json 进行修改,点击保存即可完成账户类型的自定义

    Tips
    beancount 支持 account 的定义中包含中文,但是只能是最后一个节点(或者每个节点的第一个字符为英文,我不推荐这么定义,因为这会让 account 看起来很奇怪)。所以我习惯于将最后一个节点作为该 account 的中文注释。
    例如:如果要创建一个公交车出行和支付宝资产这两个账户:
    公交车出行定义为 Expenses:Travel:Bus:公交车,支付宝资产定义为 Assets:EBank:AliPay:支付宝