文件预览

field_mapping.py

查看 Bank Statement Converter 技能包中的文件内容。

文件内容

field_mapping.py

# 目标模板 9 列 → 源文件可能的列名(按优先级排列)
FIELD_ALIASES = {
    "日期":    ["日期", "交易时间", "交易日期和时间", "交易日期时间", "入账日期", "交易日期", "交易日", "记账日期", "账务日期", "起息日期", "起息日"],
    "收入":    ["收入金额", "收入", "转入金额", "贷方发生额", "贷方发生额(元)", "收入(元)", "贷方金额", "汇入金额", "贷"],
    "支出":    ["支出金额", "支出", "转出金额", "借方发生额", "借方发生额(元)", "支出(元)", "借方金额", "汇出金额", "借"],
    "余额":    ["余额", "账户余额", "账户余额(元)"],
    "摘要":    ["摘要", "用途"],
    "对方户名": [
        "对方户名",
        "对方单位",
        "对方账户名称",
        "对方账户户名",
        "对方名称",
        "对方客户名称",
        "对方账号名称",
        "交易对方户名",
        "交易对方名称",
        "交易对手户名",
        "交易对手名称",
        "交易对方",
        "对手户名",
        "对手名称",
        "对手方",
        "对手方名称",
        "收(付)方名称",
        "收付方名称",
    ],
    "对方银行": [
        "对方行名",
        "对方银行",
        "对方银行名称",
        "对方开户行",
        "对方开户行名",
        "对方开户机构",
        "对方开户机构名称",
        "对方开户网点",
        "对方账号开户行",
        "对方账号开户机构",
        "对方账号开户网点名称",
        "对方账户开户行",
        "对方账户开户机构",
        "交易对方开户行",
        "交易对方开户机构",
        "交易对手开户行",
        "交易对手开户机构",
        "对手方银行",
        "对手方银行名称",
        "对手方开户行",
        "对手方开户机构",
        "收(付)方开户行名",
        "收(付)方开户行",
        "收(付)方开户机构",
        "收(付)方分行名",
        "收付方开户行名",
        "收付方开户行",
        "收付方开户机构",
        "收付方分行名",
    ],
    "对方账号": ["对方账号", "对方账户", "对方账户账号", "交易对方账号", "交易对手账号", "对手账号", "对手方账号", "对手方账户", "收(付)方账号", "收付方账号"],
    "备注":    ["备注", "附言", "客户附言"],
}

# 关键词用于检测表头行(只要某行包含这些关键词中的任意一个,就认为是表头行)
HEADER_KEYWORDS = ["交易时间", "交易日期", "入账日期", "交易日", "电子回单号码"]

# 源文件中"日期"列通常包含时间戳如 "2026-02-26 17:49:01",模板只要日期部分
DATE_COLS = ["日期"]

# 收入/支出列:空字符串或 None 表示该笔无收支
AMOUNT_COLS = ["收入", "支出"]

TEMPLATE_COLUMNS = list(FIELD_ALIASES.keys())