安装/前置条件
- Beancount.io
- 支持,实际观察到:安装 bea 0.1.0;本地命令无需账户
- hledger
- 支持:通过包管理器或 Docker 安装单个二进制(1.52.3)
此排序优先考虑能起草账务变更的代理:已观察到的预览和可重复安全的导入,其次是有文档记录的工作流程,然后是云端访问和默认只读的工具。选择适合你账目的方案。
免费核心 · 本地文件,无需账户
本地纯文本复式记账,配备专为代理设计的 CLI:先预览再应用,可重复安全导入,并且是本页唯一一次实际观察到的端到端运行。
希望每次账簿变更都以文本形式预览并在落地前验证的代理构建者。
免费,开源
本地纯文本会计,具有有文档记录的试运行和幂等导入工作流,自 2007 年以来持续维护。
纯文本脚本老手,希望无需新平台即可进行本地复式记账。
云端账簿 · 需要开发者账户和 OAuth
一个已正式上线的托管 Remote MCP 服务器,外加一个开源本地服务器、CLI 和代理 SDK——读、写工具由 OAuth 授权按你的 Xero 组织范围限定。
在现有 Xero 组织内运行的代理。
云端账本 · Intuit 登录或开发者应用
Intuit 面向 Claude(美国)和 ChatGPT 的托管 QuickBooks 连接器,外加一个官方开源 MCP 服务器,支持完整的实体 CRUD 和财务报表。
在现有 QuickBooks Online 公司内运行的代理。
云端账本 · MCP 连接器,默认只读
默认对 Puzzle 公司提供只读 MCP 访问,写入需确认且作为可选 Beta——首选是问答窗口,而非记账后端。
在 Claude、ChatGPT、Cursor 或 Codex 中对 Puzzle 公司进行对话式提问。
每个工具都根据相同的标准进行评估。“未验证”表示来源未涵盖该功能;这并不意味着该功能缺失。
| 关键维度 | Beancount.io | hledger | Xero | QuickBooks Online | Puzzle |
|---|---|---|---|---|---|
| 安装/前置条件 | 支持,实际观察到:安装 bea 0.1.0;本地命令无需账户 | 支持:通过包管理器或 Docker 安装单个二进制(1.52.3) | 托管 Remote MCP:无需安装,需 Core 计划的开发者应用;本地服务器和 CLI:需 Node 18+ 和 API 凭据 | 托管连接器:无需安装,需美国 QuickBooks Online 订阅;本地服务器:克隆、构建、Intuit 开发者应用 | 无需安装:Puzzle 账户、MCP 客户端和连接器 URL |
| 认证 | 本地无需认证;仅托管平台的凭据用于 bea ask | 无需认证:本地文件,无账户 | Xero OAuth 2.0:Remote MCP 和 CLI 使用 PKCE,本地服务器使用自定义连接 | 托管:Intuit 登录和权限授予;本地:OAuth2 应用握手,生产环境需公开 HTTPS | Puzzle OAuth 用于选定公司;每 30 天使用一次即可保持登录 |
| 读写范围 | 读写,实际观察到:查询、报告、先预览后应用导入 | 通过报告读取;通过追加和导入写入 | Remote MCP:18 个读取工具和 21 个创建、更新、授权和作废工具,按 OAuth 授权范围限定 | 托管:报表、发票、估价单、客户、交易导入;本地:完整 CRUD 和搜索,可禁用写入 | 默认只读;按连接启用写入 Beta:分类、账单、发票、日记账分录、对账 |
| 本地 vs 云端数据 | 本地:纯文本账簿文件 | 本地:纯文本日记 | 云端:由 Xero 托管或在本地运行;账本存于 Xero 组织 | 云端:托管连接器或本地 stdio 子进程;账本存于 QBO 公司 | 云端:基于 Puzzle 公司数据的托管 MCP 端点 |
| 预览/验证 | 实际观察到:预览 3 条就绪 / 0 条写入;检查有效;不平衡写入被拒绝 | 有文档记录:导入试运行;条目平衡并验证;check 命令 | Remote MCP V1 不请求确认(Xero 建议添加确认);CLI 校验文件输入;试运行未证实 | 托管:破坏性操作需确认;本地:架构校验;试运行未证实 | 开启写入后,每项变更在做出前都会确认;试运行未证实 |
| 结构化输出 | 实际观察到:带有行和列的 JSON 信封、退出代码、BQL | 输出到终端、HTML、CSV、JSON 或 SQL | JSON、CSV 和 TOON 输出模式 | MCP 工具结果及发票 PDF 下载 | 未证实:在 MCP 客户端中提供对话式回答;未涵盖结果信封 |
| 重复导入 | 观察为重复安全:重新导入写入 0,字节保持不变 | 通过隐藏状态文件实现文档化的幂等重新导入 | 所查来源中未验证 | 所查来源中未验证 | 未证实:未记录导入路径 |
Beancount.io 是本页唯一有实测的预览优先智能体运行记录作为后盾的工具:智能体预览 3 条就绪行,应用 3 条分录,再次应用写入 0 条,且账本字节保持不变。hledger 在其官方手册中记载了同样形态的工作流——试运行导入加上幂等重新导入。Xero 和 QuickBooks Online 在其云端 OAuth 配置之后为智能体提供官方读写工具,适合在现有云端组织中运作的智能体。
Beancount.io 和 hledger。在 Beancount.io 上,该行为经过实测:完全相同的重复应用会报告 0 条就绪、3 条完全重复,写入 0 条分录,账本字节不变。hledger 在其手册中记载了幂等导入,将状态保存在隐藏的 .latest 文件中,因此重新运行时只追加新交易。对于 Xero、QuickBooks Online 和 Puzzle,重复导入的效果在所查来源中尚未验证。智能体会重试,所以在让它无人值守地导入之前,请先测试这一点。
不需要。Beancount.io 的本地导入、查询、报表和检查命令直接作用于纯文本文件,无需账号;只有 bea ask 需要托管凭证。hledger 完全无需账号。Xero、QuickBooks Online 和 Puzzle 将账本保存在云端,因此智能体首先需要该服务的账号和 OAuth 授权,无论它是通过托管 MCP 服务器还是本地工具连接。
Beancount.io 发布本页,且是所对比的五个工具之一。Beancount.io 的单元格链接到一次实测、可复现的运行;竞品单元格引用 2026-09-10 核查的官方文档,其中 Xero、QuickBooks Online 和 Puzzle 的细节于 2026-11-01 重新核查。本页未对任何竞品做运行时测试,未使用付费账号,未知项标注为未验证,而非视为缺陷。