前言

流水账

从刚毕业工作开始,我就养成了记账的习惯,一开始用的挖财。那时候感觉挺好用的,每一笔支出和收入都记得很详细,在月底看各个账户的余额能和银行卡的余额对上,还挺有成就感。但现在想来这这是记录各种流水账,作用非常小。现在大部分记账软件还是这个模式。

EXCEL记账

后来准备结婚,打算买房。当时我有30万现金,女朋友有10万现金,房子的总价大概200万。那时候很想以我们的收入预估一下,买房之后多久能还清亲戚朋友的借款,多久现金流能充裕,现金流能否应对未来生孩子之后生活开支的增加。

这时候挖财就不够用了,我用起了excel。

excel第一页是债务清单,是买房从亲戚朋友那里姐的钱以及短期消费贷。第二页是每个月的收入、利息支出、家庭开支、现金余额等。这样就能预估多久能攒出钱来用来换第一页的债务,对亲戚朋友也有个交代。

excel的现金预测

excel第三页是每个月实际资产余额的汇总。

各月资产余额汇总

这个excel我大概用了四年,期间我离职读研,这个excel帮助我判断了我在读研期间家庭的经济状况。后来还帮助我判断了买二套房能不能长期稳定的还房贷。

使用过程中基本确定了我对记账的几点需求:

  1. 不记录明细,而是每月统计资产和负债余额
  2. 能基于资产、负债,分析财务状况,包括净值变化、流动资产、现金流变化等
  3. 能够预估现金流和资产变化,做三五年里的家庭财务规划

随手记

大概从21年开始,我用随手记开始记账,它很好的满足了我前两需求。能够正确记录资产和负债,每月统计余额,也能绘制资产负债以及净值的变化图表。

在使用随手记的过程中,我一直想自己做一个记账软件,有两个考虑:

  1. 随手记不能做财务预估
  2. 数据不在自己手上,不够安全

财记开发

虽然我工作用python,但对网站开发的技术栈不熟悉,所以财记的开发也是兜兜转转,用过flask,用过pyqt,用过dash,最后用了Django+JQuery,前前后后也有两年时间了,目前可以正常部署使用了。

开源代码地址:https://github.com/nutalk/OpenBookkeeping,数据以SQLite文件保存在本地。

部署也很简单:

docker pull nutalk/bookkeep:main
docker run -p 7788:7788 nutalk/bookkeep

然后打开浏览器,通过http://ip:7788 访问。

记录账户

打开主页,或者点击“账户列表”,就能看见账户列表,或者新增、编辑账户了。
账户有固定资产、流动资产、长期负债、短期负债这四类。

对于工资、出租的房屋等能产生现金流的项目,可以设置正的现金流。对于生活费等固定开支,可以在负债中设置一个正的现金流的负债。
截图里面记录为一个能产生20000元现金流的流动资产。
点击对应的账户之后,可以查看明细、增加明细。这里的增加明细类似一般记账软件的记账功能。

对账

点击“对账”,能看见所有账户的当前余额了。

修改其中的金额,之后点击“确认”,系统会在对应账户的明细中增加相应的记录。这个记账软件我每个月打开,核对一次余额就可以了。

如果不是每个月记录也没关系,系统会自动根据上月情况推演这个月的情况,统计报告还是按月绘图的。

报表

点击“报表”,能看见对当前所有账户的分析。

账户组成

报表的上半部分是所有账户的组成,包括资产、负债、净值、流动资金等。
 

资产负债变化

报表第二部分是历史上每个月的资产负债的变化。

资产负债预测

对于房贷等负债,每个月需要归还本金和利息,而工资、房租等都能产生现金。因此可以预估外来的资产负债变化以及每个月的现金余额。

上面图中,2026年有一个大额的现金流为负的情况,对应消费贷的到期,预示到时候需要筹措一笔现金用来归还消费贷。

小结

如果对这个记账软件感兴趣,欢迎评论、star、fork。