普通视图

记账工具 Firefly III

2025年12月7日 16:50

前言

多亏 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 ⭐,社区挺活跃的,有兴趣的朋友可以试试。

至于我老婆不喜欢用,她认为“复杂”、“不习惯”。那会还花时间设置好常用的收支类目、标签、分类等,尽量达到让她只需输入几个字点一点便完成记账之程度,哎哟自作多情了。

微软股东大会: 拒绝将比特币纳入公司资产负债表

每年我都会收到微软的来信,因为我持有几股微软股票(RSU),所以也是股东。信中会邀请我参加微软的年度股东大会,并列出需要讨论的一些决议,同时包含股东提出的建议,例如“支持”或“反对”。上一次收到的信中,其中有一项议题是关于是否将比特币纳入公司资产负债表。可惜的是,微软股东投票决定不采纳这一提案。 [caption id="attachment_69990" align="alignnone" width="714"]比特币有所回落,11万美元 比特币有所回落,11万美元[/caption] [caption id="attachment_69991" align="alignnone" width="699"]微软股票2025节节高升。 微软股票2025节节高升。[/caption] 在2024年12月10日举行的微软年度股东大会上,股东们以压倒性多数投票反对将比特币纳入公司资产负债表的提案。该提案由保守派智库“公共政策研究中心”(National Center for Public Policy Research)提出,建议微软将1%至5%的现金储备投资于比特币,以对抗通货膨胀并实现资产多元化。 尽管比特币价格在投票前一周突破了10万美元大关,微软董事会仍坚持反对该提案,理由是比特币的高波动性不符合公司对流动性和稳定性的需求。微软首席财务官艾米·胡德(Amy Hood)在会议中表示,公司已经在持续评估包括加密货币在内的多种资产类别,但比特币目前不适合用于公司财务管理。 提案的支持者中,包括MicroStrategy公司董事长迈克尔·塞勒(Michael Saylor),他在会议前发布了一段视频,强调比特币作为“数字黄金”的潜力,并建议微软将现金流、股息回购和债务等转化为比特币,以增加公司市值。 然而,根据Decrypt的报道,最终只有约2823万股微软股份支持该提案,占投票总数的不到1%,而超过51亿股股份投了反对票。微软在提交给美国证券交易委员会的文件中表示,股东投票结果将很快公布。 根据GeekWire消息,尽管微软拒绝了将比特币纳入资产负债表的提案,但公司并未完全排除未来投资加密货币的可能性。微软董事会在声明中提到,虽然当前不适合将比特币纳入公司资产,但将继续关注加密货币的发展,以便在未来做出明智的决策。 这一投票结果反映了企业在考虑是否将比特币纳入资产负债表时,仍需权衡其高波动性与潜在收益之间的风险。尽管一些企业已开始将比特币作为资产储备的一部分,但微软的决定表明,主流科技公司在这一问题上仍持谨慎态度。 微软股东大会的这一决定可能对其他大型企业产生示范作用,尤其是在加密货币市场仍面临监管不确定性的背景下。未来,随着市场和监管环境的变化,更多企业可能会重新评估是否将比特币纳入其资产负债表。 [caption id="attachment_69992" align="alignnone" width="800"]Microsoft/微软/巨硬 Microsoft/微软/巨硬[/caption] [caption id="attachment_70397" align="alignnone" width="686"]微软每年股东大会邀请投票 微软每年股东大会邀请投票[/caption] [caption id="attachment_70398" align="alignnone" width="943"]微软每年股东大会邀请投票 微软每年股东大会邀请投票[/caption] [show_file file="/var/www/wp-post-common/justyy.com/news.php"] 英文:Microsoft Shareholders Reject Proposal to Add Bitcoin to Balance Sheet

