主要界面
- Beancount
- 文本编辑器、命令行和 Fava 网页界面
- GnuCash
- 完整的桌面图形应用程序
两者都是免费、开源、复式记账系统。区别在于你如何录入、审查、自动化和保存你的财务数据。
Beancount
编辑可读账本,用 bean-check 验证,并在 Fava 精致的浏览器仪表盘中探索 —— 包括报表、图表、持仓和查询。
GnuCash
GnuCash 通过账簿、对话框和菜单呈现会计功能。它注重功能而非时尚,复杂的工作流程可能意味着大量的对话框。
Beancount
自行托管 Fava,或使用 beancount.io 进行托管、原生移动应用、银行同步,以及一个能帮助分类和草拟分录的 AI 助手。
GnuCash
GnuCash 可在 Windows、macOS 和 Linux 上运行 —— 但也仅此而已。没有第一方网页或移动端访问,且文件最好一次只由一个实例编辑。
Beancount
你的账本是人类可读的文本:可以比对差异、加密、备份,并用 Git 对每次变更进行版本控制。即使工具消失了,记录仍然可读。
GnuCash
GnuCash 将账本存储在 XML、SQLite 或其他后端中。部分记录的含义存在于应用程序中,而不是一个可检查的文本文件中。
Beancount
编写 Python 导入器和插件,使用类似 SQL 的 BQL 查询条目,并将你的账本集成到脚本和 Git 工作流程中。规则是可审查和可测试的。
GnuCash
自动化止步于预定交易、导入匹配器和应用程序工作流程。可重复的自定义逻辑需要借助 GnuCash 之外的工具。
Beancount
每种货币或证券都是一等公民,其单位、成本、价格和批次细节公开透明 —— 录入要求更高,但逐行审计更容易。
GnuCash
证券账户、价格数据库、在线报价和投资组合报告是便捷的图形化工作流程 —— 适合喜欢表单而非文本的用户。
Beancount
Beancount 和 Fava 永远免费。可选的 beancount.io 计划增加了托管、银行同步、移动端和 AI 功能 —— 无论哪种方式,你的账本都可移植。
GnuCash
GnuCash 将一切 —— 预算、报表、业务功能 —— 打包到一个免费的桌面应用程序中。没有付费层级,也无需付费层级。
诚实的对比总是双向的。当你想要一个完整的点击式应用程序且从不想接触终端时,GnuCash 是更好的工具。
支票簿样式的账簿、账户树、菜单和设置向导使常见任务易于发现。GnuCash 提供了文本文件无法提供的指导。
创建账户、拆分交易、对账、预算和报表 —— 全部通过鼠标完成。你学习的是会计概念,而非一门语言。
资产负债表、损益表、现金流量表、投资组合、税务、应收账款和应付账款报表开箱即用,并通过选项进行调整 —— 无需查询或代码。
客户、供应商、发票、应收账款和应付账款、预定交易和支票打印使 GnuCash 成为小型企业可信赖的一站式解决方案。
逐项功能对比,不含营销宣传。
| 领域 | Beancount | GnuCash |
|---|---|---|
| 主要界面 | 文本编辑器、命令行和 Fava 网页界面 | 完整的桌面图形应用程序 |
| 数据格式 | 人类可读的纯文本账本 | 应用管理的 XML、SQLite 或其他存储 |
| 设置 | 手动账户声明和工具配置 | 引导式账户层级结构和设置向导 |
| 预算 | 自定义指令和 Fava 视图 | 内置图形化预算模块 |
| 投资 | 显式的商品、批次、成本和价格 | 专用证券账户和在线报价 |
| 导入 | 可编程导入器和托管智能导入 | QIF、OFX、CSV 和引导式导入匹配器 |
| 业务功能 | 用于发票、工资和账单的独立工具 | 发票、客户、供应商、应收账款、应付账款 |
| 自动化 | Python 插件、导入器、脚本和 Git 工作流程 | 预定交易和应用程序工作流程 |
网页仪表盘、BQL 查询和原生移动应用 —— 背后是一个纯文本账本。










两种工具都不对软件收费。真正的区别在于谁控制着记录:应用程序的数据库,还是你可以永远阅读的纯文本。
没有完美的一键迁移 —— 系统对应用功能的建模方式不同。逐余额验证才能证明转换的成功。
导出会计科目表、交易明细、试算平衡表、报表、价格和业务记录,并将未修改的副本存放在安全的地方。
决定是导入全部历史数据,还是从一个干净的日期开始,使用经过验证的期初余额。
将 GnuCash 的账户类型、货币、证券和权益约定映射到你的 Beancount 会计科目表。
逐期转换交易,保留拆分交易和转账关系,并在转换过程中比较余额。
核对每个银行、信用卡、贷款、投资、应收和应付余额;在报表日期添加余额断言;归档原始文件。
……你想要一个人类可读的账本、严格的余额断言、Git 历史、可编程的导入和自定义分析 —— 不依赖任何单一界面。它奖励那些将财务视为代码的用户。
……你想要一个带有图形界面、内置预算、预定交易、引导式导入、标准报表和小型企业功能的本地免费应用程序。它的技术设置要求较低,更容易交给传统的簿记员使用。
两者都是专有会计订阅的耐用替代品。在每个工具中尝试真实的一个月:导入一份银行对账单,进行对账,生成你最重要的报告,并更正一个故意犯下的错误。使这四个任务更清晰的工作流程,就是适合你的长期系统。
GnuCash 通常对初学者更友好,因为它提供了图形界面、设置向导、表单和内置报表。而 Beancount 更适合习惯编辑文本文件和使用命令行工具的用户。
Beancount 可以维护严谨的小型企业账簿,但它没有 GnuCash 内置的发票、应收账款、应付账款或支票打印功能。它的最强优势在于你偏好可审计的纯文本账本,并愿意连接其他工具来处理业务运营。
两个工具都可以将数据保存在本地,但 Beancount 的人类可读文件特别容易检查、通过 Git 进行版本控制、使用脚本转换,并且无需依赖特定应用程序即可迁移。
是的。两者都支持投资和多种货币。GnuCash 提供更多图形化的工作流程和在线行情集成,而 Beancount 则提供明确的商品、成本、批次和价格指令,便于审计和自动化。