Monzo CSV 导入到 Beancount
将 Monzo 银行对账单 CSV 转换为平衡的复式记账 Beancount 交易——日在前日期和每行的 Currency 列已映射好,Pot 转账也会包含在同一文件中。
已针对真实的 Monzo 导出验证列映射
如何导出你的 Monzo 交易记录
- 1
在 Monzo 应用中,点击你卡片上的三个垂直点。
- 2
点击 Bank statements,然后选择你需要的日期范围。
- 3
选择 CSV 作为格式。同一屏幕还提供 PDF 和 QIF,但此转换器均不读取。
- 4
将导出内容粘贴到下方。Monzo 商业账户改为从网页导出:登录 business.monzo.com,并在首页使用 Export statement。
Monzo 日期以日在前,且两个金额列中只有一个是你的
01/08/2026 在 Monzo 导出中是 8 月 1 日,预设已按日在前为你设置——如果反过来读,一年的交易中会有八个月落入错误的月份,且不会明显报错。美国 Monzo 账户是个例外:它按月在前导出,因此如果你属于这种情况,请切换日期顺序控件。第二个陷阱是成对的金额列。Amount 是你账户货币,并且是实际影响你余额的金额;Local amount 是商户以其货币收取的金额,因此一笔 89.99 欧元的购买会出现在同一行中,分别显示为 -78.30 GBP 和 -89.99 EUR。预设映射 Amount,并从 Name(清洗后的商户名称)获取收款方,而不是 Description 中填充的银行描述。
Beancount 输出
Monzo 导出常见问题
01/08/2026 是 8 月 1 日还是 1 月 8 日?
是 8 月 1 日。Monzo 以日在前写入英国日期,此预设已按此配置,因此你无需更改。唯一的例外是美国 Monzo 账户,Monzo 员工曾公开表示该账户按月在前导出——如果你的账户属于此类,请在转换前切换日期顺序控件,因为误读日期会产生看似合理的账簿,而不会报错。
为什么我在阿姆斯特丹的咖啡显示两个不同的金额?
因为有两个金额。Local amount 是咖啡馆以欧元收取的金额;Amount 是 Monzo 转换后从你账户中以英镑扣除的金额。你的账簿需要英镑,因此此预设映射 Amount。如果你也想在记录中保留原始货币,请将其添加为交易的元数据,而不是切换映射的列。
我的 Pot 转账看起来像支出。
Monzo 在同一导出中包含 Pots,转换器只能将一行的一侧过账到你指定的账户——因此另一侧落在占位符类别账户中。将该过账改为 Pot 自己的账户,例如 Assets:Monzo:Holiday,这样转账就在你拥有的两个账户之间平衡,而不是被视为支出。
保留你刚刚转换的账本
Beancount.io 托管你的纯文本账本,自动导入未来的账单,并保持每一笔数字可审计。
免费开始→