AutoRpa/docs/archive/采购主链RPA一期需求文档_会议整理版.md

23 KiB
Raw Blame History

采购主链 RPA 一期需求文档

文档用途:作为产品、开发、RPA 实施、测试和业务确认的共同底稿。本文将当前已留存的会议相关业务底稿,与现有《采购业务 RPA 思路》《一期需求简版说明》《一期开发任务清单》统一整理。

证据说明:视频音频未上传至外部转写服务,本文不是视频逐句转写稿,而是基于当前项目资料整理出的可执行需求初稿。文末“上线前待确认事项”用于回看会议原声后完成最终确认。

范围说明:当前可落地的主线是“合同/协议 -> 返利中心 -> M5 -> 收货通知单”。订单中心分货、招采子系统和发货后票据上传属于后续范围,本文单独列出,不混入一期验收。

1. 项目概述

1.1 项目目标

将采购人员收到合同后的重复录入和跨系统搬运工作,建设为一条可追踪的 RPA 自动化流程:

flowchart LR
    A[合同/协议进入共享目录] --> B[状态中心建单与判重]
    B --> C[OCR识别合同字段]
    C --> D[字段映射与业务校验]
    D --> E{合同系统是否审核通过}
    E -- 否 --> F[计划员手机待办]
    E -- 是 --> G[返利中心采购协议总单]
    G --> H[返利中心细单模板导入]
    H --> I[返利中心结果校验]
    I --> J[M5 1055采购订单]
    J --> K[生成收货通知单]
    K --> L[归档业务编号、截图、日志]

核心原则:机器人只执行已经确认的规则;不能稳定识别或映射的字段必须转人工,禁止猜测填报。

1.2 一期范围

包含:

  • 合同扫描件/合同文件从共享目录入池
  • 文件命名、完整性和重复性检查
  • OCR 识别合同基础字段和货品明细
  • 供应商、货品、结算方式、承付模式映射
  • 合同系统信息补齐、审核状态检查
  • 返利中心采购协议检索、总单录入、细单模板导入
  • 返利中心导入结果校验
  • M5 采购订单管理 1055 新增采购订单
  • M5 订单保存及收货通知单生成
  • 企业微信消息通知和 H5 手机待办
  • 状态中心、节点状态、日志、截图、重试和审计留痕
  • RPA 执行平台适配和可替换设计

1.3 一期不包含

  • 订单中心品种分货、货源切换和销售订单联动
  • 招采子系统医院计划抓取
  • 发货后一票、二票信息自动上传
  • 渠道价管理与维护
  • 邮件自动收件作为主入口
  • 复杂 BI 看板和经营分析

以上内容可作为二期/三期独立需求,不应影响一期主链交付。

2. 角色与职责

角色 主要职责 可处理的异常/字段
计划员 检查合同、确认 OCR 结果、确认数量和合同系统状态 合同编号、合同有效期、承付模式及参数、计划员归属、OCR 结果
采购 确认返利中心协议及细单信息 供应商/货品映射、协议单价、导入模板错误、返利中心业务校验
质管 维护或确认 M5 所需基础资料 质管基础资料缺失导致的 M5 保存失败
运维/机器人管理员 处理账号、网络、页面变化、执行器和系统异常 登录失败、控件定位失败、接口回调失败、页面结构变化、超时
项目负责人 处理升级事项、配置审批、平台切换和范围决策 多次失败、跨角色协调、执行平台切换

角色路由按角色配置,不将流程责任固定写死到个人账号。人员请假或轮班时,可由管理员替换实际处理人。

3. 总体架构与边界

3.1 系统职责

系统 负责内容 不负责内容
状态中心 建单、判重、节点编排、业务规则、待办、重试、审计、证据、平台路由 直接操作返利中心或 M5 页面
RPA 执行平台 登录、检索、点击、录入、上传、下载、截图、结果回调 保存主流程状态、人工审批和业务规则主数据
OCR 服务 文件识别、文本抽取、字段置信度输出 直接向业务系统写单
企业微信 消息、卡片、H5 入口、用户身份和人工操作提交 直接修改数据库或绕过状态中心推进流程
合同系统 合同录入、审核和合同编号产生 一期不要求其改造接口,优先通过 RPA 访问
返利中心 采购协议总单、细单、返利协议结果 不承担流程追踪和异常协同
M5 1055 采购订单、收货通知单 不承担合同和返利中心数据映射

