Files
Auto-Finance/.agents/skills/reimbursement/SKILL.md
T
wandering d3728bfe51 docs: 记录 git 历史清洗,并把文档里的提交号重映射到新历史
- 方案文档新增 §12:为什么洗(公开文档含真实工号/姓名/16 位公务卡号/内网 LLM 地址与 key,
  历史 config.json 含真实登录密码;另发现两份 .xls 是真实申购单、四组样本发票无法证明不含个人信息)、
  怎么做(git-filter-repo 删 19 条路径 + 全历史替换六类特征)、怎么验证(重扫 608 个 blob 零命中、
  与备份 HEAD 逐文件对比只有预期差异)、善后(改密码、轮换 Gitea token、旧 clone 重新拉、删备份 bundle)
- §11.5 第 3 项(模板选择)标记完成
- 按 .git/filter-repo/commit-map 把文档引用的 6 个提交号重映射(6 文件 10 处),
  否则所有「看提交 xxx」的指引在重写后的历史里都是死链
- src/infra/documents/README.md 改写模板章节;docs/MCP.md 文档产物段、README 结构表、
  AGENTS 重要约束同步模板解析顺序与 REQUISITION_TEMPLATE
- 另记一笔:.git/filter-repo/already_ran 时间戳是 2026-06-12,这个仓库六月中已洗过一次历史
2026-10-19 23:57:49 +08:00

3.3 KiB
Raw Blame History

name, description
name description
reimbursement 财务报销自动化(阜阳师范大学):把发票、支付截图、出差申请单变成结构化报销数据, 生成低值易耗品申购单,并在财务系统填报。当用户提到报销、发票、差旅费、公务卡刷卡记录、 易耗品申购、财务系统填报时使用本技能。通过 mcp__arb__* 工具操作,禁止臆造财务数据。

财务报销(MCP 工具版)

接口细节与参数表见 docs/MCP.md。本文件只写"怎么做才对"的操作纪律。

流程

  1. mcp__arb__case_create 建会话,记下 case_id 与 upload_page(手机扫码上传入口,告诉用户)
  2. 材料入库:本地文件用 case_add_files(paths=[...])(路径必须正斜杠 D:/Code/...); 手机上传先落 inbox/,再 case_add_files(case_id, source="inbox") 收取
  3. case_render_pages:text_chars > 0 就 case_read_text 读文本层(比读图准且省 token), 否则读 pages/<stem>/p01.png。PDF 自动转正已处理,但转正角度要看 meta.json
  4. 逐张出 JSON → case_save_extraction。字段定义用 extraction_spec,判读细则见 references/invoice-fields.md
  5. match_payments:必须逐条处理 review_required(未匹配、发票总额小于支付总额、 一对多凑额)。贪心结果 ok 不等于"已核对"
  6. info_skeleton(info_type) 取骨架 → 填值 → save_info(自动跑规则校验)。 拿不准的字段用 validate_info(draft=...) 不落盘反复试;规则原文 rules_get
  7. 普通发票:doc_requisition 生成 Excel 申购单(exclude 剔除不参与申购的物品)
  8. case_status 复查态势;要重跑用 case_reset(scope)

必须遵守

  • 完整性不由你宣布:以 validate_info / save_info 返回的校验报告为准;不完整就向用户要材料, 禁止说"可以提交了"
  • 不得臆造财务数据:金额、日期、发票号、卡号读不清就标出来问用户,不要猜
  • 双通道冲突要复核:PDF 文本层与读图结论不一致时(尤其编号、卡号、金额位数),两条都不许默认采信, 重新放大该区域确认。已知文本层会把"标签"和"值"分段存储,且康熙部首类字符(⽇ ⻔)NFKC 后仍不变形
  • 不回显密码,不把凭据写进任何产物或日志
  • 产物只写 cases/<case_id>/(该目录已 gitignore,含身份证号与卡号)
  • required: true 的字段(含值为空串的备注类)必须存在于 JSON 里,这是刻意约束;用骨架别凭记忆造结构

尚未实现,不要承诺

浏览器填报(browser_*)、提交预览与执行(submit_*)还没做。用户要提交时如实说明该环节在建设中, 可临时用旧 Web 流程(代码在 git 提交 b2d271c 里)。

参考

  • references/invoice-fields.md — 七类票据的字段判读细则(火车票/支付截图/酒店/普通发票/事前申请单/出入库单/其他附件)
  • references/travel-info-fields.md — 差旅报销数据:交通/住宿/会议费、支付方式、按人按天的补助清单
  • references/normal-info-fields.md — 普通报销数据:明细与支付方式
  • .agents/docs/plans/MCP化改造方案-2026-10-19.md — 架构决策与实测记录(含抽取质量闸门数据)