前言
多亏 Firefly III 让我养成了记账的习惯,快半年的时间里几乎每天能用上,收支一笔记一笔。在此之前我是一个完全不记账的人,反观老婆对记账是非常积极的,起初这个工具也是为了她方便记账而部署。
工作性质使得她有为家庭收支记账的习惯,且一直使用 Excel,对于公式函数之类的 Excel功能玩的算是很溜,以至于不屑于用那些记账 App。然而使用 Fireflyiii 一段时间下来,坚持在用的是我,而老婆最终回归 Excel,她习惯就好。
选择
那会老婆问我有没有好用的工具来平替 Excel 记账,并提了几点要求,首先是排除手机应用商店中的记账 App,再是功能要符合她的记账习惯,三是可以让她随时随地记账,重要的是能在电脑上使用。让我找的话当然是开源为首,根据她的习惯往复式记账类方向找,于是便在搜索引擎找,在饭桶中心找,还挺多的,把问题抛给 ChatGPT 得到如下表格(以各自官方文档为准):
| 项目 | 移动端 | 桌面端 | 自托管 | 中文支持 |
|---|---|---|---|---|
| Actual | PWA | Web / PWA | ✔ | ❌ |
| Firefly III | Android/iOS | Web | ✔ | ✔ |
| ezBookkeeping | PWA | Web / PWA | ✔ | ✔ |
| GnuCash | Android | Windows / macOS / Linux | ✖ | ✔ |
| Money Manager Ex | Android/iOS | Windows / macOS / Linux | ✖ | ✔ |
根据此推荐琢磨了一翻,最终选择了 FireflyIII。
实用
FireflyIII —— 开源、自托管,支持多种部署方式,采用复式记账法,报告功能丰富,预算、类别标签和自动化等,并且提供 REST API,可以说是该有的都有。官方有 Demo 站 (语言可在偏好设置中改成中文),方便新人了解 FireflyIII 全方面功能。
我很喜欢它的几点功能:
预算 :设置好预算后,以进度条的方式展示我的支出及上限,虽然每个月都是超出把进度条撑红~;
订阅 :把周期性账单放在这里,比如我的 Apple iCloud+ Music 订阅,及月付的服务器续费、话费等,可以设置交易日期,让我知道这个周期是否付过,下个周期是什么时候该缴钱。
定期交易 :顾名思义就是时间一到便自动创建交易记录,我会把一些到期自动从账户中扣固定金额的订阅放在这里,它可以完成 订阅 中的项目,让该项订阅变成已付状态。有个问题就是我的 Apple 订阅是美金账单,虽然 Fireflyiii 有汇率功能,但定期交易无法自动完成汇率转换。
管理后台有丰富的收支 图表,且要是不知道钱都花到哪里去了,试试创建 对账 或生成 报表,一目了然。






以上截图为官方演示站
部署
Fireflyiii 支持 Docker、K8s 及 MySQL+PHP 的方式部署,更多信息可参考官方文档,我则以 Docker Compose 的方式把它部署在 NAS 中,利用 Cloudflare Tunnel 来实现远程使用。
官方提供标准的 Docker Compose 文件,内容包含了数据库,以及用来实现定期交易和自动更新汇率的 Cron,且推荐用 .env 来配置变量。而我的部署场景是已有正在使用的数据库 MariaDB,Cron 用 青龙面板 来实现,且习惯直接在 Compose 文件中添加变量,方便自己。
根据官方文档去部署完全没问题,要了解有哪些变量及作用可以查阅 Docker 部署文档中的 .env 示例。以下只列出推荐添加的几个变量及开启个别功能:
#...其它省略...
environment:
#... 推荐添加
- DEFAULT_LANGUAGE=zh_CN # 默认界面语言
- SITE_OWNER=admin@example.com # 管理员Email
- APP_KEY=APP_KEY=base64:xxx # 生成加密密钥,用于加密敏感数据和会话
- APP_ENV=production # 表明生产环境
- TRUSTED_PROXIES=** # 让反代正常工作
- TZ=Asia/Shanghai # 时区
#... 以下看个人需求,我开启了邮件提醒、Webhooks及汇率
- MAIL_FROM=user@example.com # 发送人Email,用于通知
- MAIL_MAILER=smtp
- MAIL_HOST=smtp.example.com
- MAIL_PORT=587
- MAIL_ENCRYPTION=tls
- MAIL_USERNAME=user
- MAIL_PASSWORD=xxx
- ALLOW_WEBHOOKS=true # 开启Webhook功能
- ENABLE_EXCHANGE_RATES=true # 开启汇率功能
- ENABLE_EXTERNAL_RATES=true # 开启更新汇率
#...其它省略...
以上几点功能必须在变量中开启,其它所支持的通知方式有 ntfy、Slack、Pushover,这三种通知方式可在后台设置,看个人喜好。
Fireflyiii 支持多用户,部署后第一个注册的用户将自动成为管理员,而后会禁止注册。若要多用户可在后台启用注册,或以分享邀请链接的形式新增用户。
客户端
FireflyIII 官方并没有 Web 之外的应用,但它提供 REST API 支持,所以有丰富的第三方应用,官方给了个应用列表自己挑。桌面端自然使用 Web,移动端能让人随时随地快速地记上一笔,我认为好用且使用最多的是 iOS客户端 Abacus;其次是针对移动设备优化 PWA 的 Firefly-Pico(需自行部署,支持 Docker,阅安装文档);安卓客户端推荐 Waterfly III,老婆用 Fireflyiii 时在手机上安装过,一样非常不错。