3.2 执行平台可替换边界

  • 状态中心、规则、企业微信待办、日志和验收口径必须由项目方掌握。
  • 一期上线可以只接一个主平台,但节点设计必须保留统一适配接口。
  • 可按新单或节点配置选择平台;不支持一个节点执行到一半跨平台接力。
  • 新平台上线前必须通过登录、检索、模板导入、截图、日志、HTTP 回调等 POC 用例。
  • 老单默认沿用建单时的执行平台,避免中途迁移造成重复业务结果。

4. 主流程节点需求

N01 合同文件入池

目的:将合同扫描件、年度协议或批次合同纳入统一流程,建立唯一流程实例。

触发方式:

  • 计划员/采购将双方盖章版本放入约定共享目录;或
  • 用户在状态中心手工上传并建单。

输入:文件、文件名、上传时间、来源目录、发起人、合同类型(年度协议/批次合同)。

处理规则:

  1. 校验文件格式,至少支持 PDF、常见图片格式;Excel 仅作为模板输入时支持。
  2. 校验文件是否可打开、页数是否异常、是否存在空文件或缺页。
  3. 计算文件哈希,拦截相同文件重复上传。
  4. 按“合同编号 + 合同类型 + 供应商 + 发起来源”判定业务重复。
  5. 记录原始文件,不覆盖历史文件。
  6. 创建 job_id,初始化节点为 FILE_INTAKE,绑定映射版本和默认执行平台。

输出:job_id、源文件存证、文件哈希、合同类型、来源信息。

异常与路由:

  • 命名不规范:计划员待办,不启动 RPA。
  • 文件损坏、缺页或关键附件缺失:计划员待办。
  • 疑似重复:提示已有流程实例,由计划员/项目负责人确认,不直接新建。
  • 共享目录不可访问:运维告警。

成功判定:状态中心已生成唯一 job_id,且源文件、元数据、判重结果均已留痕。

N02 OCR 识别与字段抽取

目的:将合同扫描件转换为可校验的结构化数据。

输入:N01 的源文件和合同类型。

建议抽取字段:

字段 说明 是否必填
supplier_name 供应商名称 是
planner_name 计划员/联系人 是
contract_no 合同编号 是,若合同系统尚未产生可为空
settlement_text 原文结算方式 是
payment_term_text 原文承付模式及参数 是
contract_validity 合同有效期 是
items[] 货品、数量、单价等明细 批次合同必填

每个字段必须输出原文值、标准化值、页码/位置和置信度;保留完整 OCR JSON,不能只保存最终填入值。

处理规则:

  • OCR 服务采用本地部署,状态中心通过适配接口调用,后续可替换云 OCR。
  • 关键字段缺失、置信度低于阈值、同一字段识别出多个候选值时,进入 WAITING_USER。
  • OCR 只负责识别,不直接决定系统编码,不直接写入返利中心或 M5。

成功判定:必需字段均有值或已明确进入人工确认,OCR 原始结果和截图可追溯。

异常与路由:OCR 服务不可用、文件无法识别、页码读取异常,转计划员;服务级异常同时通知运维。

N03 字段映射与业务校验

目的:把合同语言转换为合同系统、返利中心和 M5 能使用的编码与字段。

映射对象:供应商、货品、结算方式、承付模式、合同编号、角色和执行平台。

处理规则:

  1. 规则优先,精确命中字典才允许自动转换。
  2. 能识别标准 N天 的承付表达时,拆分为“承付模式代码 + 天数参数”。
  3. 货品需映射到系统货品编码,数量和单价保留合同原值及转换结果。
  4. 映射规则必须版本化;流程开始后绑定版本快照。
  5. 重试默认沿用原版本;人工选择“按最新配置重跑”时才更新版本。
  6. 任一必填项未命中、存在一对多结果或映射置信度不足,不得继续。

承付模式字典:

0 手工指定、1 订单签订后N天、2 入库后N天、3 收到发票后N天、4 供应商开出发票后N天、5 销售发货后N天、6 销售出库后N天、7 销售回款后N天、8 门店铺货后N天、9 以销定结、10 销完后N天、11 下月N号结、12 押N批、13 预付、14 供应商发货日期N天、15 开完发票N天、16 销售发票入账后N天、99 无。

结算方式字典:

3 电汇、10 银行承兑汇票、11 商业承兑汇票、12 托收、13 信用证、17 电子债权凭证、27 电子银行承兑汇票、28 电子商业承兑汇票、30 应付保理、31 归集付款、32 电汇-非直联、33 不需支付、34 其他支付-直联、35 其他支付-非直联、36 电子债权凭证-非直联、37 电子银承汇票-非直联。

