BIZ8 复核重复票据例外流程

这个提交包含在:
2026-05-13 18:57:30 +08:00
父节点 fdef5fa9a2
当前提交 b4034adeae
@@ -6,7 +6,7 @@ BIZ8-3,图片 OCR 可行性设计,"设计图片 OCR 是否进入当前阶段,
BIZ8-4,样票脱敏和授权规则,"定义真实 OCR 和批量回归所需样票的授权、脱敏、存放和引用规则。","1) 样票来源合法;2) 票据、公司、金额和个人信息按需脱敏;3) 仓库不提交敏感原件;4) 证据只记录路径和摘要。","流程级验证:人工核对样票授权记录和脱敏规则;rg 确认仓库未新增真实票据原件。",manual|rg,DONE,DONE,DONE,docs/报销发票附件规则.md|artifacts|output,"[""BIZ8-3""]",已在 docs/报销发票附件规则.md 增加样票脱敏和授权规则;要求授权登记在仓库外、真实票据原件不入 git、证据只记录别名摘要和路径、无授权样票时真实 OCR 回归只能 SKIP;本次未新增样票文件或业务代码。
BIZ8-5,批量样票回归设计,"设计 OCR 批量样票回归,区分 mock、真实 provider、pending OCR 和失败重试。","1) mock 与真实 provider 结论分离;2) pending OCR 不等于失败或通过;3) 阈值和样本数清楚;4) 失败有复核路径。","流程级验证:node scripts/qa/check-pending-ocr.mjs --thresholds=2,5,10;真实样票缺失时记录 SKIP。",node|manual,DONE,DONE,DONE,scripts/qa|docs/需求-报销发票OCR规约.md,"[""BIZ8-4""]",已在 docs/试运行与自动化验证手册.md 增加 BIZ8 批量样票 OCR 回归设计,区分 mock、pending 扫描、单张真实 OCR 和批量真实 OCR;node scripts/qa/check-pending-ocr.mjs 阈值 2/5/10 输出 [pending-ocr][SKIP] missing DATABASE_URL,按规则记录为非阻断 SKIP;当前无授权样票和凭据,未执行真实批量 OCR。
BIZ8-6,OCR 异步终态体验,"优化或验证 OCR 异步处理中、成功、失败、pending 和重试的页面体验。","1) 异步状态可解释;2) 用户知道是否需要等待或重试;3) 失败不阻塞无关流程;4) 移动端不重叠。","流程级验证:上传发票 -> 观察 OCR pending/success/failure -> PC 和移动查看报销详情状态。",playwright|node|manual,DONE,DONE,DONE,server/src|client/src|docs/产品设计规则.md,"[""BIZ8-5""]",npx playwright test tests/e2e/r111-invoice-reimbursement-guard.spec.ts --workers=1 --reporter=list 通过 2 tests;覆盖 PC 发票上传后 pending 轮询并自动添加、企业微信移动端 pending 提示、识别失败发票显示可删除后重新上传、图片附件分离和移动布局指标;未改业务代码或页面代码。
BIZ8-7,重复票据例外流程,"设计重复票据发现后的例外处理流程,避免误拦截合法场景或放过风险。","1) 重复提示清楚;2) 人工例外有权限和记录;3) 不绕过财务复核;4) 审计可追溯。","流程级验证:提交重复票据 -> 检查拦截或例外路径 -> 财务复核 -> 查看审计记录。",node|playwright|manual,TODO,TODO,TODO,server/src|client/src|docs/报销发票附件规则.md,"[""BIZ8-2""]",不得自动处理或自动放行。
BIZ8-7,重复票据例外流程,"设计重复票据发现后的例外处理流程,避免误拦截合法场景或放过风险。","1) 重复提示清楚;2) 人工例外有权限和记录;3) 不绕过财务复核;4) 审计可追溯。","流程级验证:提交重复票据 -> 检查拦截或例外路径 -> 财务复核 -> 查看审计记录。",node|playwright|manual,DONE,DONE,DONE,server/src|client/src|docs/报销发票附件规则.md,"[""BIZ8-2""]",npm test -- tests/unit/invoiceGovernance.dedup.test.js tests/unit/routes/invoicePool.upload.test.js 通过 2 files 11 tests,覆盖重复可用票据复用、他人或已使用票据阻断和可理解提示;一次性 Fastify 注入验证 /api/invoice-pool/:id/override-duplicate 无 expense.finance.override_duplicate 权限返回 403,有权限时写 is_duplicate_override、原单号、原因和 INVOICE_DUPLICATE_OVERRIDDEN 审计;未改业务代码。
BIZ8-8,财务台账扫读性,"提升财务台账的扫读性,优先解决状态、金额、申请人、项目和票据提示的扫描效率。","1) 财务能快速识别待处理项;2) 状态和金额不混乱;3) 权限不泄露;4) PC 和移动布局可用。","流程级验证:财务查看台账 -> 筛选或扫读待付款报销 -> 检查状态、金额、申请人和票据提示。",playwright|npm|manual,TODO,TODO,TODO,client/src|server/src|docs/产品设计规则.md,"[""BIZ8-1""]",UI 改动必须参考设计事实源。
BIZ8-9,付款和导出增强,"增强或验证财务付款标记和导出路径,保证权限、状态和审计一致。","1) 只有财务可执行付款或导出;2) 状态转换合法;3) 导出不泄露无权限数据;4) 操作可追溯。","流程级验证:财务付款或导出 -> 普通员工和管理员直连复核 -> 检查状态和权限。",node|bash|manual,TODO,TODO,TODO,server/src|client/src|server/scripts,"[""BIZ8-8""]",不得引入 ERP 实时集成。
BIZ8-10,费用提示轻量规则,"设计轻量费用提示规则,作为填报辅助而非重预算控制。","1) 提示不阻断合法报销;2) 规则来源清楚;3) 不承诺预算控制;4) 用户可理解。","流程级验证:填写不同金额或类型报销 -> 检查费用提示 -> 提交和审批不被误阻断。",manual|playwright,TODO,TODO,TODO,docs/报销发票附件规则.md|client/src|server/src,"[""BIZ8-1""]",预算重型控制冻结。
1 ID Title Description Acceptance Test_Method Tools Dev_Status Review1_Status Regression_Status Files Dependencies Notes
6 BIZ8-4 样票脱敏和授权规则 定义真实 OCR 和批量回归所需样票的授权、脱敏、存放和引用规则。 1) 样票来源合法;2) 票据、公司、金额和个人信息按需脱敏;3) 仓库不提交敏感原件;4) 证据只记录路径和摘要。 流程级验证:人工核对样票授权记录和脱敏规则;rg 确认仓库未新增真实票据原件。 manual|rg DONE DONE DONE docs/报销发票附件规则.md|artifacts|output ["BIZ8-3"] 已在 docs/报销发票附件规则.md 增加样票脱敏和授权规则;要求授权登记在仓库外、真实票据原件不入 git、证据只记录别名摘要和路径、无授权样票时真实 OCR 回归只能 SKIP;本次未新增样票文件或业务代码。
7 BIZ8-5 批量样票回归设计 设计 OCR 批量样票回归,区分 mock、真实 provider、pending OCR 和失败重试。 1) mock 与真实 provider 结论分离;2) pending OCR 不等于失败或通过;3) 阈值和样本数清楚;4) 失败有复核路径。 流程级验证:node scripts/qa/check-pending-ocr.mjs --thresholds=2,5,10;真实样票缺失时记录 SKIP。 node|manual DONE DONE DONE scripts/qa|docs/需求-报销发票OCR规约.md ["BIZ8-4"] 已在 docs/试运行与自动化验证手册.md 增加 BIZ8 批量样票 OCR 回归设计,区分 mock、pending 扫描、单张真实 OCR 和批量真实 OCR;node scripts/qa/check-pending-ocr.mjs 阈值 2/5/10 输出 [pending-ocr][SKIP] missing DATABASE_URL,按规则记录为非阻断 SKIP;当前无授权样票和凭据,未执行真实批量 OCR。
8 BIZ8-6 OCR 异步终态体验 优化或验证 OCR 异步处理中、成功、失败、pending 和重试的页面体验。 1) 异步状态可解释;2) 用户知道是否需要等待或重试;3) 失败不阻塞无关流程;4) 移动端不重叠。 流程级验证:上传发票 -> 观察 OCR pending/success/failure -> PC 和移动查看报销详情状态。 playwright|node|manual DONE DONE DONE server/src|client/src|docs/产品设计规则.md ["BIZ8-5"] npx playwright test tests/e2e/r111-invoice-reimbursement-guard.spec.ts --workers=1 --reporter=list 通过 2 tests;覆盖 PC 发票上传后 pending 轮询并自动添加、企业微信移动端 pending 提示、识别失败发票显示可删除后重新上传、图片附件分离和移动布局指标;未改业务代码或页面代码。
9 BIZ8-7 重复票据例外流程 设计重复票据发现后的例外处理流程,避免误拦截合法场景或放过风险。 1) 重复提示清楚;2) 人工例外有权限和记录;3) 不绕过财务复核;4) 审计可追溯。 流程级验证:提交重复票据 -> 检查拦截或例外路径 -> 财务复核 -> 查看审计记录。 node|playwright|manual TODO DONE TODO DONE TODO DONE server/src|client/src|docs/报销发票附件规则.md ["BIZ8-2"] 不得自动处理或自动放行。 npm test -- tests/unit/invoiceGovernance.dedup.test.js tests/unit/routes/invoicePool.upload.test.js 通过 2 files 11 tests,覆盖重复可用票据复用、他人或已使用票据阻断和可理解提示;一次性 Fastify 注入验证 /api/invoice-pool/:id/override-duplicate 无 expense.finance.override_duplicate 权限返回 403,有权限时写 is_duplicate_override、原单号、原因和 INVOICE_DUPLICATE_OVERRIDDEN 审计;未改业务代码。
10 BIZ8-8 财务台账扫读性 提升财务台账的扫读性,优先解决状态、金额、申请人、项目和票据提示的扫描效率。 1) 财务能快速识别待处理项;2) 状态和金额不混乱;3) 权限不泄露;4) PC 和移动布局可用。 流程级验证:财务查看台账 -> 筛选或扫读待付款报销 -> 检查状态、金额、申请人和票据提示。 playwright|npm|manual TODO TODO TODO client/src|server/src|docs/产品设计规则.md ["BIZ8-1"] UI 改动必须参考设计事实源。
11 BIZ8-9 付款和导出增强 增强或验证财务付款标记和导出路径,保证权限、状态和审计一致。 1) 只有财务可执行付款或导出;2) 状态转换合法;3) 导出不泄露无权限数据;4) 操作可追溯。 流程级验证:财务付款或导出 -> 普通员工和管理员直连复核 -> 检查状态和权限。 node|bash|manual TODO TODO TODO server/src|client/src|server/scripts ["BIZ8-8"] 不得引入 ERP 实时集成。
12 BIZ8-10 费用提示轻量规则 设计轻量费用提示规则,作为填报辅助而非重预算控制。 1) 提示不阻断合法报销;2) 规则来源清楚;3) 不承诺预算控制;4) 用户可理解。 流程级验证:填写不同金额或类型报销 -> 检查费用提示 -> 提交和审批不被误阻断。 manual|playwright TODO TODO TODO docs/报销发票附件规则.md|client/src|server/src ["BIZ8-1"] 预算重型控制冻结。