243 lines
6.5 KiB
Markdown
243 lines
6.5 KiB
Markdown
# 税务风控风险检测引擎
|
||
|
||
## 概述
|
||
|
||
本风险检测引擎是一个基于规则引擎和算法驱动的税务风控系统,能够自动检测和分析各类税务风险,包括收入完整性、私户收款、发票虚开、成本费用异常等问题。
|
||
|
||
## 架构设计
|
||
|
||
### 核心组件
|
||
|
||
1. **算法层(Algorithms)**
|
||
- 收入完整性检测算法
|
||
- 私户收款检测算法
|
||
- 发票虚开检测算法
|
||
- 成本费用异常检测算法
|
||
- 税务风险综合评估算法
|
||
|
||
2. **规则引擎(Rule Engine)**
|
||
- 依赖解析器(DependencyResolver)
|
||
- 执行计划(ExecutionPlan)
|
||
- 规则引擎核心(RuleEngine)
|
||
|
||
3. **任务管理层(Task Manager)**
|
||
- 任务管理器(TaskManager)
|
||
- 任务调度器(DetectionScheduler)
|
||
|
||
4. **数据模型层(Models)**
|
||
- 检测规则(DetectionRule)
|
||
- 检测任务(DetectionTask)
|
||
- 规则执行记录(RuleExecution)
|
||
- 任务执行记录(TaskExecution)
|
||
- 检测结果(DetectionResult)
|
||
|
||
## 核心算法
|
||
|
||
### 1. 收入完整性检测算法
|
||
**文件**: `algorithms/revenue_integrity.py`
|
||
|
||
**功能**: 检测平台充值金额与申报收入是否匹配,识别隐瞒收入风险
|
||
|
||
**检测逻辑**:
|
||
- 获取指定期间内的平台充值总额
|
||
- 获取同期税务申报收入
|
||
- 计算差异和差异率
|
||
- 根据差异率判断风险等级
|
||
|
||
**风险等级判断**:
|
||
- 差额率 > 50% 或 差额 > 10万元:CRITICAL(极高)
|
||
- 差额率 > 30% 或 差额 > 5万元:HIGH(高)
|
||
- 差额率 > 15% 或 差额 > 2万元:MEDIUM(中)
|
||
- 差额率 > 5% 或 差额 > 5千元:LOW(低)
|
||
|
||
### 2. 私户收款检测算法
|
||
**文件**: `algorithms/private_account.py`
|
||
|
||
**功能**: 检测银行流水是否存在向个人账户转账的风险
|
||
|
||
**检测逻辑**:
|
||
- 分析银行流水记录
|
||
- 识别私人账户转账
|
||
- 计算私户转账占比
|
||
- 统计大额私人转账笔数
|
||
|
||
**风险判断**:
|
||
- 私户比例 > 80% 或(>10笔 且 >50万元):CRITICAL
|
||
- 私户比例 > 60% 或(>5笔 且 >20万元):HIGH
|
||
- 私户比例 > 40% 或(>3笔 且 >10万元):MEDIUM
|
||
- 私户比例 > 20% 或 >1笔:LOW
|
||
|
||
### 3. 发票虚开检测算法
|
||
**文件**: `algorithms/invoice_fraud.py`
|
||
|
||
**功能**: 检测发票金额与实际业务是否匹配,识别虚开发票风险
|
||
|
||
**检测逻辑**:
|
||
- 对比发票总额与订单总额
|
||
- 对比发票总额与结算总额
|
||
- 检查红字发票比例
|
||
- 识别大额发票和未验证发票
|
||
|
||
**异常检测**:
|
||
- 发票与订单/结算金额差异率超阈值
|
||
- 红字发票比例 > 30%
|
||
- 存在大额发票(>10万元)
|
||
- 未验证发票比例 > 20%
|
||
|
||
### 4. 成本费用异常检测算法
|
||
**文件**: `algorithms/expense_anomaly.py`
|
||
|
||
**功能**: 检测成本费用是否合理,识别虚增成本、费用异常等风险
|
||
|
||
**检测逻辑**:
|
||
- 分析费用总额同比增长
|
||
- 检查大额费用集中度
|
||
- 统计跨境支付比例
|
||
- 分析费用类别结构
|
||
- 检查税负异常
|
||
- 识别同日多笔大额费用
|
||
|
||
**异常判断**:
|
||
- 费用同比增长超过阈值倍数
|
||
- 大额费用占比 > 30%
|
||
- 跨境支付占比 > 50%
|
||
- 其他类费用占比 > 50%
|
||
- 平均税率 > 13%
|
||
|
||
### 5. 税务风险综合评估算法
|
||
**文件**: `algorithms/tax_risk_assessment.py`
|
||
|
||
**功能**: 综合分析各项风险检测结果,生成整体税务风险评估
|
||
|
||
**评估逻辑**:
|
||
- 收集所有单项检测结果
|
||
- 计算加权综合评分
|
||
- 识别高危风险点
|
||
- 生成综合建议
|
||
|
||
**评分算法**:
|
||
- CRITICAL: 权重 1.0
|
||
- HIGH: 权重 0.7
|
||
- MEDIUM: 权重 0.4
|
||
- LOW: 权重 0.2
|
||
|
||
## API 接口
|
||
|
||
### 规则管理
|
||
- `POST /risk-detection/rules` - 创建检测规则
|
||
- `GET /risk-detection/rules` - 查询检测规则列表
|
||
- `GET /risk-detection/rules/{rule_id}` - 获取规则详情
|
||
- `PUT /risk-detection/rules/{rule_id}` - 更新检测规则
|
||
- `DELETE /risk-detection/rules/{rule_id}` - 删除检测规则
|
||
|
||
### 任务管理
|
||
- `POST /risk-detection/tasks` - 创建检测任务
|
||
- `POST /risk-detection/tasks/{task_id}/execute` - 执行检测任务
|
||
- `GET /risk-detection/tasks` - 查询任务列表
|
||
- `GET /risk-detection/tasks/{task_id}` - 获取任务详情
|
||
|
||
### 检测执行
|
||
- `POST /risk-detection/execute` - 执行风险检测(即时检测)
|
||
|
||
### 结果查询
|
||
- `GET /risk-detection/results` - 查询检测结果列表
|
||
- `GET /risk-detection/results/{result_id}` - 获取检测结果详情
|
||
- `GET /risk-detection/summary` - 获取检测结果汇总
|
||
|
||
## 使用示例
|
||
|
||
### 1. 创建检测任务
|
||
```python
|
||
POST /risk-detection/tasks
|
||
{
|
||
"task_name": "2024-01月主播税务检测",
|
||
"task_type": "periodic",
|
||
"entity_ids": ["ZB001", "ZB002"],
|
||
"entity_type": "streamer",
|
||
"period": "2024-01",
|
||
"rule_ids": null,
|
||
"parameters": {}
|
||
}
|
||
```
|
||
|
||
### 2. 执行即时检测
|
||
```python
|
||
POST /risk-detection/execute
|
||
{
|
||
"entity_id": "ZB001",
|
||
"entity_type": "streamer",
|
||
"period": "2024-01",
|
||
"rule_ids": ["REVENUE_INTEGRITY_CHECK", "PRIVATE_ACCOUNT_DETECTION"],
|
||
"parameters": {}
|
||
}
|
||
```
|
||
|
||
### 3. 查询任务状态
|
||
```python
|
||
GET /risk-detection/tasks/task_abc123
|
||
```
|
||
|
||
## 依赖关系
|
||
|
||
算法之间的依赖关系:
|
||
|
||
```
|
||
收入完整性检测 (REVENUE_INTEGRITY_CHECK)
|
||
↓
|
||
私户收款检测 (PRIVATE_ACCOUNT_DETECTION)
|
||
↓
|
||
发票虚开检测 (INVOICE_FRAUD_DETECTION)
|
||
↓
|
||
成本费用异常检测 (EXPENSE_ANOMALY_DETECTION)
|
||
↓
|
||
税务风险综合评估 (TAX_RISK_ASSESSMENT)
|
||
```
|
||
|
||
## 执行计划
|
||
|
||
系统采用分层执行策略:
|
||
1. **第1层**: 基础检测算法(可并行执行)
|
||
2. **第2层**: 综合评估算法(依赖第1层结果)
|
||
|
||
## 扩展开发
|
||
|
||
### 添加新算法
|
||
|
||
1. 继承 `RiskDetectionAlgorithm` 基类
|
||
2. 实现抽象方法:
|
||
- `get_algorithm_code()` - 返回算法编码
|
||
- `get_algorithm_name()` - 返回算法名称
|
||
- `_do_detect(context)` - 实现检测逻辑
|
||
3. 注册算法:`RuleEngine.register_algorithm()`
|
||
4. 更新依赖关系配置
|
||
|
||
### 自定义规则
|
||
|
||
1. 创建 `DetectionRule` 记录
|
||
2. 设置算法参数
|
||
3. 启用规则
|
||
4. 重新执行检测任务
|
||
|
||
## 最佳实践
|
||
|
||
1. **参数调优**: 根据实际业务调整各算法的阈值参数
|
||
2. **定期评估**: 定期回顾检测结果,优化规则配置
|
||
3. **数据质量**: 确保业务数据质量,避免误报
|
||
4. **监控告警**: 对高风险结果设置监控和告警
|
||
5. **持续改进**: 根据税务政策变化更新检测规则
|
||
|
||
## 性能优化
|
||
|
||
- 支持并发执行多个检测任务
|
||
- 缓存常用数据减少数据库查询
|
||
- 分批处理大量数据
|
||
- 异步执行提高响应速度
|
||
|
||
## 未来规划
|
||
|
||
- [ ] 机器学习算法集成
|
||
- [ ] 实时流式检测
|
||
- [ ] 可视化风险分析报告
|
||
- [ ] 多维度风险对比
|
||
- [ ] 自动化风险处置建议
|