输出:映射后的结构化业务对象、校验结果、未通过字段清单、映射版本。

异常与路由:供应商/货品未找到或多值匹配,计划员或采购待办;字典配置缺失,运维/项目负责人待办。

N04 合同系统信息补齐与审核前置

目的:确保后续返利中心和 M5 使用的合同已在合同系统中建立并处于可执行状态。

输入:N02/N03 结构化字段和源文件。

RPA 操作:

  • 登录合同系统。
  • 按供应商、计划员、合同编号或业务条件检索已有合同。
  • 补齐允许自动录入的合同字段。
  • 保存并获取合同系统单号。
  • 查询合同审核状态。

前置规则:

  • 合同系统“已审核/审核通过”才允许进入返利中心。
  • 送审是否由机器人执行,需业务最终确认;未确认前默认由计划员操作或确认。
  • 审核驳回、缺资料或状态不明确,流程停留在前置节点。

输出:合同系统单号、审核状态、审核通过时间、驳回原因摘要。

成功判定:合同单号存在,系统查询状态为审核通过,且关键字段与状态中心数据一致。

N05 返利中心采购协议总单

目的:根据合同编号在返利中心定位采购协议并完成总单必填信息。

输入:合同编号、供应商、承付模式、承付参数、结算方式、返利合约标识、有效期。

RPA 操作:

  1. 登录返利中心。
  2. 进入“采购协议”。
  3. 以合同编号检索对应总单。
  4. 校验供应商和合同编号是否与状态中心一致。
  5. 录入/更新采购协议总单必填字段。
  6. 保存,获取返利中心总单号并截图。

关键业务规则:

  • 采购协议至少包含品种、承付模式、承付参数和返利合约(一期默认为“否”或按业务配置)。
  • 承付模式和结算方式必须使用系统内已存在编码。
  • 批次合同在开户时必须先录入产品。
  • 批次合同有效期默认为 1 个月;如合同原文不同,以人工确认值为准。

成功判定:总单号已生成或检索到且关键字段核验一致;只有页面保存成功而无业务编号时不得直接成功。

异常:检索不到、供应商不一致、必填项校验失败、重复总单、登录或页面异常,按采购/计划员/运维角色分流。

N06 返利中心细单模板生成与导入

目的:批量写入合同约定的货品、数量、单价等明细,减少逐行人工录入。

输入:货品映射结果、合同明细、返利中心模板格式、总单号。

状态中心处理:

  • 按模板版本生成 Excel/导入文件。
  • 写入来源字段、目标字段和每行数据校验结果。
  • 模板作为 TEMPLATE 存证,记录生成时间和映射版本。

RPA 操作:

  1. 下载或打开返利中心细单模板。
  2. 上传状态中心生成的模板。
  3. 提交导入。
  4. 读取导入总行数、成功行数、失败行数和失败原因。
  5. 保存错误明细截图和导入结果。

成功判定:成功行数等于应导入行数,失败行数为 0,且返利中心返回可查询的结果。

部分成功处理:必须保留逐行成功/失败明细;不得直接将整节点标记成功,也不得盲目重复导入造成重复货品。转采购待办,由采购决定修正、补导或人工处理。

N07 返利中心结果校验

目的:确认总单与细单已经真正落库,并作为 M5 前置条件。

校验项:供应商、合同编号、货品编码、数量、协议单价、结算方式、承付模式、有效期、明细行数。

输出:返利中心总单号、明细校验摘要、差异项、成功截图。

规则:有差异即阻断 M5;差异项应展示“合同值/状态中心值/返利中心值”,转采购或计划员确认。

N08 M5 采购订单创建(1055)

目的:依据已审核合同和返利中心协议,在 M5 的采购订单管理 1055 中创建采购订单。

输入:合同系统单号、返利中心协议结果、供应商、货品、数量、结算方式、承付模式、单价、货源/联系人信息。

RPA 操作:

  1. 登录 M5,进入采购订单管理 1055。
  2. 新增采购订单和细单。
  3. 选择供应商、货品、货源。
  4. 填写结算方式、承付模式、数量、单价等字段。
  5. 执行页面校验并保存。
  6. 读取采购订单号。

数量规则:计划员需要确认采购数量是否不超过供应商可供数量;状态中心应保留合同数量、录入数量和差异说明。

货源规则:按合同管理联系人/业务配置选择货源;无法唯一确定时转计划员或采购,机器人不得自行选择。

异常:质管基础资料未维护、货品不存在、货源不唯一、金额或数量校验失败,分别转质管、计划员或采购;控件和登录问题转运维。

