BIZ8 固化样票脱敏授权规则
这个提交包含在:
+16
@@ -42,6 +42,22 @@ R5 公网验收后确认:正式发票/OCR 上传入口只接受 PDF 发票文
|
||||
- OCR 失败、重复、已使用、他人已使用都要显示可理解原因。
|
||||
- 刷新按钮必须有明显反馈,不能让用户误以为没点中。
|
||||
|
||||
## 样票脱敏和授权
|
||||
|
||||
真实 OCR、批量样票回归和供应商能力验证只能使用已授权样票。仓库只保存规则、摘要、命令和证据路径,不保存真实票据原件。
|
||||
|
||||
样票进入测试前必须确认:
|
||||
|
||||
- 样票来源、用途、授权人和有效期已在仓库外安全位置登记;Issue CSV 只记录授权摘要或外部登记位置。
|
||||
- 原始发票、支付截图、订单、合同和聊天记录不得提交到 git;需要长期保留时放在受控对象存储或本地安全目录。
|
||||
- 脱敏样票必须去除或遮盖不参与测试的公司抬头、税号、地址电话、开户行账号、个人姓名、手机号、身份证、银行卡、二维码和完整业务备注。
|
||||
- 如果 OCR 测试必须保留发票代码、号码、金额、日期等字段,应只保留验证所需最小字段,并在报告中写明保留原因。
|
||||
- 证据报告只能记录文件别名、格式、大小、样本类别、OCR 状态、字段命中摘要和失败原因,不记录完整票面图片或敏感字段明文。
|
||||
- `artifacts/`、`output/` 和 Playwright 截图不得包含未经脱敏的真实票面;如工具自动生成了敏感截图,先删除或移出仓库外安全位置,再回填摘要。
|
||||
- 无授权样票时,真实 OCR 回归只能标记为 `SKIP`,不得用 mock、截图或口头描述替代真实样票结论。
|
||||
|
||||
样票引用建议使用稳定别名,例如 `SAMPLE-PDF-VAT-001`、`SAMPLE-IMG-VAT-001`。别名和真实文件名的映射放在仓库外,Issue CSV `Notes` 只写别名、结论和证据路径。
|
||||
|
||||
## 查重规则
|
||||
|
||||
公司级查重优先级:
|
||||
|
||||
@@ -3,7 +3,7 @@ BIZ8-0,BIZ8 连续合同建档,"建立报销、OCR、财务和项目轻量增强
|
||||
BIZ8-1,业务增强需求规约更新,"复核报销、发票、OCR、财务、费用提示和项目轻管理规约,明确 BIZ8 当前做与不做。","1) PDF-only 当前口径清楚;2) 图片 OCR 仅做可行性设计或明确不做;3) ERP 和重预算冻结;4) 财务和项目权限边界清楚。","流程级验证:rg -n 'PDF|图片 OCR|发票|财务|费用|项目|ERP|预算' docs/报销发票附件规则.md docs/需求-报销发票OCR规约.md docs/需求-项目轻管理规约.md docs/海音达OA-MVP需求规格说明书.md。",rg|manual,DONE,DONE,DONE,docs/报销发票附件规则.md|docs/需求-报销发票OCR规约.md|docs/需求-项目轻管理规约.md|docs/海音达OA-MVP需求规格说明书.md,"[""BIZ8-0""]",rg 复核通过;PRD、报销 OCR 规约、报销附件规则和项目轻管理规约已覆盖 PDF-only、图片 OCR 后续设计、ERP/预算冻结、财务付款导出和项目轻量权限边界;未改业务代码。
|
||||
BIZ8-2,PDF-only 当前口径复核,"复核当前 OCR 是否仍以 PDF-only 为验收口径,避免把未实现图片 OCR 误报为能力。","1) 当前支持格式清楚;2) 页面提示和后端校验一致;3) 测试样例可复现;4) 不承诺未实现格式。","流程级验证:上传 PDF 和非 PDF 样例 -> 检查校验、提示和 OCR 状态;rg 当前 OCR 文档口径。",manual|node|playwright,DONE,DONE,DONE,docs/需求-报销发票OCR规约.md|server/src|client/src,"[""BIZ8-1""]",后端 npm test -- tests/unit/routes/invoicePool.upload.test.js 通过 6 tests,覆盖 PDF 上传和 image/png 发票拒绝 pdf_invoice_required;前端 npx playwright test tests/e2e/r111-invoice-reimbursement-guard.spec.ts --workers=1 --reporter=list 通过 2 tests,覆盖 PC 和企业微信移动端 PDF 发票上传、图片附件分离和无拍照发票入口;rg 已确认文档继续保持 PDF-only 和图片 OCR 后续能力口径;未改业务代码。
|
||||
BIZ8-3,图片 OCR 可行性设计,"设计图片 OCR 是否进入当前阶段,评估 provider、成本、准确率、样票授权和回滚路径。","1) provider 和 SDK 选择清楚;2) 样票授权和脱敏规则明确;3) 不影响 PDF OCR;4) 不做 AI 自动处理。","流程级验证:人工审查可行性设计;必要时用脱敏样票在非生产环境验证。",manual,DONE,DONE,DONE,docs/需求-报销发票OCR规约.md|docs/报销发票附件规则.md,"[""BIZ8-2""]",已在 docs/需求-报销发票OCR规约.md 增加 BIZ8 图片 OCR 可行性设计;官方资料复核腾讯云、阿里云、百度均支持图片或 PDF 发票识别,当前结论为技术可行但不开放正式能力;优先复用现有腾讯云通道,真实样票授权、脱敏、feature flag、字段归一化、审计和回滚条件满足后再开发;未改业务代码。
|
||||
BIZ8-4,样票脱敏和授权规则,"定义真实 OCR 和批量回归所需样票的授权、脱敏、存放和引用规则。","1) 样票来源合法;2) 票据、公司、金额和个人信息按需脱敏;3) 仓库不提交敏感原件;4) 证据只记录路径和摘要。","流程级验证:人工核对样票授权记录和脱敏规则;rg 确认仓库未新增真实票据原件。",manual|rg,TODO,TODO,TODO,docs/报销发票附件规则.md|artifacts|output,"[""BIZ8-3""]",真实票据原件不得入库。
|
||||
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,TODO,TODO,TODO,scripts/qa|docs/需求-报销发票OCR规约.md,"[""BIZ8-4""]",复用 QAOPS8-7 边界。
|
||||
BIZ8-6,OCR 异步终态体验,"优化或验证 OCR 异步处理中、成功、失败、pending 和重试的页面体验。","1) 异步状态可解释;2) 用户知道是否需要等待或重试;3) 失败不阻塞无关流程;4) 移动端不重叠。","流程级验证:上传发票 -> 观察 OCR pending/success/failure -> PC 和移动查看报销详情状态。",playwright|node|manual,TODO,TODO,TODO,server/src|client/src|docs/产品设计规则.md,"[""BIZ8-5""]",页面改动需视觉验证。
|
||||
BIZ8-7,重复票据例外流程,"设计重复票据发现后的例外处理流程,避免误拦截合法场景或放过风险。","1) 重复提示清楚;2) 人工例外有权限和记录;3) 不绕过财务复核;4) 审计可追溯。","流程级验证:提交重复票据 -> 检查拦截或例外路径 -> 财务复核 -> 查看审计记录。",node|playwright|manual,TODO,TODO,TODO,server/src|client/src|docs/报销发票附件规则.md,"[""BIZ8-2""]",不得自动处理或自动放行。
|
||||
|
||||
|
在新工单中引用
屏蔽一个用户