生活在日本差不多两年之后,我才意识到自己的财务状况已经变得有多复杂。一边是日本的楽天銀行、ゆうちょ、SMBC 信托存款,另一边是美国的 [[Mercury]]、[[Capital One]]、[[IBKR]] 证券账户,还有欧元区的零散账单和来自不同来源的收入。每个月底想搞清楚自己到底花了多少钱、存了多少钱,需要打开七八个 App,用脑子硬换算汇率,才能大概拼出一个不那么完整的财务图景。
这种状态是很多长期生活在海外、同时维系多个国家金融账户的人的日常。收入可能来自多个来源,支出分布在不同的货币体系里,储蓄分散在几个不同国家的账户里,单纯靠一款普通的记账 App 很难把这些串起来。大部分市面上的记账工具,设计初衷是面向单一货币、单一账户体系的用户,跨境游牧者的需求几乎不在任何主流产品的优先考量里。于是,越来越多人开始走上一条路:自己选工具、自己建系统。
这篇文章就聊聊我接触过的几款主流自记账工具——[[Beancount]]、[[Actual Budget]]、[[Firefly III]],外加订阅制云端方案 [[YNAB]],把它们各自的定位、优缺点和适用场景说清楚,供同样在多货币环境里生活的人参考。

为什么普通记账 App 满足不了跨境需求
在深入讲工具之前,有必要先说清楚跨境记账的难点在哪里,这样选工具才不会只看表面功能。
第一个难点是多货币支持。大多数记账 App 对货币的处理相当粗糙,要么只支持单一本币,要么只允许手动设置一个主货币,换汇记录和汇率损益根本没有独立的会计科目。当你的 JPY 账户每个月往美元账户汇一笔款、或者用 USDT 买了日元然后花出去,这类跨货币交易在普通 App 里要么记不进去,要么记进去之后数据对不上。
第二个难点是多账户体系。如果你同时持有银行账户、证券账户、信用卡、加密钱包,这几类账户的交易性质完全不同,普通记账 App 大多只能处理收支流水,而没有办法展示你的真实净资产构成。证券账户里的股票浮盈、外币账户里的汇率损益,这些都是影响净资产的因素,但很多工具根本没有把这些纳入记账逻辑的能力。
第三个难点是数据自主权。很多好用的国外记账 App 依赖银行 API 自动同步账单,但这类授权在不同国家的开放程度差异极大。日本的网银系统整体上对开放 API 的态度比较保守,美国的很多小众银行也没有与主流记账 App 对接。这就意味着你要么依赖手动导入 CSV,要么干脆放弃自动同步、全靠人工录入——既然如此,工具的灵活性比它的自动化程度更重要。
复式记账 vs 简单收支记录
选工具之前还要想清楚一个问题:你到底需要「收支记录」还是「资产负债管理」?
简单的收支记录,就是每笔钱进来出去都记一下类别,月底看看哪里花多了哪里花少了,大多数普通记账 App 做的就是这件事。这类方式上手快,心理负担小,对大多数普通用户来说足够用,但它的本质是流水账,无法给你一个「你现在到底有多少净资产」的清晰答案。
复式记账(Double-Entry Accounting)是会计领域的标准方法,每一笔交易都必须同时影响两个账户,借贷两方始终平衡。用它记账,你的账本不仅记录了钱的流动,还完整反映了所有账户的余额变化、汇率损益、资产结构。这种方式的上手成本要高不少,但一旦建立起来,财务透明度远不是流水账可以比的,特别适合管理多账户、多货币的复杂财务状况。
[[Beancount]] 是复式记账路线的代表,[[Actual Budget]] 和 [[YNAB]] 走的是信封预算(Envelope Budgeting)路线,[[Firefly III]] 则是介于两者之间、功能覆盖最广的自托管方案。
Beancount:技术派首选的纯文本复式记账
[[Beancount]] 是一套开源的纯文本复式记账工具,所有账本数据以明文格式存储在 .beancount 文件里,可以用 Git 做版本管理,用任何文本编辑器打开修改。它没有图形界面,没有移动端 App,也没有云同步——核心就是一套规范的文本语法,加上命令行工具和可选的 Web 报告生成器([[Fava]])。
在多货币处理上,Beancount 是我见过设计最成熟的个人记账工具之一。每个账户可以同时持有多种货币的余额,货币转换记录(换汇)以独立交易的形式存在,汇率损益也可以用专门的账户科目来承接。比如你把 10000 JPY 兑换成 65 USD,这笔交易在 Beancount 里就是一个完整的换汇记录,JPY 余额减少,USD 余额增加,差价汇率损益可以明确归入某个科目,账目清晰到可以精确审计。
它的另一个优势是对技术用户极其友好。账本文件可以放在 Git 仓库里,每次修改自动留下历史记录,做到真正意义上的版本控制。如果你习惯用脚本批量处理数据,可以写 Python 脚本把银行导出的 CSV 自动转换成 Beancount 格式。[[Fava]] 这个 Web 前端可以把账本生成漂亮的图表和报告,资产变化趋势、各账户余额、每月支出分布都可以可视化展示,但核心数据始终是你自己掌控的文本文件。
当然,Beancount 的门槛也摆在那里。从零开始需要先理解复式记账的基本概念,再学 Beancount 的语法规范,然后自己设计账户结构。如果你是第一次接触双式记账,光把账户体系搭起来可能就要花几天时间。中文社区里已经有不少 Beancount 的教程和实战分享,GitHub 上也有各种模板可以参考,但这个工具终究是给愿意投入学习成本的人用的。
Actual Budget:现代自托管记账的最佳体验
[[Actual Budget]] 是一款开源的信封预算工具,核心逻辑和 [[YNAB]] 一脉相承——把每一块钱都分配到具体的预算类别里,管理的不是「我花了多少」,而是「这块钱该用来做什么」。它最大的卖点是可以完全自托管,把服务跑在自己的服务器上,数据不经过第三方,同时有质量很高的 Web 界面和移动端 App。
从使用体验来说,Actual Budget 在自托管记账工具里算是难得的打磨精细的产品。界面干净、操作顺手,账户录入、交易分类、预算分配这几个核心流程都设计得很直观。如果你之前用过 YNAB,切换到 Actual Budget 几乎没有任何适应成本,核心的预算管理逻辑完全一致。
多货币支持方面,Actual Budget 2024 年以后开始陆续推进,但截至目前(2026 年初)功能仍然有限,主要账本是单货币的,多货币更多是靠手动换算录入来处理。如果你的日常交易大多集中在一两种货币里,偶尔有跨货币消费,Actual Budget 可以基本满足需求;但如果你的多货币交易很频繁,这个工具的局限性就会比较明显。
自托管方面,Actual Budget 的部署相对简单,官方提供 Docker 镜像,跑在 VPS 上或者家用 NAS 上都没问题。也可以用 Fly.io 免费方案部署一个低成本实例。对于不想折腾服务器的用户,也有官方的云端托管方案,每年约 24 美元,数据在其服务器上,但账单相对低廉。
Firefly III:开源全功能的自托管选择
[[Firefly III]] 是功能覆盖最广的开源自托管个人财务管理工具,支持多账户、多货币、预算管理、账单追踪、交易分类、财务报告,几乎能想到的功能它都有,用户群也有相当时间的积累,社区活跃。
在多货币处理上,Firefly III 比 Actual Budget 成熟很多。每个账户可以设置独立的货币,跨货币转账会自动记录汇率,外部货币转换也有专门的处理逻辑。如果你需要追踪 JPY、USD、EUR 三套账户的动态,Firefly III 的多货币支持基本能胜任,也可以通过设置「汇率资产账户」来追踪换汇损益。
Firefly III 的 import 功能也相当强大,支持通过自定义规则解析银行导出的 CSV 文件,有 Data Importer 工具可以半自动化地把不同格式的账单导入进来。对于那些需要把日本银行、美国银行、信用卡账单统一录入的用户来说,这个导入流程比手工一条条录要高效很多。
相对的,Firefly III 的界面比较传统,功能繁多导致上手需要一定时间。部署上比 Actual Budget 略复杂,需要配置 PHP 环境和数据库,但 Docker 版本大幅降低了这个门槛。总体来说,Firefly III 是「功能全面但上手成本不低」的典型——如果你愿意花时间把系统搭起来,后期可以做相当细致的财务分析;如果你只想要一个快速开箱即用的体验,它可能会让你觉得有点重。
YNAB:预算管理领域口碑最好的云端方案
[[YNAB]](You Need A Budget)是市面上信封预算类工具里口碑最好的商业产品,它的整套记账方法论被很多人视为个人财务管理的入门经典。核心逻辑很简单:每一块钱在到账的那一刻,就应该被分配到某个具体的用途里,而不是留着「以后再说」。这种预算方式对养成消费自律、避免月底不知道钱去哪了,有显著的效果。
从实际使用体验来看,YNAB 的界面设计和产品打磨是这几款工具里最优秀的,移动端 App 尤其好用,录入交易、查看预算余额、调整分配,这几个日常操作都做到了相当流畅的体验。银行同步方面,YNAB 在美国、英国、加拿大和部分欧洲国家支持自动银行账单同步,但日本的银行基本不在支持范围内,需要手动录入或者导入 CSV。
对多货币的支持是 YNAB 最明显的短板。它每个账本只支持一种本位货币,外币账户要么手动换算后录入,要么用 Off Budget 模式记录但不参与预算计算。这对主要货币统一是美元或欧元的用户影响不大,但对 JPY/USD 混合使用的跨境用户来说,每次换汇都需要额外处理,体验并不顺畅。
费用方面,YNAB 目前的订阅价格是每年 109 美元,或者每月 14.99 美元,对于个人用户来说算是这几款工具里最贵的方案。它提供 34 天免费试用,如果你之前没用过可以先试试看方法论是不是适合自己,再决定是否付费。
横向对比
把几款工具放在一起比,差异就更清晰了:
| 维度 | [[Beancount]] | [[Actual Budget]] | [[Firefly III]] | [[YNAB]] |
|---|---|---|---|---|
| 记账模式 | 复式记账 | 信封预算 | 混合型 | 信封预算 |
| 多货币支持 | 极强,原生设计 | 有限,仍在开发 | 较好,基本完整 | 弱,单本位货币 |
| 数据自主权 | 完全(本地文件) | 自托管或云端 | 自托管 | 云端(YNAB 服务器) |
| 上手难度 | 高(需学复式记账) | 低 | 中 | 低 |
| 界面质量 | 无内置图形界面(需 Fava) | 高 | 中 | 很高 |
| 费用 | 免费开源 | 免费自托管 / 年费约 24 USD | 免费开源 | 年费 109 USD |
| 移动端 | 无官方 App | 有(iOS/Android) | 有(功能有限) | 有(很好用) |
| 适合人群 | 技术用户,重视数据完整性 | 轻量用户,注重体验 | 追求功能全面的自托管用户 | 注重使用体验的云端用户 |
如何根据自身情况选择
选工具最忌讳的是「选别人在用的」而不是「选适合自己的」。根据我的实际经验,给出几个判断维度供参考。
如果你的多货币交易频繁,收入支出跨越三种以上货币,同时有投资账户需要追踪净资产,我会建议认真考虑 [[Beancount]]。学习曲线确实陡,但一旦账本体系建立起来,它能给你的财务透明度是其他工具做不到的。中文社区里 BYVoid、Boyi Zhu 等人分享的 Beancount 实战文章可以作为很好的起点,GitHub 上也有不少模板账本可以直接参考。
如果你的财务相对简单,主要是一两种货币的日常开销管理,想要的是漂亮的界面和顺畅的操作体验,同时不想把数据放在别人服务器上,[[Actual Budget]] 是目前自托管方向里体验最好的选择。跑在 Docker 上十几分钟就能搭起来,日常使用几乎没有学习成本。
如果你需要多货币支持,同时想要比 Actual Budget 更完整的功能覆盖——比如账单规则自动分类、批量 CSV 导入、精细的财务报告——[[Firefly III]] 是更合适的选择。代价是初期的部署和配置会花更多时间,但长期来看它的功能深度足以支撑相当复杂的财务场景。
[[YNAB]] 最适合的人群是:主要生活在英语系国家、银行账户以美元为主、愿意为好用的体验付费、对数据自主权没有特别强烈需求的用户。如果你符合这几个条件,YNAB 的产品质量确实对得起那个订阅价格。
实操中容易忽视的几件事
多货币记账有几个坑在选工具之前就应该想清楚,不然工具选好了,账目还是理不清楚。
第一是换汇记录要独立处理。很多人记账时把换汇当成「一个账户的支出 + 另一个账户的收入」,但这样会导致账目失真——你并没有真正「支出」那笔钱,只是换了个形式存着。正确的做法是把换汇记录为一笔独立的资产转移,同时用一个汇差账户来吸收汇率损益,这样最终才能看清你的真实财务状况。
第二是要区分「账户余额」和「净资产」。银行账户显示的余额是实时余额,但如果你有信用卡债务、未结账单,这些负债也应该纳入记录。Beancount 和 Firefly III 都支持负债账户,可以完整反映你的净资产构成;但如果你只记收支,月底的「账户余额合计」其实并不等于你真正拥有的净资产。
第三是定期对账比每天记录更重要。很多人刚开始记账时非常认真,每笔交易都实时录入,但过一段时间就坚持不下来了。更可持续的方式是每周或每两周集中录入一次,和银行账单核对一遍,确保账目平衡。这个频率比每天记录压力小得多,但能保证数据的基本完整性。
最后
记账这件事,从来都不是「找一款好 App」就能解决的。对于跨境生活的游牧者来说,它更像一个需要主动设计的系统——你需要想清楚自己要追踪什么、用什么工具来追踪、以及愿意在维护上投入多少时间。工具选错了会让你觉得记账很痛苦,工具选对了才能让记账变成一个清晰认识自己财务状况的过程,而不是一件月底翻账单时才想起来的苦差事。
我自己目前用的是 Beancount,维持了差不多一年半,账本结构基本稳定,每周花大约半小时对账录入。对我这种管理多个货币账户、想精确追踪净资产的需求来说,目前找不到比它更合适的替代方案。但它确实不适合所有人,如果你刚刚开始建立记账习惯,先从 Actual Budget 起步、养成记账习惯,比一开始就扑进复式记账里要明智得多。
记账本身不是目的,清晰地知道自己的钱在哪里、去了哪里、还剩多少,才是最终想达到的状态。工具只是手段,选一个你能坚持用下去的,比选一个「理论上最完美」的更重要。
