状态
- Beancount
- 2008 年至今持续活跃开发的开源项目
- Actual Budget
- MIT 许可,自 2022 年起由社区维护;每月发布
两者都是免费、开源且本地优先的。区别在于其任务:针对下月现金的信封纪律,或一个完整、可审计的全面记录。
Beancount
每笔交易在各账户间平衡为零,余额断言证明你的账簿与账单相符。
Actual Budget
零基预算与 YNAB 风格:仅对现有现金进行预算,信用卡视为负资金。专为支出纪律而生。
Beancount
在同一个账本中进行完整的投资核算,涵盖活期账户——持仓、价格、转换和资本收益。
Actual Budget
投资存在于你手动更新的预算外账户中——按设计,无持仓、持仓批次或价格。
Beancount
货币、股票、基金和加密货币,附带结构化转换核算——适用于任何国家的账簿。
Actual Budget
官方不支持,截至 2026 年仍处于实验性功能的开发中。
Beancount
任何编辑器都能打开、Git 能进行有意义差异的账本——文件本身就是记录,永恒不变。
Actual Budget
本地优先存储,支持完整 zip 导出和开放的 @actual-app/api——但查看历史记录需要应用或代码。
Beancount
银行对账单会变成你可以审核的拟议文本条目;beancount.io 在你需要时提供银行同步和智能导入功能。
Actual Budget
SimpleFIN、Enable Banking、Akahu、Pluggy 和 GoCardless(已对新用户关闭)—— 私有且手动触发,覆盖范围因国家而异。
Beancount
文本文件可与任何工具同步 —— Git 是自然之选 —— 也可选择托管方案以享受便利。
Actual Budget
一个 Docker 容器为你的家庭提供基于 CRDT 的同步,可选端到端加密 —— 永久免费。
对许多读者来说,Actual 是正确的选择 —— 我们宁愿你选择它,而不是回到订阅制应用。
零基预算、结转计算、信用卡视为负资金 —— 这是 Beancount 不打算成为的纪律工具。
开始时不需要会计知识。Beancount 要求你先学习复式记账基础知识才能看到效果。
自托管服务器 —— 或在 PikaPods 上大约每月 3 美元(他们回馈 20%)—— 无需任何订阅即可同步你的家庭。
你的数据不会触及第三方,除非你选择银行同步 —— 并提供端到端加密同步。
逐项功能对比,不带营销滤镜。
| 维度 | Beancount | Actual Budget |
|---|---|---|
| 状态 | 2008 年至今持续活跃开发的开源项目 | MIT 许可,自 2022 年起由社区维护;每月发布 |
| 主要用途 | 完整、可编程的复式记账 | 信封(零基)预算,含规则和日程 |
| 会计模型 | 复式记账 —— 每笔交易在各账户间平衡 | 单式记账信息流,含信封类别 |
| 数据所有权 | 你拥有、可做版本管理、可备份的纯文本文件 | 本地 SQLite 文件;完整 zip 导出和开放本地 API |
| 投资 | 批次、成本基础、价格和资本利得 | 预算外账户,跟踪手动更新的余额 |
| 多币种 | 结构化的商品与换算 | 不支持;实验性功能正在开发中 |
| 银行同步 | beancount.io 银行同步及可审核的导入器 | 自托管桥梁:SimpleFIN、Enable Banking 等 |
| 成本 | 免费开源核心;可选托管 | 免费;自托管或约 3 美元/月的一键托管 |
网页仪表盘、BQL 查询和原生移动应用——背后都是同一个纯文本账本。










两者都是自由软件 —— 所以诚实的比较是它们各自要求你付出什么,而不是金钱。
两款本地优先的工具让迁移更文明:无需导出窗口,无锁定——你的数据已在磁盘上。
下载完整预算压缩包(db.sqlite + metadata.json),或通过 @actual-app/api 读取所有内容;将账户交易导出为 CSV。
选择一个切换日期,并记录每个账户在银行对账单上的余额——这些检查点将用来验证你的新账本。
将预算内账户映射到 Beancount 的资产和负债账户,将 Actual 的分类映射到收入和支出账户。
使用 Smart Import 将交易转换为平衡的复式记账分录,一次一个月,注意转账不要重复计入收入和支出。
在报表日期添加余额断言,然后将预算外余额升级为完整的批次级投资跟踪——这是 Actual 做不到的部分。
……你希望拥有一份完整可验证的财务记录:带成本基础的投资、多货币支持,以及一个比任何应用都长寿的纯文本账本——包括我们的。
……你希望有支出纪律:信封预算法、无需订阅的 YNAB 工作流,以及学习曲线平缓的自托管隐私保护。
有些家庭确实需要同时完成两项工作。从缺失更让你痛苦的那个开始——两款本地优先工具之间,无论哪种方向,迁移都同样轻松。
根据需求选择,而不是工具。Actual Budget 是一款信封预算应用:它擅长为每一分钱分配用途、控制可变支出,并用免费且自托管的方案替代 YNAB 订阅。Beancount 是一个复式记账系统:它擅长构建完整、可审计的财务记录——包括成本基础的投资、多种货币、以及对账单验证的余额。如果你的问题是'下个月的钱应该花在哪?',选择 Actual。如果是'我的财务状况精确且可验证的状态是什么?',选择 Beancount。
是的,绝对免费。Actual Budget 使用 MIT 许可证,自 James Long 于 2022年4月 开源以来由社区维护,并且免费自托管——其推荐的一键托管服务 PikaPods 甚至将 20% 的托管费捐赠回项目。Beancount 和 Fava Web 界面同样免费且开源,你的账本是纯文本文件,永远不会被付费墙限制。beancount.io 的可选付费计划涵盖银行同步和移动应用等托管便利服务,而非软件本身或你的数据。
不能,这是设计使然。投资和抵押贷款存放在预算外账户中,只跟踪你手动更新的余额——没有持仓、批次或价格——官方文档明确说明 Actual 不支持多币种,而实验性的货币功能截至 2026 年仍在开发中。这些正是 Beancount 的强项:投资带有批次、成本基础、价格和资本收益,每种货币、股票、基金或加密资产都是一等公民,具有真实的换算会计处理。
可以,而且这类迁移相对友好。Actual 将数据存储在本地 SQLite 文件中,并可将完整预算导出为 zip 文件,你可以重新导入或使用开源的 @actual-app/api 读取;交易也可以导出为 CSV。将 Actual 的账户映射到 Beancount 的账户,将每笔交易转换为平衡的复式记账分录,并在报表日期添加余额断言以验证结果。你的信封类别历史不会作为预算转移,但所有交易和余额都可以。
是的——两者都是本地优先的,这正是它们吸引注重隐私的用户的原因。Actual 的主数据库在你的设备上;自托管同步服务器(Docker)通过可选的端到端加密实现多设备同步。Beancount 的账本是磁盘上的纯文本文件,通过你同步文件的任何方式同步——Git 是自然选择。区别在于格式:Actual 的数据存储在 SQLite 中,通过应用或其 API 读取;Beancount 的数据则是任何编辑器都能打开、比较和审计的文本。