# 税务风控风险检测引擎 ## 概述 本风险检测引擎是一个基于规则引擎和算法驱动的税务风控系统,能够自动检测和分析各类税务风险,包括收入完整性、私户收款、发票虚开、成本费用异常等问题。 ## 架构设计 ### 核心组件 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. **持续改进**: 根据税务政策变化更新检测规则 ## 性能优化 - 支持并发执行多个检测任务 - 缓存常用数据减少数据库查询 - 分批处理大量数据 - 异步执行提高响应速度 ## 未来规划 - [ ] 机器学习算法集成 - [ ] 实时流式检测 - [ ] 可视化风险分析报告 - [ ] 多维度风险对比 - [ ] 自动化风险处置建议