跳转到主要内容
Charles Schwab → Beancount

Charles Schwab CSV 至 Beancount

将 Schwab 券商的 Transactions 导出转换为平衡的复式记账 Beancount 交易——美元符号、千位分隔符和结算调整日期均能正确读取。

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

如何导出你的 Charles Schwab 交易记录

  1. 1

    登录 schwab.com,前往 Accounts,然后点击 History。

  2. 2

    选择账户,然后选择 Transactions 视图,而非报表。

  3. 3

    设置日期范围,然后使用交易表格上方的 Export 控件并选择 CSV。

  4. 4

    下载文件以账户名称和请求时间命名,类似于 Individual_XXX980_Transactions_20260724-173507.csv。

  5. 5

    如果文件以“Transactions for account …”横幅开头或包含“Transactions Total”行结尾,请删除这两行;然后将剩余部分复制并粘贴到下方。

十行中可能有四行被跳过,这并非异常

在一个真实的 1,491 行 Schwab 导出中,有 610 行的 Amount 为空:既有股份、股份转让及其他股票计划活动仅涉及证券变动而非资金变动,因此没有现金侧需要记录。所有这些行都会被报告并跳过,这意味着在券商文件中出现一长串被跳过的行是预期结果,而非转换器故障。返回的是账户的现金侧——转入、买入、卖出、股息和利息。交易仅转换其现金部分,因此购买 $995.00 的 VTI 变成 $995 从账户支出,且不附带任何股份过账;商品侧请手动记录。

Beancount 输出

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

Charles Schwab 导出常见问题

什么是“Transactions for account…”和“Transactions Total”行?

横幅 Schwab 放在列标题上方,汇总行放在下方。两者都不是交易,且并非每次导出都包含——某些下载路径包含它们,某些则不包含。如果你的文件包含它们,请删除,运行结果将干净;保留它们会导致两条被报告的行,但不会改变任何转换金额。

我的文件有 Withdrawal 和 Deposit 列,而不是 Amount——这是错误的文件吗?

对于 Schwab Bank Investor Checking 账户,这是正确的文件,它导出 Date、Status、Type、CheckNumber、Description、Withdrawal、Deposit 和 RunningBalance,而非券商布局。请按列名选择,而非按位置计数:Debit 和 Credit 配对需要 Withdrawal 和 Deposit。较旧的 Schwab 银行导出没有 Status 列,因此其后所有内容都会偏移一位——这正是此页面映射券商文件并将其余部分留给选择器的原因。

我的一个日期显示为“04/17/2023 as of 04/15/2023”。使用的是哪一个?

使用第一个。Schwab 在结算调整行写入该双重形式,前导日期是其历史屏幕排序所用的过账日期——因此转换后的交易与你在网站上查看时一致。单元格的尾随部分将被丢弃,该行仍正常转换,而非被跳过。

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

保留你刚刚转换的账本

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

免费开始