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小时内


📝 操作指南

发起申请

  1. 进入 财务管理转账管理
  2. 点击 新建转账入帐
  3. 选择 外采帐户
  4. 填写入帐信息: yaml 客户: [选择客户] 目标帐户: [选择外采帐户] 金额: [输入金额] 转账模式: [选择模式,如:普通存款] 政策标签: [选择折扣/后返等政策] 备注: [填写入帐说明]
  5. 系统自动检查端口余额
  6. 点击 提交审批

审批操作

媒介审批

  1. 进入 审批中心待我审批
  2. 找到入帐申请单(标识:SOP-602)
  3. 查看申请详情
  4. 审核要点:
  5. ✅ 入帐业务是否合理
  6. ✅ 帐户状态是否正常
  7. ✅ 端口余额是否充足
  8. ✅ 政策标签是否正确
  9. ✅ 是否存在业务风险
  10. 选择操作:
  11. 批准:同意入帐,系统自动执行
  12. 驳回:说明驳回原因,申请返回发起人

查看进度

  1. 进入 审批中心我发起的
  2. 找到对应的入帐申请
  3. 查看三个标签页:
  4. 流程详情:查看基本信息和当前状态
  5. 审核历史:查看完整的审批记录
  6. 评论:查看或添加讨论

✨ 审批通过后

自动操作

系统会自动执行以下操作:

  1. ✅ 更新订单状态为 SUCCESS
  2. ✅ 执行实际的入帐操作
  3. ✅ 扣减端口余额
  4. ✅ 增加帐户余额
  5. ✅ 应用政策标签(折扣/后返等)
  6. ✅ 更新 AdvExt 配置(如运营模式、K框)
  7. ✅ 更新消费日报表
  8. ✅ 更新对应平台的资金流表
  9. ✅ 记录财务流水
  10. ✅ 发送通知给相关人员

抄送通知

以下人员会收到审批结果通知:

  • 申请发起人
  • 运营部门相关人员
  • 财务部门相关人员
  • 帐户所属客户的负责人
  • 媒介相关人员

🚫 审批驳回后

系统操作

  1. 订单状态更新为 FAILED
  2. 不执行入帐操作
  3. 不扣减端口余额
  4. 发送驳回通知

发起人操作

可以选择: - 重新发起:修改申请信息后重新提交 - 取消申请:放弃本次入帐


📊 端口余额管理

查询端口余额

-- 查询外采端口余额
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小时,系统会发送提醒 - 建议配置自动驳回机制 - 超时未审批可能影响业务进度


🎯 最佳实践

发起申请时

  1. ✅ 提前确认端口余额充足
  2. ✅ 核对帐户信息准确无误
  3. ✅ 选择正确的政策标签
  4. ✅ 填写清晰的备注说明
  5. ✅ 选择合适的时间发起(避免周末/节假日)

审批时

  1. ✅ 及时处理待审批事项
  2. ✅ 仔细核对申请信息
  3. ✅ 有疑问时在评论区沟通
  4. ✅ 驳回时说明清晰的原因
  5. ✅ 关注审批时效

运营管理

  1. ✅ 定期检查端口余额
  2. ✅ 监控入帐成功率
  3. ✅ 分析驳回原因并优化
  4. ✅ 培训相关人员熟悉流程
  5. ✅ 建立应急处理机制

📞 技术支持

联系方式

  • 技术支持:tech-support@example.com
  • 运营咨询:operations@example.com
  • 财务咨询:finance@example.com
  • 流程管理:process@example.com

相关文档


文档版本:v1.0.0 最后更新:2026-01-27 维护人:技术团队 & 运营部门 & 财务部门