跳转到主要内容
CSV 转 Beancount 转换器

Citi → Beancount

Citi CSV到Beancount

将Citi信用卡导出转换为平衡的复式记账Beancount交易——其拆分Debit和Credit列按角色读取,因此Citi不寻常的符号不会错误翻转退款。

已针对真实的 Citi 导出验证列映射

所有处理都在你的浏览器本地完成。

已保存的映射

配置文件仅保存在此浏览器中。您的交易数据不会离开浏览器。

还没有已保存的映射。粘贴 CSV、设置好列后,可在此保存配置以便日后重复使用。

Beancount 输出

粘贴 CSV 后,你的交易将显示在这里。

如何导出你的 Citi 交易记录

  1. 登录Citi Online并打开卡片的Account Details页面。

  2. 向下滚动到Transactions,使用“Activity Since Last Statement”下拉菜单选择对账单周期或自定义日期范围。

  3. 选择Export——它位于Transactions标签的右侧,紧挨着Print Screen——然后选择CSV。

  4. 打开下载的文件——Citi以大写.CSV扩展名保存——然后将标题行连同数据行一起复制并粘贴到下方。

Citi在其Credit列中标记符号,而Debit列不标记

几乎所有将支出与收入分开的银行都会并排写出两个正数大小。Citi将购买记录为Debit下的126.44,将付款或退款记录为Credit下的-41.00,在同一文件中混合了普通大小和带符号值。仅仅取某一列相反数的电子表格公式会让每笔退款都出错。此预设改为按含义读取这两列,因此购买记为负数,付款记为正数,无论数值前是否有减号。在任一行上,这两列中恰好有一列被填充。

Citi 导出常见问题

我的导出有一个Member Name列,而我其他的Citi卡没有。

这两种情况都很正常。Citi在有指定持卡人的卡上附加Member Name,同一个人可能持有一张有该列和一张没有该列的卡——我们在同一月取得的两次导出中恰好看到了这一点。Date、Description、Debit和Credit在五列和六列布局中位于相同位置,因此下面的映射无需更改即可适用于任一文件。

有一行被跳过,提示“无法识别的金额。”那是什么?

几乎可以肯定是0.00行——Citi为此类内容写入这些行,例如免除年费。没有资金变动,因此转换器会报告该行并继续,而不是生成一条零金额交易,那会在你的账本中毫无意义。文件中的其他每一行都会正常转换,因此这里报告一行不是重新导出的理由。

如何从Citi获取多个对账单周期?

通过重复导出。期间下拉菜单提供对账单、年初至今、上一年或自定义范围,而Citi的教程将每次下载的交易数量上限设为1,000笔,因此繁忙的卡片需要多次操作。在此处转换每个文件,并将输出追加到同一个分类账文件——无需先合并或重新排序。

正在从其他银行或应用转换导出文件?

保留你刚刚转换的账本

Beancount.io 托管你的纯文本账本,自动导入未来的账单,并保持每一笔数字可审计。