ITADN
mtlynch/beancount-chase-bank
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

beancount-chase-bank

PyPI CircleCI License

beancount-chase-bank 提供了一个 Importer,用于将 Chase 银行的 CSV 导出数据转换为 Beancount v2 格式。

开发

要创建开发环境,请运行:

uv python pin 3.13.6 && \
  uv venv && \
  . .venv/bin/activate && \
  uv pip install --requirement requirements.txt && \
  uv pip install --requirement dev_requirements.txt

使用方法

支票账户

请按照以下步骤将 Chase 支票账户导入工具添加到您的账户中:

import beancount_chase

CONFIG = [
    beancount_chase.CheckingImporter(
        'Assets:Checking:Chase',
        currency='USD',
        lastfour='1234', # Replace with last four digits of your account
        account_patterns=[
          # These are example patterns. You can add your own.
          ('GITHUB', 'Expenses:Cloud-Services:Source-Hosting:Github'),
          ('Fedex',  'Expenses:Postage:FedEx'),
        ]
    ),
]

一旦完成此配置,您就可以使用 bean-extract 将 Chase 导出的交易 CSV 文件转换为 beancount 格式:

bean-extract config.py Chase1234_Activity_20220219.CSV

信用卡

请按照以下步骤将 Chase 信用卡导入工具添加到您的账户中:

import beancount_chase

CONFIG = [
    beancount_chase.CreditImporter(
        'Liabilities:Credit-Cards:Chase',
        currency='USD',
        lastfour='1234', # Replace with last four digits of your account
        account_patterns=[
          # These are example patterns. You can add your own.
          ('GITHUB', 'Expenses:Cloud-Services:Source-Hosting:Github'),
          ('Fedex',  'Expenses:Postage:FedEx'),
        ]
    ),
]

完成此配置后,您就可以使用 bean-extract 将 Chase 导出的交易 CSV 文件转换为 beancount 格式:

bean-extract config.py Chase1234_Activity20210808_20210907_20210929.CSV

API

account_patterns

account_patterns 参数是一个包含(正则表达式,账户)对的列表。对于 CSV 文件中的每一行,Chase 导入工具都会尝试通过将收款人、摘要或组合后的信息与这些正则表达式进行匹配,从而在交易记录中创建对应的条目。

这些正则表达式是按优先级排序的,较靠前的模式会优先于较靠后的模式被使用。

资源

如需其他可公开使用的 Beancount 导入工具,请参阅 awesome-beancount]。