十多年前,还在用诺基亚手机,没有如今这么畅通的网络和信息查询,于是从办了第一张信用卡开始,为了较好的记录自己每个月的存款以及各类开销,开始进行记账,逐渐成了一个习惯。随着这几年经济形势越发严峻,去年年底,为了更精细的了解日常的各项开销,体验了几款专业的记账 app,并最终付费使用了 MoneyWiz。
经过了一年的使用,MoneyWiz 虽然强大,但是很多功能都是用不到的(例如银行账单同步在国内无法使用等),并且手机上也经常需要使用魔法才能同步数据,可以说性价比非常低,所以趁订阅到期之前,开始计划转向开源记账项目。
个人记账背景
开始记账是因为网络以及电子化没有如今这么发达,加上刚大学毕业独自在大城市中打拼,拿着不高的工资,手里又没有什么储蓄,所以安全感很低。通过记账来跟踪自己每个月的开销,来提醒自己节俭,以及对未来有一定的规划,例如当时最大的开销是租房的租金,押一付三,要在 3 个月内,提前攒好下一季度的租金。当然这个阶段的记账都很模糊,多数是记一下大额的交易,以及发工资时记一笔余额,非常随意。
随后几年,在股市中赶上了一波牛市,把所有的积蓄都放到了股市中,每天都在买进卖出,有盈利有亏损。作为一个小白菜股民,对看什么 K 线可以说是一窍不通(牛市中看这个貌似也没啥用😄),为了避免亏损,此时记账变成了股票交易的记录,由于操作比较谨慎,赶在熊市来临之前成功卖出了全部股票,大赚了一笔。
然后拿着股市中赚的钱,以及从亲朋好友中借了一部分,成功背上了房贷。此时简直是人生至暗的一段日子,每个月都要精打细算:多少钱用来装修?多少钱用来还房贷?多少钱用来还亲朋好友的钱?最艰难的日子甚至饭都吃不饱。所以靠每笔花费的精打细算,熬过了这最困难的几年。
之后,结婚、生娃、买车等等,各类花销变得更多了起来,信用卡也办了好几张,记账变得更复杂了起来。也曾尝试了几款记账 app,实在忍受不了每笔账单都要输入的复杂,所以逐渐变成了使用笔记 app 和 Excel 制作简单的表格,记录信用卡的账单大额消费等信息。
经过了疫情之后,经济形势徒然越发严峻了起来,时不时传来各个互联网大厂裁员的消息。虽然公司没有大规模裁员,但是工作在这个圈子里,也变得紧张起来,所以个人的现金流也变得更加重要了。于是在今年年初付费使用了专业软件:MoneyWiz,再次做好精打细算的准备。
为什么要记账
实话说,在写这篇文章之前,我并没有想过「为什么要记账」或者「记账带来了哪些好处」,既然写到这里了,总是要思考一下的,否则我也无法说服平行宇宙中另外一个不记账的「我」来继续看下去这篇文章吧。
规划和计划
我想,记账所带来的最大的好处是:规划。作为一个需要肩负家庭重担的成年人,短期内需要规划好家庭的常规开销,长期内需要规划好家庭资产的增长。
众所周知,经济发展一般会伴随着一定的通货膨胀,直接结果就是带来购买力的下降,即今年 100 元能买的东西,明年可能需要 105 元才能买的到。所以一定要有投资意识,把一定的存储「花」出去,换来更高的价值。
那么一般简单的来说,短期在每个月内从不同方面要有多手的规划:
计划生活支出,这部分我现在多用信用支付(信用卡、花呗等),因为每个月都有一定变化,提前预留一部分现金有多有少,不如直接用信用支付方便;
计划现金存储,每个月都拿一部分比例的现金出来做固定存储,预防一些突发情况,但当储蓄池到达一定高度时,会将一半的资金拿出来做投资;
计划投资,剩下部分现金,则分别投资到不同方面做理财,例如股市等(目前是放到现金存储中,攒到一定程度还房贷,因为房贷的利率已经比大多数理财利率高得多);
长期来看,就会更加复杂,因为还涉及到固定资产的管理(例如房价的走势等)、对未来经济形势的判断以及家庭的状况等等。这些就只能看每个人的年度计划、五年计划等等,我不是相关方面的专家,实在不敢在这方面做指导😅。
预算与提醒
经过一段时间的记账,最好是有相关 app 的帮助,你就会对自己每个月的支出有一定的了解,那么可以制定一个合理的预算计划,例如每个月和家人朋友在外面吃大餐有多少的额度。
每个月在每个方面花费到一定程度时,进行一定的控制,长期会养成一个很好的消费习惯,避免冲动消费。
不要小看这一个小小的预算机制,你可以算一算这一年内,有多少冲动消费,总共花了多少钱,然后就知道其中的价值所在了。
安全和责任
正如一开始说到的,记账首先会给你带来安全感。如果每个月随意消费,做月光一族朝不保夕,相信无论是对自己还是家庭来说,是没有任何安全感的。而没有安全感,会对心理、行为和生活质量产生广泛的影响,例如常见的焦虑症和抑郁症等。
而且对于家庭来说,责任也至关重要,上有需要赡养的老人,下有需要教养的小孩,通过记账可以很好的安排好家庭整体的支出,尤其是在保险、医疗和教育方面,能发挥巨大的优势。
个人如何记账
如果你从来没有过任何记账的经历或者这方面强烈的需要,那么我不建议你直接使用记账 app 或者服务,因为基本上所有的记账 app 都需要极其细致的记录每一项收入、支出等,这可以说是一项非常繁琐的「工作」,会大幅度消磨你对记账的兴趣,难以坚持下去。
所以针对不同的繁琐程度,我大概分了 3 个级别,大家可以参考不同的级别,来选择适合自己的记账方式。
入门级
对于入门级来说,首先你要做到每个月的收入支出有大概的了解,能够做到一定的月结,对本月的开销有了解。
先用任何可以同步的笔记 app(iOS 的备忘录,印象笔记等),按照每个月建立一个文档;
在该月中,记录每个账户(银行、信用卡、支付宝、微信等等)的收支总额;
记录该月中较大的收入、支出等;
经过一段时间后,可以在逐渐提高对自己记账的理解,也可以养成一个记录的习惯。
提高级
提高级需要使用一定的表格工具,来做到自动化的数据统计,这样可以对未来的规划、计划有一定的帮助。
使用 Excel,按照自己的需求,创建好统一格式的表格(Sheet 页),并设定好计算统计规则等;
按照每个月建立一个 Sheet 页,将这个创建好的表格(Sheet 页)复制为 12 份,设定好的计算统计规则会自动复制到每一个 Sheet 页;
按照自己的需求,创建汇总或者其他类型的统计 Sheet 页,将每个月的数据进行统计计算;
上面是我早期使用的一个示例,再经过一段时间的坚持,你会发现对于记账会越来越得心应手,也会发现记账带来的诸多好处,此时,你就可以挑战最终级别了。
最终级
最终级就是使用相关的 app 或者服务来记账,通过自己详细的分类和标注,可以说跟当前的账户(银行、支付宝、微信、股票等等)信息是完全一致的,而记账 app 或服务把所有这些融合在了一起,做到了全盘数据的统一。好的记账 app 或服务会有较好的数据统计展示,这样自己对于资产的管理和计划会更加方便。
MoneyWiz 确实是一个不错的选择,但是经过了一年的使用,发现除了软件本身外,并没有提供额外的服务,实在对不起 24.99 刀/年的订阅价格,性价比非常低。
开源记账项目
确定不继续订阅 MoneyWiz 之后,在开源社区 GitHub 中,搜索「personal finance」关键词,按照最多收藏数排序,发现了以下 Top 3 项目(后面的收藏数和前三差距太大,基本上可以确定只有这 3 个项目可以选择):
Maybe
Maybe是 2024 年刚刚开源的新兴项目,还在快速迭代中,从用户界面上来说,是最符合当下互联网设计(审美)的一个。
Maybe 目前并不支持中文,所以对于大多数人来说,使用起来不太方便(各类金融词语平时不接触,接触起来一个个查,系统用起来很头疼)。
Maybe 设计的相对简洁,例如说收入支出的分类不会像 MoneyWiz 那样有分层,只有一个大类,所以如果想做比较细致的预算会比较麻烦。
Actual
Actual的用户界面有些简陋(刚看完 Demo 我就几乎放弃它了😂),同样也不支持中文,所以在使用上不够易用。
Actual 在官网上提供了 Demo 地址,有一定的数据可以提供查看、修改,这样在决定使用之前可以有一个充分的了解。
另外 Actual 发展时间相对较久,所以有充分的文档、较好的社区,在遇到问题时可以快速得到帮助和解决。
Firefly III
Firefly III 是一个老牌的个人财务管理工具,经过了长时间的发展,比 Maybe 和Actual 有更多的功能,并且支持中文,更加易用,同样也有丰富的文档,界面虽然没有 Maybe 那么时尚但是也可以接受。
所以经过对比,决定先使用 Firefly III 来作为这次替换 MoneyWiz 的选择。未来使用一段时间,有深刻了解以后,再考虑是否要选择其他项目替换。
Firefly III 部署指南
部署配置
本次部署还是在个人的 MacBook Pro(M 芯片) 上,所以如果其他平台,可以借鉴参考,更推荐阅读 Firefly III 的官方 安装文档 。
部署方式采用 Docker 容器(推荐使用OrbStack ),步骤如下:
# 1. 下载官方 docker compose 文件;
curl -o firefly-iii.yml https://raw.githubusercontent.com/firefly-iii/docker/main/docker-compose.yml# 2. 下载官方 env 文件;
# 注意:由于本次 docker compose 文件中并没有用到 env 文件中的变量,所以可以修改文件名。
# 如果 docker compose 文件中用到 env 文件中的变量,则必须保证文件名为 .env。
curl -o firefly-iii.env https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/.env.example
curl -o firefly-iii.db.env https://raw.githubusercontent.com/firefly-iii/docker/main/database.env# 3. 修改 env 文件中数据库密码,两个文件中需要为相同密码(默认是 secret_firefly_password);
# 3.1 修改 firefly-iii.env 中 DB_PASSWORD 的值;
# 3.2 修改 firefly-iii.db.env 中 MYSQL_PASSWORD 的值;
# 4. 修改 env 文件中 STATIC_CRON_TOKEN 值,以启用定时任务(例如通知等);
# 注意:长度为 32 位,可以使用以下 UUID 方式。
uuidgen | tr -d '-'
# 5. 修改 docker compose 文件;
# 5.1 修改两处 env_file 文件的名字,对应为 firefly-iii.env 和 firefly-iii.db.env;
# 5.2 修改对外服务端口(默认为 80,容易和本机部署的其他一些服务冲突);
# 5.3 将第 4 步中生成的值替换到 cron 容器的 command 中;
# 5.4 (可选)其他一些名称、命名等可以优化一下,以和本机其他服务一致;
# 6. 启动服务;
docker compose -f firefly-iii.yml up -d
服务部署完成后,打开浏览器,输入http://localhost:80(端口修改过的话注意换成对应的端口),即可打开 Firefly III 的主页了。
随后填写邮箱以及密码,进入到主页中,首先映入眼帘的就是初始化设置(这个相比 Maybe 以及 Actual 就非常友好了),填写银行名称、货币为人民币(Chinese yuan)、以及语言修改为中文简体(Chinese Simplified)后,点击提交。
接着便进入到 Firefly III 的主页中,仍然有不错的引导提示,确保你能够理解系统的运作方式,完成所有引导后,就正式进入到系统中(在不同的标签页中,仍有对应的引导提示)。
最后就可以按照自己的喜好和习惯,逐渐开始建立个人的记账数据。
使用技巧
这部分内容是在使用 MoneyWiz 和 Firefly III 时的一些小技巧分享。
信用类资产账户
在第一次创建时,不需要考虑输入已消费的账单,直接初始余额设置为当前待还金额,后面的消费记录再逐渐添加即可;
还款的操作为现金账户到该账户的转账;
其他类型账户
常用的加油卡、公交卡等,也可以创建为储蓄账户(或现金账户);
支付宝或者微信中的余额,可以创建为储蓄账户(或现金账户);
为房贷等创建债务(贷款)账户,可以设置贷款金额、利率、还款模式等,还款时可以自动计算本金、利息分别归还的金额;
导出导入数据
目前 MoneyWiz、Maybe、Actual 以及 Firefly III 这几个系统之间的数据,都不可以无缝的互相导入,这也是切换系统的最大难题之一。
好处是 MoneyWiz 可以将所有的数据导出为 CSV 格式的表格,而 Firefly III 则提供丰富的REST API接口,可以通过写一个简单的 Python 脚本,完成数据的导入。
当然可以通过使用 REST API 完成更多的复杂功能,例如写一个 Alfred 的 Workflow,输入交易信息,再通过 ChatGPT 进行格式化,最后插入到 Firefly III 中。
其他
根据个人习惯创建多种维度的预算,及时提醒以及纠正超支,这对网购上瘾「患者」尤其有效;
Firefly III 的存钱罐是一个非常赞的功能,在每天无聊的记账中,给自己建立一个小目标,攒一些零花钱(私房钱)去买一样心仪已久的东西(改车),在获得的那一刻成就感满满;
使用注意
个人、家庭财务数据是非常重要的隐私,切记请勿将其暴露在互联网中,这是非常危险的行为。
使用自建服务,一定要注意数据的备份存储,否则可能会由于系统损坏等原因导致数据丢失,再重建数据工作量会非常庞大。
最后总结
借着这次切换记账软件,把这十多年的记账总结和思考记录了一下,希望能给大家引发一些深刻的思考,当然也更期待能跟大家多交流其中的技巧和经验,互相学习。
作者:风马牛,责编:北鸮 ,36氪经授权发布。