成功判定:M5 查询到采购订单号,且订单供应商、货品、数量、单价与输入校验一致。

N09 收货通知单生成

目的:采购订单完成后通知仓库即将到货的货品和来源。

输入:M5 采购订单号及细单。

RPA 操作:进入收货通知单功能,基于采购订单生成通知单,保存并读取通知单号。

成功判定:收货通知单号已生成,且其供应商、货品、数量与采购订单一致。

异常:订单未完成、重复生成、仓库信息缺失、页面/登录失败,分别转业务角色或运维;重复操作必须先检索已有通知单。

N10 流程归档

目的:以真实业务结果为准完成归档,形成可审计的完整轨迹。

归档内容:合同原件、OCR JSON、映射快照、返利中心总单号、导入结果、M5 订单号、收货通知单号、关键截图、运行日志、人工处理记录。

成功判定:所有必需业务编号已回写状态中心,关键节点成功,审计事件完整;页面点击完成但未拿到业务结果不得归档为成功。

5. 状态机、重试与异常处理

5.1 节点状态

PENDING、RUNNING、WAITING_USER、SUCCESS、FAILED_RETRYABLE、FAILED_MANUAL、CANCELLED。

允许迁移:

PENDING -> RUNNING -> SUCCESS; RUNNING -> WAITING_USER -> RUNNING; RUNNING -> FAILED_RETRYABLE -> RUNNING; RUNNING -> FAILED_MANUAL; WAITING_USER -> CANCELLED。

同一节点同一时刻只能有一个有效执行上下文;重试产生新的 attempt_no,不得覆盖历史失败记录。

5.2 异常分流表

异常 默认处理角色 系统动作
文件命名不规范/缺页 计划员 不启动 RPA,创建待办
OCR 低置信度/关键字段缺失 计划员 展示原文和建议值,等待确认
供应商或货品无法映射 计划员/采购 阻断下游,保留映射候选
合同未审核通过 计划员 停在前置节点,不进入返利中心
返利中心找不到总单 采购 自动重试后转人工确认
返利中心模板导入失败 采购 保留逐行错误,允许修正后重试
M5 质管资料缺失 质管 处理基础资料后重试
登录、控件、页面结构变化 运维 截图、日志、运行号齐全后告警
节点超时无回调 运维 超时关闭执行上下文并升级
多次失败或超出能力 运维/项目负责人 转人工,禁止无限重试

5.3 重试策略

  • 系统型异常(超时、偶发网络错误):自动重试 1 至 2 次。
  • 业务型异常(映射不确定、校验失败):人工确认后只重试当前节点。
  • 人工接管:进入 FAILED_MANUAL,保留上下文,不允许后台自动反复拉起。
  • 整单重跑:新建流程实例并关联原 parent_job_id,不覆盖原轨迹。
  • 待办超过 30 分钟未处理再次提醒,超过 2 小时升级备岗/项目负责人;具体时长可配置。

6. 手机待办与企业微信需求

6.1 待办内容

每条消息至少包含:合同编号、供应商、当前节点、错误/待确认原因、关键字段摘要、最近错误截图、处理链接、预计处理时间。

6.2 H5 详情页

页面必须支持:

  • 查看当前人话状态:系统正在做什么、通常耗时、下一步是什么。
  • 查看 OCR 原值、系统建议值和当前填写值。
  • 只编辑角色有权限修改的白名单字段。
  • 查看最近截图、错误翻译和处理历史。
  • 执行确认并继续、重试当前节点、转人工、终止本单。
  • 提交后立即返回“已受理、请勿重复提交、预计多久有结果”。

6.3 人工修改留痕

合同编号、供应商、结算方式、承付模式、货品编码、数量、单价、货源等字段的修改,必须记录修改前值、修改后值、修改人、时间和原因。

企业微信只展示必要摘要,完整合同和日志通过状态中心受控页面查看;查看和下载动作也要进入审计日志。

7. 状态中心与数据要求

7.1 核心实体

实体 用途
job 一份合同的一次流程实例
job_node 每个节点每次尝试
user_task 企业微信/H5 人工待办
mapping_config 供应商、货品、结算、承付和路由配置
executor_binding_config 节点和 RPA 平台绑定
job_artifact 合同、OCR、模板、截图、日志存证
job_event 全流程事件轨迹

