3. 审批链基础

在费用报销场景中,审批链并不是简单的“谁点同意”列表,而是一套由节点、角色、权限、流转规则和异常分支共同构成的决策网络。异常检测的第一步,就是把这套网络显式建模出来。只有先理解“正常审批链应该长什么样”,才能识别“谁跳过了节点”“谁越权审批”“谁在非工作时间批量通过”等异常。

一、核心原理:审批链的五个构成要素

一条完整的审批链可以拆解为五个要素:审批节点、角色权限、流转规则、会签/转签机制以及典型审批模式。它们共同决定了单据从提交到归档的路径。

  • 审批节点:审批链上的一个处理位置,例如“部门经理审批”“财务复核”“CFO审批”。节点是逻辑位置,不是具体的人。
  • 角色权限:节点绑定角色,角色绑定权限。例如“部门经理”可审批本部门≤5000元,“财务总监”可审批≤50000元。
  • 流转规则:决定单据在节点之间如何前进、退回、终止或并行。常见规则包括金额阈值、部门归属、费用类型、时间条件。
  • 会签与转签:会签是多人共同决策(全部通过或按比例通过),转签是审批人将任务委托给他人。
  • 典型审批模式:串行、并行、条件分支、混合模式,决定了审批链的整体拓扑。

异常检测视角:审批链的“正常”由规则定义,“异常”往往表现为规则被绕过、节点被跳过、权限被越界使用或流转路径与配置不符。

二、方法流程:从配置到可检测的审批链模型

要把审批链用于异常检测,需要经过四个步骤:建模、实例化、路径还原、规则比对。

  1. 建模:将审批链配置抽象为节点集合、角色集合、权限矩阵和流转条件。
  2. 实例化:每张报销单提交后,根据金额、部门、费用类型生成一条实际审批路径。
  3. 路径还原:从审批日志中提取节点顺序、审批人、时间戳、操作类型(通过/退回/转签)。
  4. 规则比对:将实际路径与配置路径比对,标记缺失节点、多余节点、越权审批、异常转签等。

下面是一个简化的审批链配置示例,用 JSON 描述节点与流转条件:

{
  "chain_id": "EXP-2024-001",
  "nodes": [
    {"node": "submit", "role": "employee"},
    {"node": "dept_mgr", "role": "dept_manager", "condition": "amount <= 5000"},
    {"node": "fin_review", "role": "finance", "condition": "amount > 5000"},
    {"node": "cfo", "role": "cfo", "condition": "amount > 50000"}
  ],
  "flow": "serial",
  "sign_type": "or_sign"
}

在实际系统中,审批日志通常包含以下字段,用于路径还原:

2024-06-12 09:15:22 | EXP-2024-001 | submit | emp_1024 | submit
2024-06-12 10:02:11 | EXP-2024-001 | dept_mgr | mgr_2048 | approve
2024-06-12 10:05:33 | EXP-2024-001 | fin_review | fin_3011 | approve
2024-06-12 10:06:01 | EXP-2024-001 | cfo | cfo_4001 | approve

三、典型审批模式与异常对照

不同审批模式对应不同的异常形态。下表列出常见模式、结构特征与典型异常:

审批模式 结构特征 典型异常
串行审批 节点依次执行,前一个通过后进入下一个 跳过中间节点、越级审批
并行审批 多个节点同时处理,全部通过后继续 部分节点未处理即通过、会签人数不足
条件分支 按金额/类型走不同路径 条件判断错误、高金额走低金额路径
会签 多人共同决策,需全部或比例通过 代签、重复签、未达比例即通过
转签 审批人将任务转交他人 转给无权限人、转签后原审批人仍操作

会签与转签是异常检测的高发区。会签关注“人数与比例”,转签关注“权限继承与责任归属”。

四、案例与场景:一次被跳过的财务复核

某公司规定:报销金额超过5000元必须经过财务复核。员工A提交了一张6800元的差旅报销单,审批日志显示:

2024-07-03 14:20:10 | submit | emp_1024
2024-07-03 14:35:22 | dept_mgr | mgr_2048 | approve
2024-07-03 14:36:05 | cfo | cfo_4001 | approve
2024-07-03 14:36:40 | archive | system | done

对比配置路径,缺少了 fin_review 节点。进一步检查发现,部门经理在审批时使用了“转签”功能,将财务复核节点转给了CFO,而CFO同时拥有终审权限,导致财务复核被合并。这就是典型的转签导致节点合并异常。

另一个场景:某员工在周五23:47连续审批了12张报销单,全部通过。从审批链看节点完整,但时间分布异常集中,属于批量操作异常,需要结合行为特征进一步判断。

五、误区与复盘

误区一:只看审批人是否在角色列表,忽略“权限范围”。同角色不同金额上限,越界审批仍是异常。

误区二:把转签当作正常委托,忽略转签后的权限继承。转签给无权限人,等于绕过控制。

误区三:只检查最终结果,不还原完整路径。节点缺失可能被“合并审批”掩盖。

复盘时建议建立三张清单:节点清单(应有哪些节点)、权限清单(每个角色的金额与类型边界)、路径清单(实际发生的审批序列)。三张清单交叉比对,才能稳定输出异常信号。

审批链五要素与异常检测映射 审批节点 逻辑处理位置 角色权限 金额与类型边界 流转规则 条件与顺序 会签/转签 多人决策与委托 审批模式 串行/并行/分支 审批链模型 配置 + 实例 + 路径 异常检测规则比对 缺失节点 · 越权 · 异常转签 · 批量操作 节点缺失 / 越级审批 权限越界 / 转签失控 时间集中 / 批量通过