电子发票银行对账流水线
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_15292d5a/yjkj-e-facture-rapprochement。
技能介绍
要解决的问题
多客户场景下,发票常以现金票据照片、PDF 或半结构化电子发票存在,银行侧则可能是 CAMT.053、OFX、CSV 或 PDF 流水。人工核账容易漏掉小额、退款、手续费和“已收款但未开票”的边界情况。这个技能把“发票 + 银行流水 → 对账结果”整理成可重复的流水线,重点是结构化摄入、非结构化凭证的 LLM 提取,以及把结果落到 company.json 和 rapprochement.json。
工作方式与适用边界
核心入口是 scripts/main.py,流程分四步:
- A. 发票摄入:优先解析
Factur-X、纯UBL/CII,票据或无XML的PDF走LLM文本/视觉提取,并带confidence分数。 - B. 银行摄入:把
CAMT.053、OFX、CSV归一化为带符号金额的交易日志;PDF账单同样交给LLM提取。 - C. 对账:委托共享的对账引擎,按金额 +
reference/ 对手方 / 日期等匹配,未命中进入unmatched_bank_lines,工资、税费、手续费等进入excluded_bank_lines。 - D. 输出:生成
company.json与rapprochement.json,并校验rappr + unmatched + excluded == bank_transactions_count。
执行采用两遍法:第一遍运行引擎,遇到非结构化文件会输出 worklist 和 sidecar 路径;第二遍逐条读取、提取 JSON,再重跑,直到 worklist 为空。默认写入 clients-test/ sandbox,验证后再用 --real 指向真实客户目录。适合已有会计后端、只需要补齐票据与流水摄入/提取/对账输出的场景;不适合重写后端、发信、前台展示,也不适合手工改最终 JSON。
使用场景
- 会计把客户现金票据照片和 PDF 与银行 CSV 流水对账,输出已付、未匹配和排除项。
- 财务将 CAMT.053、OFX、CSV 流水归一化,再和 Factur-X、UBL 发票匹配。
- 处理无 XML 的 PDF 账单时,先由 LLM 提取 sidecar JSON,再重跑生成对账结果。
- 多客户批量核对时,默认写入 clients-test sandbox,人工确认高金额低置信票据后再切真实目录。
适合人员
- 需要把客户票据照片、PDF 和银行流水核成对账表的会计。
- 负责多客户财务数据清洗与账单匹配的后端工程师。
- 需要人工复核高金额或低置信票据的财务运营。
- 维护现有会计系统并补充电子发票摄入流水线的产品工程师。