7.2 幂等要求

  • 入池幂等:文件哈希 + 文件名 + 时间窗口。
  • 业务幂等:合同编号 + 合同类型 + 供应商 + 来源。
  • 节点回调幂等:job_id + node_code + attempt_no + callback_type。
  • 手机提交幂等:task_id + action + submit_token。
  • 业务系统执行前先检索已有单号,避免重复创建采购协议、采购订单和收货通知单。

7.3 证据要求

每个节点至少记录:节点编码、开始/结束时间、执行平台、运行号、错误码、业务摘要、截图、日志、当前责任角色、重试次数。

推荐目录:job_id/节点编码/attempt_no/。

8. 统一 RPA 节点契约

RPA 平台只通过状态中心接口交互,禁止直接改状态中心数据库。

节点回调至少包含:

  • jobId
  • nodeCode
  • attemptNo
  • executorPlatform
  • executorRunId
  • status
  • errorCode/errorSummary
  • businessRefs
  • summary
  • artifacts
  • callbackIdempotencyKey

建议节点编码:

FILE_INTAKE、OCR_EXTRACT、FIELD_MAPPING、CONTRACT_SYSTEM_CHECK、REBATE_ORDER_HEADER、REBATE_IMPORT_ITEMS、REBATE_VERIFY、M5_CREATE_ORDER、M5_RECEIPT_NOTICE、ARCHIVE_JOB。

9. 验收标准

9.1 主流程验收

  • 合同从共享目录入池后可生成唯一流程单。
  • 完整且规则明确的合同可自动跑到 M5 和收货通知单。
  • 可查询合同系统单号、返利中心总单号、M5 订单号、收货通知单号。
  • 每个节点均有开始、结束、结果和证据。

9.2 安全与正确性验收

  • 低置信度和多值映射不会被机器人猜测通过。
  • 合同未审核通过不会进入返利中心。
  • 重复上传、重复回调、重复点击不会生成重复业务结果。
  • 部分导入失败可查看逐行明细,不会被误判为成功。
  • 整单重跑不覆盖历史实例。

9.3 协同验收

  • 计划员、采购、质管、运维收到的待办角色正确。
  • 手机端能看懂卡点、原因、处理动作和预计等待时间。
  • 人工修改有前后值对比和审计记录。
  • 提交后有即时受理回执,重复点击有幂等反馈。

10. 测试场景

  1. 正常年度协议:字段完整,自动完成主链。
  2. 正常批次合同:合同有效期一个月,先录产品再进入细单。
  3. OCR 低置信度:转计划员,修正后继续。
  4. 承付模式未命中字典:不得自动猜,转计划员确认。
  5. 供应商/货品一对多映射:转人工选择。
  6. 合同系统未审核通过:流程停止,不启动返利中心。
  7. 返利中心模板全部成功:进入结果校验和 M5。
  8. 返利中心部分导入失败:记录逐行结果,转采购处理。
  9. M5 质管资料未维护:转质管,修复后重试。
  10. 执行平台登录失败:自动重试后转运维。
  11. 页面结构变化:截图、日志、运行号完整,转运维。
  12. 同一合同重复上传:拦截并提示已有流程。
  13. 企业微信待办重复提交:只推进一次。
  14. 节点长时间运行:超时升级,不允许永久停留在运行中。
  15. 新单切换执行平台:业务状态、待办和审计口径不变。

11. 上线前待确认事项

以下事项必须由业务、实施和技术共同拍板后写入配置或测试用例:

  • 合同系统“送审”是否由机器人执行。
  • 合同系统的审核通过状态名称和可查询方式。
  • 批次合同有效期是否始终默认为一个月。
  • 返利合约字段是否一期固定为“否”。
  • 合同文件命名规则、共享目录、文件权限和清理周期。
  • OCR 置信度阈值及每个字段的必填性。
  • 计划员、采购、质管和运维的实际企业微信角色映射。
  • 各节点自动重试次数、超时阈值和工作时间。
  • 返利中心部分成功后的补导规则,是否允许重导失败行。
  • 货源选择规则和供应商可供数量校验口径。
  • 生产和测试账号、RPA 运行机、企业微信可信域名。
  • 合同、供应商和截图的查看权限、脱敏方式、保留周期。

12. 后续扩展方向

后续可在本期状态中心和待办体系上扩展:

  • 订单中心货源拆分、分货和销售订单联动。
  • 招采子系统每日医院计划抓取及订单中心生成。
  • 发货后的一票、二票信息归集和上传。
  • 渠道价维护。

这些流程应复用本期的 job/job_node/user_task/job_event、规则版本、幂等和证据体系,不应重新建设一套孤立机器人流程。