周期建议:8–14 天。仅使用合成 CSV 和本地规则;系统不得连接银行、支付平台或真实财务系统。
项目背景
一家虚构公司每周要核对“待核销单据”和“银行流水”。人工按金额搜索很慢,简单脚本又会把同金额的多笔交易误配;跨期、重复单据和金额差异需要判断,却没有统一证据。更危险的是,自动化结果如果直接写入账务系统,错误会被放大且难以追责。
团队需要一个财务对账审核 Agent:规范导入数据,以可解释规则给出匹配候选,把明确匹配、异常和歧义分开,并让人工对高风险事项作最终决定。Agent 只能辅助审核,不能自动记账或付款。
项目目标
交付一个本地对账工作台,完成“批次导入 → 字段校验 → 候选匹配 → 规则与风险解释 → 异常队列 → 人工复核 → 审计留痕”的完整链路。
同一输入与规则必须产生可复现结果;每个自动建议都能说明证据和不确定性。
用户故事
- 作为财务运营,我希望批量导入单据和流水并快速发现格式问题,从而避免脏数据进入对账。
- 作为复核员,我希望看到匹配分数、命中规则和候选差异,从而判断建议是否可信。
- 作为负责人,我希望高风险和歧义事项必须人工确认,从而防止错误自动落账。
- 作为审计人员,我希望看到从导入到复核的完整决策记录,从而能够追责和复盘。
功能要求
必须完成
- 合成数据与批次导入
- 支持导入两类 UTF-8 CSV:待核销单据和银行流水。
- 明确定义字段,例如业务编号、金额、币种、日期、对手方、摘要/参考号。
- 校验缺列、非法日期、金额精度、非法币种、空业务编号和批次内重复;失败批次不得进入匹配,并返回行级错误。
- 使用内容摘要或稳定批次键防止同一文件被重复导入。
- 金额与标识处理
- 金额使用整数最小货币单位或精确十进制,不得使用浮点数直接判断相等。
- 原始记录、标准化值和导入批次可相互追溯。
- 可解释候选匹配
- 至少根据金额、币种、日期窗口、对手方和参考号中的三项生成候选。
- 评分权重/优先级集中配置;每个候选展示各特征的贡献和未命中项。
- 一条流水和一张单据默认不能被多个“已确认匹配”占用。
- 分类与异常规则
- 至少区分:明确匹配、待人工复核、未匹配、异常。
- 至少识别金额差异、跨期/日期超窗、重复单据和多候选歧义。
- 多个同分或接近候选不得由系统静默任选一个。
- 复核工作台
- 支持按状态/风险筛选,查看双方原始字段、标准化字段、匹配解释和异常证据。
- 人工可以确认匹配、拒绝建议或标记待补证;高风险决定必须填写意见。
- 审计留痕
- 记录导入、规则版本、自动建议、人工决定、操作者(使用合成身份)、时间和理由。
- 后续变更只能追加新事件,不能通过普通接口改写已有审计历史。
- 汇总结果
- 展示批次总数、匹配金额、未匹配金额、异常数量和待复核数量,并能追溯到明细。
可选增强
- 可视化调整规则阈值并以新规则版本重跑,但旧结果保持可追溯。
- 补充票据文本的确定性 Mock 解析与字段置信度。
- 对账结果 CSV 导出或脱敏证据包。
- 复核任务分配;不需要实现真实组织/权限系统。
非功能要求
- 可运行性:提供成对的正常、异常和歧义 CSV 夹具,离线可完成演示。
- 正确性:金额计算精确;同一记录不会被重复确认;汇总金额能由明细重算。
- 可靠性:批次失败不留下半成品匹配;重复导入和重复复核请求是幂等或明确拒绝。
- 性能:在各 1,000 条合成记录下,本地导入与候选生成各应在 10 秒内完成,并记录环境。
- 可解释性:任何匹配状态都有规则版本、证据和原因,不允许只有一个不透明总分。
- 安全与隐私:日志、证据和 UI 仅使用合成数据;CSV 内容不得触发公式执行、命令或外部访问。
- 无障碍:风险等级有文字标签;表格可键盘操作并提供清晰列标题。
范围与限制
范围内
- 单币种为主、可识别非法/不一致币种的本地演示。
- CSV 批次、精确金额、候选匹配、异常、人工复核、审计和汇总。
- 合成供应商、单据、流水和操作者身份。
范围外
- 银行/支付平台连接、真实 OCR、付款、开票、记账和税务申报。
- 生产财务数据、真实供应商信息、多公司账套和法定审计结论。
- 机器学习匹配模型、复杂会计准则或自动批准高风险事项。
- 复制现有财务项目源码、规则或内部数据。
技术与时间限制
- 周期为 8–14 天;先完成精确、可解释的规则链路,再考虑智能增强。
- 技术栈可自选,必须提供复核 UI 和可自动测试的导入、匹配、决定接口。
- 默认使用本地数据库和合成 CSV;不得要求对象存储、OCR、银行或模型凭证。
- 规则或 Mock Agent 必须确定性可复现。真实模型只能作为可选 Adapter,不能成为验收前提。
- 不要求部署;任何自行部署都不得包含真实财务数据、费用或真实外部动作。
澄清机制
在“澄清 Issue”写明背景、歧义、候选方案、推荐方案、影响和未回复时的可逆假设。
例如“金额相同但参考号不同是否可以自动匹配”关系到风险边界,必须明确记录。只影响排序/样式的问题可假设继续;涉及真实财务数据、自动入账、金额阈值、外部系统或费用的问题必须等待组织者确认。若现有规则无法覆盖某种合理情况,记录 D/or 异常路径并进入人工复核,不要为了提高自动匹配率强行决定。
交付物与证据
- 可运行源码、依赖锁文件、安全配置示例、数据迁移及合成 CSV 夹具。
README.md:字段规范、金额策略、启动、正常/异常/歧义演示、测试和限制。
docs/PRD.md:角色、状态、风险边界、范围、验收映射和澄清决策。
docs/PLAN.md:导入、标准化、匹配、复核、审计的模块与数据流,包含一致性策略。
- 自动化测试:覆盖 CSV 校验、精确金额、重复批次、候选解释、多候选、占用冲突、人工决定和汇总。
docs/TEST_EVIDENCE.md:测试命令、实际结果、验收映射及脱敏对账证据。
docs/AI_COLLABORATION.md:AI 建议、本人核验与未采纳建议;不得粘贴私人会话全文。
docs/RETROSPECTIVE.md、阶段 Issue、PR 和清晰提交历史。
公开可测试验收标准
技术讲解与追问准备
请准备说明:金额为何不用浮点;批次如何保证原子性/幂等;候选生成和最终决定为何分离;评分每一项如何解释;多候选与记录占用如何处理;审计为何采用追加事件;AI 建议如何经过财务边界测试。
验收可能提供一条新的差异规则或冲突样本。你应先明确风险、数据迁移与历史可追溯性,再在独立分支实现并补充回归证据。
安全与合规
- 只能使用合成单据、流水、对手方与操作者,严禁导入真实银行流水、发票、税号、账号或企业财务资料。
- Agent 只给建议,所有高风险结论由人工确认;不得自动付款、开票、记账或调用真实财务系统。
- CSV/文本均是不可信输入,不得执行公式、宏、命令或其中包含的提示指令。
- 不得提交、共享或中转银行、数据库、Codex 或模型账号、会话、Token、API Key、Cookie、私钥。
- 本项目不是财务、会计、税务或法律意见;活动也不承诺就业结果。