SOP-602:外采端口入帐审批
📋 概述
SOP 编号:SOP-602
流程名称:外采端口入帐审批
配置文件:external_transfer_prod.yaml
生效日期:2026-01-27
版本:v1.0.0
🎯 适用场景
本流程适用于以下情况:
- ✅ 从外采端口向广告帐户转账
- ✅ 使用外部端口余额进行入帐
- ✅ 金额范围:无限制(建议配合分级版本使用)
触发条件:
- 转账目标为外采广告帐户(provider = EXTERNAL)
- 使用外部端口余额(use_external = true)
- 系统自动判断并触发审批流程
🔄 审批流程
标准流程(1级审批,参考 SOP-401)
graph LR
A[发起申请] --> B[媒介审批]
B --> C[自动生效]
C --> D[抄送通知]
流程详情
| 步骤 | 审批人 | 审批模式 | 超时时间 |
|---|---|---|---|
| 1. 媒介审批 | 媒介/媒介经理 | 任一人审批 | 24小时 |
审批逻辑
- 媒介审批(第1步)
- 审核入帐业务的合理性
- 确认外采帐户状态正常
- 检查端口余额是否充足
- 验证政策标签配置
- 任一媒介或媒介经理审批即可
💼 角色与职责
发起人
职责: - 填写入帐申请单 - 确保信息准确完整 - 选择正确的政策标签
所需信息: - 客户名称 - 外采帐户ID - 入帐金额 - 政策标签(折扣/后返等) - 转账模式 - 备注信息
媒介审核人员
角色:媒介、媒介经理
职责: - 审核入帐业务的合理性 - 验证外采帐户状态 - 检查端口余额充足性 - 确认政策标签配置正确 - 评估业务风险
审批时限:24小时内
📝 操作指南
发起申请
- 进入 财务管理 → 转账管理
- 点击 新建转账 或 入帐
- 选择 外采帐户
- 填写入帐信息:
yaml 客户: [选择客户] 目标帐户: [选择外采帐户] 金额: [输入金额] 转账模式: [选择模式,如:普通存款] 政策标签: [选择折扣/后返等政策] 备注: [填写入帐说明] - 系统自动检查端口余额
- 点击 提交审批
审批操作
媒介审批
- 进入 审批中心 → 待我审批
- 找到入帐申请单(标识:SOP-602)
- 查看申请详情
- 审核要点:
- ✅ 入帐业务是否合理
- ✅ 帐户状态是否正常
- ✅ 端口余额是否充足
- ✅ 政策标签是否正确
- ✅ 是否存在业务风险
- 选择操作:
- 批准:同意入帐,系统自动执行
- 驳回:说明驳回原因,申请返回发起人
查看进度
- 进入 审批中心 → 我发起的
- 找到对应的入帐申请
- 查看三个标签页:
- 流程详情:查看基本信息和当前状态
- 审核历史:查看完整的审批记录
- 评论:查看或添加讨论
✨ 审批通过后
自动操作
系统会自动执行以下操作:
- ✅ 更新订单状态为
SUCCESS - ✅ 执行实际的入帐操作
- ✅ 扣减端口余额
- ✅ 增加帐户余额
- ✅ 应用政策标签(折扣/后返等)
- ✅ 更新 AdvExt 配置(如运营模式、K框)
- ✅ 更新消费日报表
- ✅ 更新对应平台的资金流表
- ✅ 记录财务流水
- ✅ 发送通知给相关人员
抄送通知
以下人员会收到审批结果通知:
- 申请发起人
- 运营部门相关人员
- 财务部门相关人员
- 帐户所属客户的负责人
- 媒介相关人员
🚫 审批驳回后
系统操作
- 订单状态更新为
FAILED - 不执行入帐操作
- 不扣减端口余额
- 发送驳回通知
发起人操作
可以选择: - 重新发起:修改申请信息后重新提交 - 取消申请:放弃本次入帐
📊 端口余额管理
查询端口余额
-- 查询外采端口余额
SELECT
ec.id,
ec.porter AS porter_name,
ec.balance,
ec.updated_at
FROM ext_corps ec
WHERE ec.porter IS NOT NULL
ORDER BY ec.porter;
监控端口使用
-- 统计端口的入帐金额
SELECT
t.porter_id,
ec.porter AS porter_name,
COUNT(*) AS trans_count,
SUM(t.amount) AS total_amount,
AVG(t.amount) AS avg_amount
FROM trans_orders t
JOIN ext_corps ec ON t.porter_id = ec.id
WHERE t.type = 'ORDER_TYPE_DEPOSIT'
AND t.is_external = true
AND t.created_at >= NOW() - INTERVAL '30 days'
GROUP BY t.porter_id, ec.porter
ORDER BY total_amount DESC;
📊 审批统计
查询审批记录
-- 查询本 SOP 的所有审批实例
SELECT
ri.flow_id,
ri.status,
ri.created_at,
ri.completed_at,
t.sop_number
FROM review_instances ri
JOIN review_templates t ON ri.template_id = t.id
WHERE t.sop_number = 'SOP-602'
ORDER BY ri.created_at DESC;
统计审批效率
-- 统计平均审批时长
SELECT
AVG(EXTRACT(EPOCH FROM (completed_at - created_at))/3600) AS avg_hours,
COUNT(*) AS total_count,
SUM(CASE WHEN status = 'APPROVED' THEN 1 ELSE 0 END) AS approved_count,
SUM(CASE WHEN status = 'REJECTED' THEN 1 ELSE 0 END) AS rejected_count
FROM review_instances ri
JOIN review_templates t ON ri.template_id = t.id
WHERE t.sop_number = 'SOP-602'
AND ri.completed_at IS NOT NULL;
分析驳回原因
-- 查询驳回案例
SELECT
ri.flow_id,
ri.resource_id,
ra.comment,
ra.created_at,
u.name AS approver_name
FROM review_instances ri
JOIN review_actions ra ON ri.id = ra.instance_id
JOIN review_templates t ON ri.template_id = t.id
JOIN users u ON ra.approver_id = u.id
WHERE t.sop_number = 'SOP-602'
AND ra.action = 'reject'
ORDER BY ra.created_at DESC
LIMIT 20;
🔧 配置信息
数据库配置
-- 审批模板
SELECT * FROM review_templates WHERE sop_number = 'SOP-602';
-- 审批步骤
SELECT
s.step_order,
s.step_name,
s.approver_type,
s.approver_rule,
s.required_mode,
s.timeout_hours
FROM review_steps s
JOIN review_templates t ON s.template_id = t.id
WHERE t.sop_number = 'SOP-602'
ORDER BY s.step_order;
YAML 配置示例
name: 外采端口入帐审批
sop_number: SOP-602
resource_type: model.TransOrder
events:
- transOrder.external.transfer
description: 从外采端口向广告帐户转账需要审批,由媒介审核后生效
is_active: true
priority: 10
steps:
- step_order: 1
step_name: 媒介审批
approver_type: position
approver_rule:
type: position
positions:
- 媒介
- 媒介经理
required_mode: any
timeout_hours: 24
on_approved_actions:
- type: update_status
description: 审批通过后更新订单状态为成功
config:
status: SUCCESS
on_rejected_actions:
- type: update_status
description: 审批驳回后更新订单状态为失败
config:
status: FAILED
🔗 相关流程
相关 SOP
替代版本
| 版本 | SOP编号 | 适用场景 |
|---|---|---|
| 标准版 | SOP-602 | 所有金额 |
| 简化版 | SOP-602S | 测试环境/小团队 |
| 小额版 | SOP-602L | < 10000元 |
| 大额版 | SOP-602H | ≥ 10000元 |
❓ 常见问题
Q1: 端口余额不足怎么办?
A: 1. 系统会在提交时自动检查端口余额 2. 如余额不足,会提示错误信息 3. 需要先为端口充值,或选择其他端口 4. 联系运营人员处理端口余额问题
Q2: 政策标签如何选择?
A: - 查看帐户当前的政策标签配置 - 根据客户协议选择对应的政策 - 折扣、后返等政策需要单独配置 - 不确定时咨询运营或财务人员
Q3: 入帐失败如何处理?
A: 1. 检查审批流程是否完成 2. 查看订单状态和错误信息 3. 确认端口余额是否被扣减 4. 检查帐户状态是否正常 5. 联系技术支持排查
Q4: 可以同时入帐多个帐户吗?
A: - 当前版本每次只能入帐一个帐户 - 需要为多个帐户入帐时,需要分别发起 - 建议按优先级依次处理
Q5: 审批超时会怎样?
A: - 每步审批24小时,系统会发送提醒 - 建议配置自动驳回机制 - 超时未审批可能影响业务进度
🎯 最佳实践
发起申请时
- ✅ 提前确认端口余额充足
- ✅ 核对帐户信息准确无误
- ✅ 选择正确的政策标签
- ✅ 填写清晰的备注说明
- ✅ 选择合适的时间发起(避免周末/节假日)
审批时
- ✅ 及时处理待审批事项
- ✅ 仔细核对申请信息
- ✅ 有疑问时在评论区沟通
- ✅ 驳回时说明清晰的原因
- ✅ 关注审批时效
运营管理
- ✅ 定期检查端口余额
- ✅ 监控入帐成功率
- ✅ 分析驳回原因并优化
- ✅ 培训相关人员熟悉流程
- ✅ 建立应急处理机制
📞 技术支持
联系方式
- 技术支持:tech-support@example.com
- 运营咨询:operations@example.com
- 财务咨询:finance@example.com
- 流程管理:process@example.com
相关文档
文档版本:v1.0.0 最后更新:2026-01-27 维护人:技术团队 & 运营部门 & 财务部门