前言
流水账
从刚毕业工作开始,我就养成了记账的习惯,一开始用的挖财。那时候感觉挺好用的,每一笔支出和收入都记得很详细,在月底看各个账户的余额能和银行卡的余额对上,还挺有成就感。但现在想来这这是记录各种流水账,作用非常小。现在大部分记账软件还是这个模式。
EXCEL记账
后来准备结婚,打算买房。当时我有30万现金,女朋友有10万现金,房子的总价大概200万。那时候很想以我们的收入预估一下,买房之后多久能还清亲戚朋友的借款,多久现金流能充裕,现金流能否应对未来生孩子之后生活开支的增加。
这时候挖财就不够用了,我用起了excel。
excel第一页是债务清单,是买房从亲戚朋友那里姐的钱以及短期消费贷。第二页是每个月的收入、利息支出、家庭开支、现金余额等。这样就能预估多久能攒出钱来用来换第一页的债务,对亲戚朋友也有个交代。
excel第三页是每个月实际资产余额的汇总。
这个excel我大概用了四年,期间我离职读研,这个excel帮助我判断了我在读研期间家庭的经济状况。后来还帮助我判断了买二套房能不能长期稳定的还房贷。
使用过程中基本确定了我对记账的几点需求:
- 不记录明细,而是每月统计资产和负债余额
- 能基于资产、负债,分析财务状况,包括净值变化、流动资产、现金流变化等
- 能够预估现金流和资产变化,做三五年里的家庭财务规划
随手记
大概从21年开始,我用随手记开始记账,它很好的满足了我前两需求。能够正确记录资产和负债,每月统计余额,也能绘制资产负债以及净值的变化图表。
在使用随手记的过程中,我一直想自己做一个记账软件,有两个考虑:
- 随手记不能做财务预估
- 数据不在自己手上,不够安全
财记开发
虽然我工作用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。