新建交易看起来要填很多东西,但 Abacus 和 Pico 都能快速克隆已有交易表单,使得一些日常账单新增起来方便快速;另外 Pico 在新建交易时可实时汇率转换,对于一些有外币账单的人来说非常实用。
尾声
FireflyIII 是个很棒的开源个人财务管理工具,自托管 + 数据自主,非常适合想要长期掌控自己财务状况的人,在 GitHub 上已有约21.7k ⭐,社区挺活跃的,有兴趣的朋友可以试试。
至于我老婆不喜欢用,她认为“复杂”、“不习惯”。那会还花时间设置好常用的收支类目、标签、分类等,尽量达到让她只需输入几个字点一点便完成记账之程度,哎哟自作多情了。

🐮啊,为了记账单独自建管理系统,主要记账这习惯真的很难坚持,好麻烦😢
只是一个开源记账工具,按官方文档还是很容易建起来,记账有很多工具和方式,不过很多都败在没有一直坚持,我不知自己能坚持到多久哈哈。
我也是近几年开始记账的,我个人记忆力比较差,经常忘掉很多事情,从开始记账开始就尝到了甜头,每次想要翻找以前的支出收入记录时,直接搜索就可以查到非常的方便,我白天上班,晚上兼职维修电路,有时给某个客户安装了新的控制柜,有故障时可以精准的查找收款时间从而确定是否处于我的保修期内,还有老客户介绍的新客户,安装了同样的配件,收款时可以查到老客户的报价从而避免收款价格不一致,还有看总结报表,可以看到每种消费占比有多少,非常的方便,我目前用的薄荷记账,挺好用的
按你这种使用场景,和自己的生活工作结合在一起,记账了就感觉非常有用的有价值,更有一直坚持记账的意义了。如果单纯像我这种生活式记账,有时候会漏掉某一笔没记~希望我也一直坚持记账。
已经看见好几个人都开始用上记账啦,我还是用的自建网站搞的
自建网站用的那个源码?我以前尝试过的,没有找到的太好的源码
是呀,有的是用一些记账APP,有的是记账项目部署自托管,你这种自托管得要有技术,相当于搞个记账项目了。
我从上个月1号开始记账的,一直坚持到了现在。我用的是随手记
希望一直坚持下去嘿嘿,随手记看了一下功能丰富,用起来一定很方便且优雅!
好多年之前记过一段时间,后来没坚持下来
很多博友都有记账的经历但没坚持下来,不知道我能坚持多久,希望一直坚持下去。
一目了然 不错 我自己也有记账的习惯 已经很多年了 从我手上花出去的每一分钱 我都知道用在哪里 哈哈(当然 除了我媳妇儿 那边 … 绝密 😂 )
这个属于是不错的好习惯,多年坚持太强了!另一半的开支属于是军事机密级别的,查不到也不敢查哈哈!
之前用过一些app但是记录不下去,有么有那种可以导入支付宝微信淘宝京东所有账单的记账软件
记账看来也是是个持久战哈哈
这些平台好像支持导出excel或csv,有很多记账软件都支持更具模板导入,不过如要实时记录收支,目前应该只有截图识别或手动录入了。
记账之后发现,记着记着怎么负增长了
好处就是一下子能看清哪些地方有吞金兽哈哈哈。
记过账,看了花了那么多钱就心疼,干脆就不记了!
看来记账都要做好这种心理准备哈哈,尤其是用复式记账法。
不敢用。一用发现自己每月都是负收入。哈哈。
人到中年,0负债是有挑战的。
是呀,每天看着余额揪心着~ 复式记账就会一目了然的看到这些~
可以试试单式记账法,简单的记录一下收支项就行,感觉会好受一些哈哈。