相关文章:

  1. 第一次私校家长会: 原来家长比孩子还卷 前几天参加了娃的第一次家长会,和几位家长聊下来,真是个个都很厉害。不光孩子们卷,家长也一样卷,一眼望去基本都是 Dr/博士。娃还调侃我一句:“这有什么的,你不也是 Dr 吗?” 我心里默默想:还好没写学校名字,不然我这野鸡大学的头衔真拿不出手 😂。 私校里真是人才济济,乐器过 8 级的太常见了,卷得不得了。我还问过娃,是想当 big fish in a small pond...
  2. 区块链中Layer 1和Layer 2协议的简介 Layer 1 和 Layer 2 是用来描述区块链技术中不同层次或层的术语,每个层都在维护和扩展区块链网络方面有其独特的作用和特点。 Steem的底层协议是C++写的,也就是steemd,见证人(也就是STEEM上的矿工)在自己的节点服务器上跑这个软件,共同运行这个区块链。steemd上支持一个custom_json操作,也就是可以调用API向区块链上写任何数据,这样的话,DApp分布式应用程序就可以在STEEM区块链上存储数据了,而在custom_json上的协议就是Layer 2/第二层。 Layer 1:基础协议 Layer 1 指的是区块链网络的基础层。它包括定义网络规则和操作的核心区块链技术。Layer 1的关键特性和组成部分包括: 共识机制...
  3. 智能手机 HTC One M9 使用测评 虽然我对手机要求不高, 远远没有像追求VPS服务器一样, 但是怎么算来两年内换了四个手机, 先是三星 S4 用了一年多, 然后 Nokia Lumia 635 Windows Phone, 后来又是 BLU, 半年多前换了...
  4. 按揭贷款(房贷,车贷) 每月还贷计算器 去年给银行借了17万英镑 买了20万7500英镑的房子, 25年还清. 前2年是定率 Fix Rate 的合同 (年利率2.49%). 每个月大概是还 700多英镑. 有很多种还贷的计算方式, 定率/每月固定 是比较常用的. 简单来说就是 每个月交的钱是...
  5. ChatGPT 使用 Promise.All 重构/重写代码(并行发送请求) 在我的一个项目中, 我有以下代码(Node/Javascript), 它(顺序)调用了一些 API. 这些 HTTPS 请求其实是可以并行完成的, 因为它们相互独立. 然后结果会被聚合到一个数组中. 我知道可以用Promise.all来把这些请求并行化, 我就问了ChatGPT怎么弄, 看看它是否能理解并给出正确的代码: 我先用英文问 ChatGPT-3.5: Rewrite...
  6. 推荐一款程序员性价比高的机械键盘 KeyChron K8 程序员性价比高的机械键盘 Keychron 我第一款 keychron 键盘是四年前(2020年)买的,当时在AMAZON工作,通过公司经费报销的。当时还问了经理,需要节俭么?因为亚马逊的16条军规中的一条就是节俭/Frugal。当时经理说,只要能提高你的工作效率就行,我也没太敢搞太贵的,最后面只挑了一个60多美元的机械键盘,型号是: Keychron C2 Wired Mechanical Keyboard, RGB Backlight / Gateron Mechanical...
  7. 今天去听了NHS举办的关于男性PSA/前列腺健康的活动/讨论 自从步入40岁之后,我时不时就会收到NHS或家庭医生(GP)的关怀提醒,建议我关注自身健康。毕竟,四十岁以上的男性开始容易被一些健康问题困扰,比如前列腺(PSA)指数、尿酸水平、血糖等。 40岁以上男性的NHS健康体验 今天刚好有些空闲,于是抽时间参加了NHS组织的前列腺健康活动。这项服务是以Drop-in形式进行的,中午2点到6点之间可以直接去GP诊所,不需要预约。医生会帮你测量血压、身高和体重,计算BMI指数。 接待我的是一位中年女医生,虽然上了年纪,但非常温柔细心。她给我连续测了三次低压血压,分别是89、91、87。测完前两次血压,她建议我先去称体重——我的身高是174cm,体重是81kg,BMI为26,略高了一点。实际上,我每天晚上睡前称重时体重通常还会比这个多2-3公斤。 随后GP帮我安排了下周的进一步体检,可能还需要抽血。她提到将评估我未来十年患癌风险的概率,如果风险较高,将会安排后续的观察或预防措施。 关于前列腺和PSA的知识分享 当天晚上6点,NHS还组织了一场线下答疑会,由一位男医生主讲(包括我有三个男性参加,并没有想象中的多),介绍关于前列腺健康和PSA检测的知识。由于公司有会议,我晚到半小时,但仍收获不少重要信息。 现场有一位负责组织的护士发了两本小册子,一本是关于PSA的健康指南,另一本则是介绍剑桥当地可参与的健康活动,比如瑜伽、足球等。 医生解释说,PSA检测并非百分百准确,可能出现假阳性(PSA高但无癌)或假阴性(PSA正常但有问题)的情况。PSA升高不一定意味着患癌,PSA正常也不能完全排除风险。 他建议男性朋友们要保持规律运动,减少烟酒摄入,有助于降低患前列腺癌的风险。另外,规律的性生活和射精也被证实有一定保护作用。 大家要更加关爱自己的健康。前列腺癌是英国男性第二常见的癌症,每年有超过5万人被诊断,死亡人数超过1万。虽然50岁以下患病概率较低,但随着年龄增长,风险会显著上升。对于50至69岁的男性,建议每年进行筛查,包括PSA抽血、肛门指检,必要时还需做活检(Biopsy,听说这个比较不舒服)以及MRI核磁共振检查。 我自己的PSA值常年略高,医生说这有可能是前列腺良性增大。每个人的情况都不一样,仍需持续关注和定期检查。 本文一共 848 个汉字,...
  8. 怎么样安全的清空主机服务器空间? 很多朋友都有自己的VPS主机, 如果想取消销毁主机的时候, 可以采用以下二种方法来销毁主机. 虽然很多云主机可以让你很方便的一键销毁主机, 但是实际上你不清楚你的宝贵数据有没有可能被找回, 理论上可能, 这种可能性很小很小. 因为我们并不清楚云主机商在销毁的时候有没有真正去把硬盘的数据清空了. 像我有点强迫症的, 我就是不希望我的一些数据(比如啥爱情动作片)泄露了. rm -fr / LINUX上的这个命令: #...
❌