feat: 扩展风险规则体系、审批动态路由与预算中心列表化改造
- 新增 25+ 条风险规则(预算/报销/申请/通用类),完善风险规则模拟与反馈发布机制 - 引入费用审批动态路由、平台风险分级、预审与风险阶段管理 - 预算中心列表化改造,优化票据夹仪表盘与数字员工工作看板 - 新增 Hermes 风险线索收集器、Agent 链路追踪中心 - 扩展数字员工能力库(18 个领域 Skill)与交通费用自动预估 - 完善报销申请快速预览、权限控制与前端测试覆盖
This commit is contained in:
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.application.large_expense_without_preapproval",
|
||||
"name": "大额费用未事前申请",
|
||||
"description": "达到财务制度中大额标准的费用,未找到有效事前申请即进入报销。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "申请前置",
|
||||
"ontology_signal": "application_required",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "finance.preapproval.policy",
|
||||
"finance_rule_sheet": "费用申请前置规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"business_stages": [
|
||||
"reimbursement"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "application.id",
|
||||
"label": "申请单",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.status",
|
||||
"label": "申请状态",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.approved_amount",
|
||||
"label": "申请审批金额",
|
||||
"type": "number",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.expense_type",
|
||||
"label": "申请费用类型",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.department_name",
|
||||
"label": "申请部门",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"application.id",
|
||||
"application.status",
|
||||
"application.approved_amount",
|
||||
"application.expense_type",
|
||||
"application.department_name"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"大额费用",
|
||||
"未申请",
|
||||
"先申请后报销"
|
||||
],
|
||||
"condition_summary": "金额达到大额阈值且缺少已通过申请单时触发。",
|
||||
"finance_rule_code": "finance.preapproval.policy",
|
||||
"finance_rule_sheet": "费用申请前置规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "high",
|
||||
"action": "manual_review",
|
||||
"risk_score": 86
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.805274+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 86,
|
||||
"risk_level": "high",
|
||||
"rule_title": "大额费用未事前申请",
|
||||
"finance_rule_code": "finance.preapproval.policy",
|
||||
"finance_rule_sheet": "费用申请前置规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "high",
|
||||
"risk_score": 86,
|
||||
"risk_level": "high"
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
"rule_code": "risk.application.marketing_without_campaign",
|
||||
"name": "市场推广费无活动申请",
|
||||
"description": "市场活动、投放、展会等推广费用,缺少已审批的活动申请或投放方案。",
|
||||
"enabled": true,
|
||||
"enabled": false,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "申请前置",
|
||||
|
||||
@@ -0,0 +1,172 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.application.meal_high_value_without_preapproval",
|
||||
"name": "大额业务招待未申请",
|
||||
"description": "业务招待金额或人均金额超过制度阈值但未事前审批。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "申请前置",
|
||||
"ontology_signal": "application_required",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "expense.application.policy",
|
||||
"finance_rule_sheet": "费用申请前置规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"meal"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"meal"
|
||||
],
|
||||
"business_stages": [
|
||||
"reimbursement"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "application.id",
|
||||
"label": "申请单",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.status",
|
||||
"label": "申请状态",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.approved_amount",
|
||||
"label": "申请审批金额",
|
||||
"type": "number",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.expense_type",
|
||||
"label": "申请费用类型",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.department_name",
|
||||
"label": "申请部门",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "material.attendee_list_uploaded",
|
||||
"label": "参与人清单已上传",
|
||||
"type": "boolean",
|
||||
"source": "material"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"application.id",
|
||||
"application.status",
|
||||
"application.approved_amount",
|
||||
"application.expense_type",
|
||||
"application.department_name",
|
||||
"material.attendee_list_uploaded"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"业务招待",
|
||||
"人均超标",
|
||||
"未申请"
|
||||
],
|
||||
"condition_summary": "业务招待金额超过申请阈值且没有通过申请时触发。",
|
||||
"finance_rule_code": "expense.application.policy",
|
||||
"finance_rule_sheet": "费用申请前置规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"meal"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "high",
|
||||
"action": "manual_review",
|
||||
"risk_score": 84
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.818641+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 84,
|
||||
"risk_level": "high",
|
||||
"rule_title": "大额业务招待未申请",
|
||||
"finance_rule_code": "expense.application.policy",
|
||||
"finance_rule_sheet": "费用申请前置规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"meal"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "high",
|
||||
"risk_score": 84,
|
||||
"risk_level": "high"
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.application.office_bulk_without_purchase",
|
||||
"name": "办公用品大额采购未申请",
|
||||
"description": "批量办公用品或设备采购达到阈值但未走采购申请。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "申请前置",
|
||||
"ontology_signal": "application_required",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "expense.application.policy",
|
||||
"finance_rule_sheet": "费用申请前置规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"office"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"office"
|
||||
],
|
||||
"business_stages": [
|
||||
"reimbursement"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "application.id",
|
||||
"label": "申请单",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.status",
|
||||
"label": "申请状态",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.approved_amount",
|
||||
"label": "申请审批金额",
|
||||
"type": "number",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.expense_type",
|
||||
"label": "申请费用类型",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.department_name",
|
||||
"label": "申请部门",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"application.id",
|
||||
"application.status",
|
||||
"application.approved_amount",
|
||||
"application.expense_type",
|
||||
"application.department_name"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"办公采购",
|
||||
"大额办公用品",
|
||||
"采购申请"
|
||||
],
|
||||
"condition_summary": "办公用品单次金额达到采购阈值且缺少采购申请时触发。",
|
||||
"finance_rule_code": "expense.application.policy",
|
||||
"finance_rule_sheet": "费用申请前置规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"office"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "medium",
|
||||
"action": "manual_review",
|
||||
"risk_score": 78
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.811910+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 78,
|
||||
"risk_level": "medium",
|
||||
"rule_title": "办公用品大额采购未申请",
|
||||
"finance_rule_code": "expense.application.policy",
|
||||
"finance_rule_sheet": "费用申请前置规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"office"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "medium",
|
||||
"risk_score": 78,
|
||||
"risk_level": "medium"
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.application.travel_large_without_preapproval",
|
||||
"name": "大额差旅未申请",
|
||||
"description": "多人出差、长周期出差或高金额差旅报销缺少出差申请。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "申请前置",
|
||||
"ontology_signal": "application_required",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "rule.expense.company_travel_expense_reimbursement",
|
||||
"finance_rule_sheet": "差旅住宿费标准",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"travel"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"travel"
|
||||
],
|
||||
"business_stages": [
|
||||
"reimbursement"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "application.id",
|
||||
"label": "申请单",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.status",
|
||||
"label": "申请状态",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.approved_amount",
|
||||
"label": "申请审批金额",
|
||||
"type": "number",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.expense_type",
|
||||
"label": "申请费用类型",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.department_name",
|
||||
"label": "申请部门",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"application.id",
|
||||
"application.status",
|
||||
"application.approved_amount",
|
||||
"application.expense_type",
|
||||
"application.department_name"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"差旅申请",
|
||||
"大额差旅",
|
||||
"未申请"
|
||||
],
|
||||
"condition_summary": "差旅金额达到大额阈值且缺少有效出差申请时触发。",
|
||||
"finance_rule_code": "rule.expense.company_travel_expense_reimbursement",
|
||||
"finance_rule_sheet": "差旅住宿费标准",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"travel"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "high",
|
||||
"action": "manual_review",
|
||||
"risk_score": 82
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.826264+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 82,
|
||||
"risk_level": "high",
|
||||
"rule_title": "大额差旅未申请",
|
||||
"finance_rule_code": "rule.expense.company_travel_expense_reimbursement",
|
||||
"finance_rule_sheet": "差旅住宿费标准",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"travel"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "high",
|
||||
"risk_score": 82,
|
||||
"risk_level": "high"
|
||||
}
|
||||
@@ -18,17 +18,7 @@
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"travel",
|
||||
"hotel",
|
||||
"transport",
|
||||
"meal",
|
||||
"meeting",
|
||||
"marketing",
|
||||
"office",
|
||||
"training",
|
||||
"software",
|
||||
"communication",
|
||||
"welfare"
|
||||
"all"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
@@ -36,17 +26,7 @@
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"travel",
|
||||
"hotel",
|
||||
"transport",
|
||||
"meal",
|
||||
"meeting",
|
||||
"marketing",
|
||||
"office",
|
||||
"training",
|
||||
"software",
|
||||
"communication",
|
||||
"welfare"
|
||||
"all"
|
||||
],
|
||||
"business_stages": [
|
||||
"expense_application",
|
||||
@@ -68,17 +48,65 @@
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "budget.line_id",
|
||||
"label": "预算行",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.available_amount",
|
||||
"label": "预算可用金额",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.used_rate",
|
||||
"label": "预算使用率",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.status",
|
||||
"label": "预算状态",
|
||||
"type": "enum",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.department_name",
|
||||
"label": "预算部门",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.quarter",
|
||||
"label": "预算季度",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.project_code",
|
||||
"label": "预算项目",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -117,17 +145,7 @@
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"travel",
|
||||
"hotel",
|
||||
"transport",
|
||||
"meal",
|
||||
"meeting",
|
||||
"marketing",
|
||||
"office",
|
||||
"training",
|
||||
"software",
|
||||
"communication",
|
||||
"welfare"
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
@@ -146,7 +164,7 @@
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-30T00:00:00Z",
|
||||
"created_at": "2026-05-31T00:10:41.751292+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 88,
|
||||
"risk_level": "high",
|
||||
@@ -159,17 +177,7 @@
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"travel",
|
||||
"hotel",
|
||||
"transport",
|
||||
"meal",
|
||||
"meeting",
|
||||
"marketing",
|
||||
"office",
|
||||
"training",
|
||||
"software",
|
||||
"communication",
|
||||
"welfare"
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
|
||||
187
server/rules/risk-rules/risk.budget.consume_without_release.json
Normal file
187
server/rules/risk-rules/risk.budget.consume_without_release.json
Normal file
@@ -0,0 +1,187 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.budget.consume_without_release",
|
||||
"name": "预算占用未释放",
|
||||
"description": "申请取消、退回或驳回后,预算占用未释放导致后续可用预算失真。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "预算管控",
|
||||
"ontology_signal": "budget_over_limit",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"business_stages": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "budget.line_id",
|
||||
"label": "预算行",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.available_amount",
|
||||
"label": "预算可用金额",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.used_rate",
|
||||
"label": "预算使用率",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.status",
|
||||
"label": "预算状态",
|
||||
"type": "enum",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.department_name",
|
||||
"label": "预算部门",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.quarter",
|
||||
"label": "预算季度",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.project_code",
|
||||
"label": "预算项目",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"budget.line_id",
|
||||
"budget.available_amount",
|
||||
"budget.used_rate",
|
||||
"budget.status",
|
||||
"budget.department_name",
|
||||
"budget.quarter",
|
||||
"budget.project_code"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"占用未释放",
|
||||
"退回未释放",
|
||||
"预算释放"
|
||||
],
|
||||
"condition_summary": "申请非有效状态但仍存在预算占用时触发。",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "medium",
|
||||
"action": "manual_review",
|
||||
"risk_score": 72
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.798394+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 72,
|
||||
"risk_level": "medium",
|
||||
"rule_title": "预算占用未释放",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "medium",
|
||||
"risk_score": 72,
|
||||
"risk_level": "medium"
|
||||
}
|
||||
@@ -0,0 +1,187 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.budget.cross_department_without_authorization",
|
||||
"name": "跨部门预算未授权",
|
||||
"description": "报销部门与预算归属部门不一致,且没有跨部门预算授权。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "预算管控",
|
||||
"ontology_signal": "budget_over_limit",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"business_stages": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "budget.line_id",
|
||||
"label": "预算行",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.available_amount",
|
||||
"label": "预算可用金额",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.used_rate",
|
||||
"label": "预算使用率",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.status",
|
||||
"label": "预算状态",
|
||||
"type": "enum",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.department_name",
|
||||
"label": "预算部门",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.quarter",
|
||||
"label": "预算季度",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.project_code",
|
||||
"label": "预算项目",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"budget.line_id",
|
||||
"budget.available_amount",
|
||||
"budget.used_rate",
|
||||
"budget.status",
|
||||
"budget.department_name",
|
||||
"budget.quarter",
|
||||
"budget.project_code"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"跨部门预算",
|
||||
"部门不一致",
|
||||
"未授权"
|
||||
],
|
||||
"condition_summary": "单据部门与预算部门不一致且无授权说明时触发。",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "high",
|
||||
"action": "manual_review",
|
||||
"risk_score": 86
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.774598+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 86,
|
||||
"risk_level": "high",
|
||||
"rule_title": "跨部门预算未授权",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "high",
|
||||
"risk_score": 86,
|
||||
"risk_level": "high"
|
||||
}
|
||||
@@ -0,0 +1,187 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.budget.cross_quarter_without_explanation",
|
||||
"name": "跨季度预算未说明",
|
||||
"description": "单据发生期间与预算季度不一致,且缺少跨季度使用说明。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "预算管控",
|
||||
"ontology_signal": "budget_over_limit",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"business_stages": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "budget.line_id",
|
||||
"label": "预算行",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.available_amount",
|
||||
"label": "预算可用金额",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.used_rate",
|
||||
"label": "预算使用率",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.status",
|
||||
"label": "预算状态",
|
||||
"type": "enum",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.department_name",
|
||||
"label": "预算部门",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.quarter",
|
||||
"label": "预算季度",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.project_code",
|
||||
"label": "预算项目",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"budget.line_id",
|
||||
"budget.available_amount",
|
||||
"budget.used_rate",
|
||||
"budget.status",
|
||||
"budget.department_name",
|
||||
"budget.quarter",
|
||||
"budget.project_code"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"跨季度预算",
|
||||
"季度不一致",
|
||||
"未说明"
|
||||
],
|
||||
"condition_summary": "发生季度与预算季度不一致且未说明时触发。",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "medium",
|
||||
"action": "manual_review",
|
||||
"risk_score": 76
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.779201+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 76,
|
||||
"risk_level": "medium",
|
||||
"rule_title": "跨季度预算未说明",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "medium",
|
||||
"risk_score": 76,
|
||||
"risk_level": "medium"
|
||||
}
|
||||
187
server/rules/risk-rules/risk.budget.duplicate_reserve.json
Normal file
187
server/rules/risk-rules/risk.budget.duplicate_reserve.json
Normal file
@@ -0,0 +1,187 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.budget.duplicate_reserve",
|
||||
"name": "重复占用预算",
|
||||
"description": "同一申请、项目或合同已占用预算,本次单据再次占用同一预算口径。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "预算管控",
|
||||
"ontology_signal": "budget_over_limit",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"business_stages": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "budget.line_id",
|
||||
"label": "预算行",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.available_amount",
|
||||
"label": "预算可用金额",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.used_rate",
|
||||
"label": "预算使用率",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.status",
|
||||
"label": "预算状态",
|
||||
"type": "enum",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.department_name",
|
||||
"label": "预算部门",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.quarter",
|
||||
"label": "预算季度",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.project_code",
|
||||
"label": "预算项目",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"budget.line_id",
|
||||
"budget.available_amount",
|
||||
"budget.used_rate",
|
||||
"budget.status",
|
||||
"budget.department_name",
|
||||
"budget.quarter",
|
||||
"budget.project_code"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"重复占用",
|
||||
"预算锁定",
|
||||
"重复申请"
|
||||
],
|
||||
"condition_summary": "相同业务标识存在未释放预算占用时触发。",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "medium",
|
||||
"action": "manual_review",
|
||||
"risk_score": 74
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.791584+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 74,
|
||||
"risk_level": "medium",
|
||||
"rule_title": "重复占用预算",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "medium",
|
||||
"risk_score": 74,
|
||||
"risk_level": "medium"
|
||||
}
|
||||
187
server/rules/risk-rules/risk.budget.frozen_or_closed_used.json
Normal file
187
server/rules/risk-rules/risk.budget.frozen_or_closed_used.json
Normal file
@@ -0,0 +1,187 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.budget.frozen_or_closed_used",
|
||||
"name": "使用冻结或关闭预算",
|
||||
"description": "单据引用了已冻结、已关闭或已作废的预算行。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "预算管控",
|
||||
"ontology_signal": "budget_over_limit",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"business_stages": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "budget.line_id",
|
||||
"label": "预算行",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.available_amount",
|
||||
"label": "预算可用金额",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.used_rate",
|
||||
"label": "预算使用率",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.status",
|
||||
"label": "预算状态",
|
||||
"type": "enum",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.department_name",
|
||||
"label": "预算部门",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.quarter",
|
||||
"label": "预算季度",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.project_code",
|
||||
"label": "预算项目",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"budget.line_id",
|
||||
"budget.available_amount",
|
||||
"budget.used_rate",
|
||||
"budget.status",
|
||||
"budget.department_name",
|
||||
"budget.quarter",
|
||||
"budget.project_code"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"冻结预算",
|
||||
"关闭预算",
|
||||
"预算作废"
|
||||
],
|
||||
"condition_summary": "预算状态不是启用时触发。",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "high",
|
||||
"action": "block_submit",
|
||||
"risk_score": 90
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.765154+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 90,
|
||||
"risk_level": "high",
|
||||
"rule_title": "使用冻结或关闭预算",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "high",
|
||||
"risk_score": 90,
|
||||
"risk_level": "high"
|
||||
}
|
||||
187
server/rules/risk-rules/risk.budget.missing_budget_line.json
Normal file
187
server/rules/risk-rules/risk.budget.missing_budget_line.json
Normal file
@@ -0,0 +1,187 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.budget.missing_budget_line",
|
||||
"name": "缺少预算口径",
|
||||
"description": "需要预算管控的费用未关联年度、季度、部门、项目或费用类型预算。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "预算管控",
|
||||
"ontology_signal": "budget_over_limit",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"business_stages": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "budget.line_id",
|
||||
"label": "预算行",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.available_amount",
|
||||
"label": "预算可用金额",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.used_rate",
|
||||
"label": "预算使用率",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.status",
|
||||
"label": "预算状态",
|
||||
"type": "enum",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.department_name",
|
||||
"label": "预算部门",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.quarter",
|
||||
"label": "预算季度",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.project_code",
|
||||
"label": "预算项目",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"budget.line_id",
|
||||
"budget.available_amount",
|
||||
"budget.used_rate",
|
||||
"budget.status",
|
||||
"budget.department_name",
|
||||
"budget.quarter",
|
||||
"budget.project_code"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"无预算",
|
||||
"预算口径缺失",
|
||||
"未关联预算"
|
||||
],
|
||||
"condition_summary": "费用类型要求预算管控但预算行为空时触发。",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "high",
|
||||
"action": "manual_review",
|
||||
"risk_score": 82
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.770132+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 82,
|
||||
"risk_level": "high",
|
||||
"rule_title": "缺少预算口径",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "high",
|
||||
"risk_score": 82,
|
||||
"risk_level": "high"
|
||||
}
|
||||
@@ -0,0 +1,187 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.budget.project_department_mismatch",
|
||||
"name": "项目预算与部门不匹配",
|
||||
"description": "单据引用的项目预算不属于当前部门或当前成本中心。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "预算管控",
|
||||
"ontology_signal": "budget_over_limit",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"business_stages": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "budget.line_id",
|
||||
"label": "预算行",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.available_amount",
|
||||
"label": "预算可用金额",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.used_rate",
|
||||
"label": "预算使用率",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.status",
|
||||
"label": "预算状态",
|
||||
"type": "enum",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.department_name",
|
||||
"label": "预算部门",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.quarter",
|
||||
"label": "预算季度",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.project_code",
|
||||
"label": "预算项目",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"budget.line_id",
|
||||
"budget.available_amount",
|
||||
"budget.used_rate",
|
||||
"budget.status",
|
||||
"budget.department_name",
|
||||
"budget.quarter",
|
||||
"budget.project_code"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"项目预算",
|
||||
"成本中心不匹配",
|
||||
"部门不匹配"
|
||||
],
|
||||
"condition_summary": "项目预算归属与报销部门不一致时触发。",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "high",
|
||||
"action": "manual_review",
|
||||
"risk_score": 84
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.785760+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 84,
|
||||
"risk_level": "high",
|
||||
"rule_title": "项目预算与部门不匹配",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "high",
|
||||
"risk_score": 84,
|
||||
"risk_level": "high"
|
||||
}
|
||||
187
server/rules/risk-rules/risk.budget.usage_over_100.json
Normal file
187
server/rules/risk-rules/risk.budget.usage_over_100.json
Normal file
@@ -0,0 +1,187 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.budget.usage_over_100",
|
||||
"name": "预算使用率超过 100% 管控",
|
||||
"description": "报销或申请通过后,预算使用率超过 100%,需要阻断或升级审批。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "预算管控",
|
||||
"ontology_signal": "budget_over_limit",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"business_stages": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "budget.line_id",
|
||||
"label": "预算行",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.available_amount",
|
||||
"label": "预算可用金额",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.used_rate",
|
||||
"label": "预算使用率",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.status",
|
||||
"label": "预算状态",
|
||||
"type": "enum",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.department_name",
|
||||
"label": "预算部门",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.quarter",
|
||||
"label": "预算季度",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.project_code",
|
||||
"label": "预算项目",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"budget.line_id",
|
||||
"budget.available_amount",
|
||||
"budget.used_rate",
|
||||
"budget.status",
|
||||
"budget.department_name",
|
||||
"budget.quarter",
|
||||
"budget.project_code"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"预算超支",
|
||||
"超过100%",
|
||||
"禁止提交"
|
||||
],
|
||||
"condition_summary": "预算使用率超过 100% 时触发。",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "critical",
|
||||
"action": "block_submit",
|
||||
"risk_score": 96
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.760043+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 96,
|
||||
"risk_level": "high",
|
||||
"rule_title": "预算使用率超过 100% 管控",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "critical",
|
||||
"risk_score": 96,
|
||||
"risk_level": "high"
|
||||
}
|
||||
187
server/rules/risk-rules/risk.budget.usage_warning_80.json
Normal file
187
server/rules/risk-rules/risk.budget.usage_warning_80.json
Normal file
@@ -0,0 +1,187 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.budget.usage_warning_80",
|
||||
"name": "预算使用率达到 80% 预警",
|
||||
"description": "报销或申请通过后,部门/项目/费用类型预算使用率达到 80% 以上。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "预算管控",
|
||||
"ontology_signal": "budget_over_limit",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"business_stages": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "budget.line_id",
|
||||
"label": "预算行",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.available_amount",
|
||||
"label": "预算可用金额",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.used_rate",
|
||||
"label": "预算使用率",
|
||||
"type": "number",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.status",
|
||||
"label": "预算状态",
|
||||
"type": "enum",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.department_name",
|
||||
"label": "预算部门",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.quarter",
|
||||
"label": "预算季度",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
},
|
||||
{
|
||||
"key": "budget.project_code",
|
||||
"label": "预算项目",
|
||||
"type": "text",
|
||||
"source": "budget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"budget.line_id",
|
||||
"budget.available_amount",
|
||||
"budget.used_rate",
|
||||
"budget.status",
|
||||
"budget.department_name",
|
||||
"budget.quarter",
|
||||
"budget.project_code"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"预算预警",
|
||||
"80%",
|
||||
"使用率过高"
|
||||
],
|
||||
"condition_summary": "预算使用率大于等于 80% 且低于 100% 时触发。",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "medium",
|
||||
"action": "warning",
|
||||
"risk_score": 70
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.755636+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 70,
|
||||
"risk_level": "medium",
|
||||
"rule_title": "预算使用率达到 80% 预警",
|
||||
"finance_rule_code": "budget.execution.policy",
|
||||
"finance_rule_sheet": "预算执行规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement",
|
||||
"budget_execution"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "medium",
|
||||
"risk_score": 70,
|
||||
"risk_level": "medium"
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.reimbursement.amount_over_application",
|
||||
"name": "报销金额超过申请金额",
|
||||
"description": "报销总金额超过已审批申请金额,需要按偏差规则复核。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "报销偏差",
|
||||
"ontology_signal": "amount_over_application",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"business_stages": [
|
||||
"reimbursement"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "application.id",
|
||||
"label": "申请单",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.status",
|
||||
"label": "申请状态",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.approved_amount",
|
||||
"label": "申请审批金额",
|
||||
"type": "number",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.expense_type",
|
||||
"label": "申请费用类型",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.department_name",
|
||||
"label": "申请部门",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"application.id",
|
||||
"application.status",
|
||||
"application.approved_amount",
|
||||
"application.expense_type",
|
||||
"application.department_name"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"超过申请金额",
|
||||
"报销偏差",
|
||||
"申请金额"
|
||||
],
|
||||
"condition_summary": "报销金额大于申请审批金额时触发。",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "medium",
|
||||
"action": "manual_review",
|
||||
"risk_score": 76
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.832940+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 76,
|
||||
"risk_level": "medium",
|
||||
"rule_title": "报销金额超过申请金额",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "medium",
|
||||
"risk_score": 76,
|
||||
"risk_level": "medium"
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.reimbursement.amount_over_application_10pct",
|
||||
"name": "报销金额超过申请金额 10%",
|
||||
"description": "报销金额比申请审批金额高出 10% 以上,需要升级审批或禁止提交。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "报销偏差",
|
||||
"ontology_signal": "amount_over_application",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"business_stages": [
|
||||
"reimbursement"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "application.id",
|
||||
"label": "申请单",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.status",
|
||||
"label": "申请状态",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.approved_amount",
|
||||
"label": "申请审批金额",
|
||||
"type": "number",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.expense_type",
|
||||
"label": "申请费用类型",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.department_name",
|
||||
"label": "申请部门",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"application.id",
|
||||
"application.status",
|
||||
"application.approved_amount",
|
||||
"application.expense_type",
|
||||
"application.department_name"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"超过申请10%",
|
||||
"金额偏差",
|
||||
"升级审批"
|
||||
],
|
||||
"condition_summary": "报销金额超过申请审批金额 10% 以上时触发。",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "high",
|
||||
"action": "manual_review",
|
||||
"risk_score": 88
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.839384+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 88,
|
||||
"risk_level": "high",
|
||||
"rule_title": "报销金额超过申请金额 10%",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "high",
|
||||
"risk_score": 88,
|
||||
"risk_level": "high"
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.reimbursement.department_mismatch_application",
|
||||
"name": "报销部门与申请部门不一致",
|
||||
"description": "报销部门、成本中心与关联申请单不一致,且缺少调整说明。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "报销偏差",
|
||||
"ontology_signal": "department_mismatch",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"business_stages": [
|
||||
"reimbursement"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "application.id",
|
||||
"label": "申请单",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.status",
|
||||
"label": "申请状态",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.approved_amount",
|
||||
"label": "申请审批金额",
|
||||
"type": "number",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.expense_type",
|
||||
"label": "申请费用类型",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.department_name",
|
||||
"label": "申请部门",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"application.id",
|
||||
"application.status",
|
||||
"application.approved_amount",
|
||||
"application.expense_type",
|
||||
"application.department_name"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"部门不一致",
|
||||
"成本中心偏差",
|
||||
"申请部门"
|
||||
],
|
||||
"condition_summary": "报销部门与申请部门不一致时触发。",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "medium",
|
||||
"action": "manual_review",
|
||||
"risk_score": 72
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.852823+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 72,
|
||||
"risk_level": "medium",
|
||||
"rule_title": "报销部门与申请部门不一致",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "medium",
|
||||
"risk_score": 72,
|
||||
"risk_level": "medium"
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.reimbursement.duplicate_against_application",
|
||||
"name": "同一申请重复报销",
|
||||
"description": "同一申请单或同一合同/项目存在多笔疑似重复报销。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "报销偏差",
|
||||
"ontology_signal": "duplicate_reimbursement",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"business_stages": [
|
||||
"reimbursement"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "application.id",
|
||||
"label": "申请单",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.status",
|
||||
"label": "申请状态",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.approved_amount",
|
||||
"label": "申请审批金额",
|
||||
"type": "number",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.expense_type",
|
||||
"label": "申请费用类型",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.department_name",
|
||||
"label": "申请部门",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"application.id",
|
||||
"application.status",
|
||||
"application.approved_amount",
|
||||
"application.expense_type",
|
||||
"application.department_name"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"重复报销",
|
||||
"同一申请",
|
||||
"重复占用"
|
||||
],
|
||||
"condition_summary": "同一申请的已报销金额与本次金额超过申请金额时触发。",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "high",
|
||||
"action": "manual_review",
|
||||
"risk_score": 86
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.873003+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 86,
|
||||
"risk_level": "high",
|
||||
"rule_title": "同一申请重复报销",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "high",
|
||||
"risk_score": 86,
|
||||
"risk_level": "high"
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.reimbursement.expense_type_mismatch_application",
|
||||
"name": "报销费用类型与申请不一致",
|
||||
"description": "报销单费用类型与关联申请单费用类型不一致。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "报销偏差",
|
||||
"ontology_signal": "expense_type_mismatch",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"business_stages": [
|
||||
"reimbursement"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "application.id",
|
||||
"label": "申请单",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.status",
|
||||
"label": "申请状态",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.approved_amount",
|
||||
"label": "申请审批金额",
|
||||
"type": "number",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.expense_type",
|
||||
"label": "申请费用类型",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.department_name",
|
||||
"label": "申请部门",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"application.id",
|
||||
"application.status",
|
||||
"application.approved_amount",
|
||||
"application.expense_type",
|
||||
"application.department_name"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"费用类型不一致",
|
||||
"申请报销不匹配",
|
||||
"类型偏差"
|
||||
],
|
||||
"condition_summary": "报销费用类型与申请费用类型不一致时触发。",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "medium",
|
||||
"action": "manual_review",
|
||||
"risk_score": 74
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.845894+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 74,
|
||||
"risk_level": "medium",
|
||||
"rule_title": "报销费用类型与申请不一致",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "medium",
|
||||
"risk_score": 74,
|
||||
"risk_level": "medium"
|
||||
}
|
||||
@@ -0,0 +1,179 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.reimbursement.period_outside_application",
|
||||
"name": "报销发生期间超出申请期间",
|
||||
"description": "费用发生日期不在已审批申请的起止日期范围内。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "报销偏差",
|
||||
"ontology_signal": "period_outside_application",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"business_stages": [
|
||||
"reimbursement"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "application.id",
|
||||
"label": "申请单",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.status",
|
||||
"label": "申请状态",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.approved_amount",
|
||||
"label": "申请审批金额",
|
||||
"type": "number",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.expense_type",
|
||||
"label": "申请费用类型",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.department_name",
|
||||
"label": "申请部门",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.start_date",
|
||||
"label": "申请开始日期",
|
||||
"type": "date",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.end_date",
|
||||
"label": "申请结束日期",
|
||||
"type": "date",
|
||||
"source": "application"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"application.id",
|
||||
"application.status",
|
||||
"application.approved_amount",
|
||||
"application.expense_type",
|
||||
"application.department_name",
|
||||
"application.start_date",
|
||||
"application.end_date"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"期间不一致",
|
||||
"超出申请期间",
|
||||
"日期偏差"
|
||||
],
|
||||
"condition_summary": "发生日期超出申请有效期间时触发。",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "medium",
|
||||
"action": "manual_review",
|
||||
"risk_score": 70
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.859728+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 70,
|
||||
"risk_level": "medium",
|
||||
"rule_title": "报销发生期间超出申请期间",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "medium",
|
||||
"risk_score": 70,
|
||||
"risk_level": "medium"
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.reimbursement.rejected_application_claimed",
|
||||
"name": "已驳回申请被用于报销",
|
||||
"description": "报销单关联的申请单为驳回、撤回或已取消状态。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "报销偏差",
|
||||
"ontology_signal": "invalid_application_status",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"business_stages": [
|
||||
"reimbursement"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "application.id",
|
||||
"label": "申请单",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.status",
|
||||
"label": "申请状态",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.approved_amount",
|
||||
"label": "申请审批金额",
|
||||
"type": "number",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.expense_type",
|
||||
"label": "申请费用类型",
|
||||
"type": "enum",
|
||||
"source": "application"
|
||||
},
|
||||
{
|
||||
"key": "application.department_name",
|
||||
"label": "申请部门",
|
||||
"type": "text",
|
||||
"source": "application"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"application.id",
|
||||
"application.status",
|
||||
"application.approved_amount",
|
||||
"application.expense_type",
|
||||
"application.department_name"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"申请驳回",
|
||||
"申请撤回",
|
||||
"无效申请"
|
||||
],
|
||||
"condition_summary": "关联申请状态不是已通过或已完成时触发。",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "high",
|
||||
"action": "block_submit",
|
||||
"risk_score": 92
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.865808+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 92,
|
||||
"risk_level": "high",
|
||||
"rule_title": "已驳回申请被用于报销",
|
||||
"finance_rule_code": "application.reimbursement.linkage.policy",
|
||||
"finance_rule_sheet": "申请报销关联规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"all"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "high",
|
||||
"risk_score": 92,
|
||||
"risk_level": "high"
|
||||
}
|
||||
@@ -0,0 +1,174 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.standard.communication_account_mismatch",
|
||||
"name": "通信账户归属与报销人不一致",
|
||||
"description": "通信票据、运营商账单或号码归属信息与报销人不一致,且缺少代垫或统一缴费说明。",
|
||||
"enabled": true,
|
||||
"requires_attachment": true,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "费用归属",
|
||||
"ontology_signal": "expense_owner_mismatch",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "expense.communication.policy",
|
||||
"finance_rule_sheet": "通信费报销规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"communication"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"communication"
|
||||
],
|
||||
"business_stages": [
|
||||
"reimbursement"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "material.attachment_count",
|
||||
"label": "附件数量",
|
||||
"type": "number",
|
||||
"source": "material"
|
||||
},
|
||||
{
|
||||
"key": "material.contract_uploaded",
|
||||
"label": "合同已上传",
|
||||
"type": "boolean",
|
||||
"source": "material"
|
||||
},
|
||||
{
|
||||
"key": "material.acceptance_uploaded",
|
||||
"label": "验收材料已上传",
|
||||
"type": "boolean",
|
||||
"source": "material"
|
||||
},
|
||||
{
|
||||
"key": "material.plan_uploaded",
|
||||
"label": "方案已上传",
|
||||
"type": "boolean",
|
||||
"source": "material"
|
||||
},
|
||||
{
|
||||
"key": "material.attendee_list_uploaded",
|
||||
"label": "参与人清单已上传",
|
||||
"type": "boolean",
|
||||
"source": "material"
|
||||
},
|
||||
{
|
||||
"key": "material.invoice_uploaded",
|
||||
"label": "发票已上传",
|
||||
"type": "boolean",
|
||||
"source": "material"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"material.attachment_count",
|
||||
"material.contract_uploaded",
|
||||
"material.acceptance_uploaded",
|
||||
"material.plan_uploaded",
|
||||
"material.attendee_list_uploaded",
|
||||
"material.invoice_uploaded"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"号码归属",
|
||||
"账户不一致",
|
||||
"代垫",
|
||||
"统一缴费",
|
||||
"公共号码"
|
||||
],
|
||||
"condition_summary": "通信账户归属与报销人不一致且没有代垫、统一缴费或部门公共号码说明时触发。",
|
||||
"finance_rule_code": "expense.communication.policy",
|
||||
"finance_rule_sheet": "通信费报销规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"communication"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "high",
|
||||
"action": "manual_review",
|
||||
"risk_score": 82
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.898564+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 82,
|
||||
"risk_level": "high",
|
||||
"rule_title": "通信账户归属与报销人不一致",
|
||||
"finance_rule_code": "expense.communication.policy",
|
||||
"finance_rule_sheet": "通信费报销规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"communication"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "high",
|
||||
"risk_score": 82,
|
||||
"risk_level": "high"
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.standard.communication_amount_over_policy",
|
||||
"name": "通信费金额超过月度标准",
|
||||
"description": "通信费、话费、流量费或宽带费超过公司月度标准,且缺少岗位必要性或专项审批说明。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "费用标准",
|
||||
"ontology_signal": "expense_standard_over_limit",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "expense.communication.policy",
|
||||
"finance_rule_sheet": "通信费报销规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"communication"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"communication"
|
||||
],
|
||||
"business_stages": [
|
||||
"expense_application",
|
||||
"reimbursement"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "material.invoice_uploaded",
|
||||
"label": "发票已上传",
|
||||
"type": "boolean",
|
||||
"source": "material"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"material.invoice_uploaded"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"通信费",
|
||||
"话费",
|
||||
"流量费",
|
||||
"宽带费",
|
||||
"超标准"
|
||||
],
|
||||
"condition_summary": "通信费金额超过公司标准且没有岗位、项目或专项审批说明时触发。",
|
||||
"finance_rule_code": "expense.communication.policy",
|
||||
"finance_rule_sheet": "通信费报销规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"communication"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "medium",
|
||||
"action": "manual_review",
|
||||
"risk_score": 68
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.891463+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 68,
|
||||
"risk_level": "medium",
|
||||
"rule_title": "通信费金额超过月度标准",
|
||||
"finance_rule_code": "expense.communication.policy",
|
||||
"finance_rule_sheet": "通信费报销规则",
|
||||
"business_stage": [
|
||||
"expense_application",
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"communication"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "medium",
|
||||
"risk_score": 68,
|
||||
"risk_level": "medium"
|
||||
}
|
||||
@@ -0,0 +1,172 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.standard.meal_participants_missing",
|
||||
"name": "业务招待缺少参与人清单",
|
||||
"description": "业务招待费要求提供客户名称、参与人清单和招待说明。",
|
||||
"enabled": true,
|
||||
"requires_attachment": true,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "材料完整性",
|
||||
"ontology_signal": "material_missing",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "expense.material.policy",
|
||||
"finance_rule_sheet": "材料完整性规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"meal"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"meal"
|
||||
],
|
||||
"business_stages": [
|
||||
"reimbursement"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
},
|
||||
{
|
||||
"key": "material.attachment_count",
|
||||
"label": "附件数量",
|
||||
"type": "number",
|
||||
"source": "material"
|
||||
},
|
||||
{
|
||||
"key": "material.contract_uploaded",
|
||||
"label": "合同已上传",
|
||||
"type": "boolean",
|
||||
"source": "material"
|
||||
},
|
||||
{
|
||||
"key": "material.acceptance_uploaded",
|
||||
"label": "验收材料已上传",
|
||||
"type": "boolean",
|
||||
"source": "material"
|
||||
},
|
||||
{
|
||||
"key": "material.plan_uploaded",
|
||||
"label": "方案已上传",
|
||||
"type": "boolean",
|
||||
"source": "material"
|
||||
},
|
||||
{
|
||||
"key": "material.attendee_list_uploaded",
|
||||
"label": "参与人清单已上传",
|
||||
"type": "boolean",
|
||||
"source": "material"
|
||||
},
|
||||
{
|
||||
"key": "material.invoice_uploaded",
|
||||
"label": "发票已上传",
|
||||
"type": "boolean",
|
||||
"source": "material"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"material.attachment_count",
|
||||
"material.contract_uploaded",
|
||||
"material.acceptance_uploaded",
|
||||
"material.plan_uploaded",
|
||||
"material.attendee_list_uploaded",
|
||||
"material.invoice_uploaded"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"参与人清单",
|
||||
"客户信息",
|
||||
"业务招待"
|
||||
],
|
||||
"condition_summary": "业务招待费缺少参与人清单或客户信息时触发。",
|
||||
"finance_rule_code": "expense.material.policy",
|
||||
"finance_rule_sheet": "材料完整性规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"meal"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "medium",
|
||||
"action": "manual_review",
|
||||
"risk_score": 72
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.879886+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 72,
|
||||
"risk_level": "medium",
|
||||
"rule_title": "业务招待缺少参与人清单",
|
||||
"finance_rule_code": "expense.material.policy",
|
||||
"finance_rule_sheet": "材料完整性规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"meal"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"severity": "medium",
|
||||
"risk_score": 72,
|
||||
"risk_level": "medium"
|
||||
}
|
||||
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"rule_code": "risk.standard.office_fixed_asset_as_office",
|
||||
"name": "固定资产伪装为办公用品费",
|
||||
"description": "办公用品费明细疑似包含固定资产、电子设备或应走采购入库的物品。",
|
||||
"enabled": true,
|
||||
"requires_attachment": false,
|
||||
"risk_dimension": "expense_control_demo",
|
||||
"risk_category": "费用标准",
|
||||
"ontology_signal": "expense_type_mismatch",
|
||||
"evaluator": "template_rule",
|
||||
"template_key": "keyword_match_v1",
|
||||
"finance_rule_code": "expense.classification.policy",
|
||||
"finance_rule_sheet": "费用类型归类规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"office"
|
||||
],
|
||||
"budget_required": true,
|
||||
"applies_to": {
|
||||
"domains": [
|
||||
"expense"
|
||||
],
|
||||
"expense_types": [
|
||||
"office"
|
||||
],
|
||||
"business_stages": [
|
||||
"reimbursement"
|
||||
]
|
||||
},
|
||||
"inputs": {
|
||||
"fields": [
|
||||
{
|
||||
"key": "claim.amount",
|
||||
"label": "报销金额",
|
||||
"type": "number",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.expense_type",
|
||||
"label": "费用类型",
|
||||
"type": "enum",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.department_name",
|
||||
"label": "部门",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "claim.reason",
|
||||
"label": "事由",
|
||||
"type": "text",
|
||||
"source": "claim"
|
||||
},
|
||||
{
|
||||
"key": "item.item_reason",
|
||||
"label": "明细说明",
|
||||
"type": "text",
|
||||
"source": "item"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_keys": [
|
||||
"claim.amount",
|
||||
"claim.expense_type",
|
||||
"claim.department_name",
|
||||
"claim.reason",
|
||||
"item.item_reason"
|
||||
],
|
||||
"search_fields": [
|
||||
"claim.reason",
|
||||
"item.item_reason",
|
||||
"claim.expense_type"
|
||||
],
|
||||
"keywords": [
|
||||
"固定资产",
|
||||
"电脑",
|
||||
"显示器",
|
||||
"办公设备"
|
||||
],
|
||||
"condition_summary": "办公用品费包含固定资产关键词或超过采购阈值时触发。",
|
||||
"finance_rule_code": "expense.classification.policy",
|
||||
"finance_rule_sheet": "费用类型归类规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"office"
|
||||
],
|
||||
"budget_required": true
|
||||
},
|
||||
"outcomes": {
|
||||
"pass": {
|
||||
"severity": "none",
|
||||
"action": "continue"
|
||||
},
|
||||
"fail": {
|
||||
"severity": "medium",
|
||||
"action": "manual_review",
|
||||
"risk_score": 52
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"owner": "风控与审计部",
|
||||
"stability": "platform",
|
||||
"source_ref": "费用管控 Demo 风险规则库",
|
||||
"created_at": "2026-05-31T00:10:41.885450+00:00",
|
||||
"created_by": "system",
|
||||
"risk_score": 52,
|
||||
"risk_level": "medium",
|
||||
"rule_title": "固定资产伪装为办公用品费",
|
||||
"finance_rule_code": "expense.classification.policy",
|
||||
"finance_rule_sheet": "费用类型归类规则",
|
||||
"business_stage": [
|
||||
"reimbursement"
|
||||
],
|
||||
"expense_types": [
|
||||
"office"
|
||||
],
|
||||
"budget_required": true,
|
||||
"risk_level_label": "中风险",
|
||||
"risk_score_model": "risk_score_v3",
|
||||
"risk_score_detail": {
|
||||
"score": 52,
|
||||
"level": "medium",
|
||||
"level_label": "中风险",
|
||||
"model": "risk_score_v3",
|
||||
"weights": {
|
||||
"impact": 0.35,
|
||||
"certainty": 0.25,
|
||||
"evidence": 0.15,
|
||||
"exception": 0.1,
|
||||
"action": 0.1,
|
||||
"sensitivity": 0.05
|
||||
},
|
||||
"components": {
|
||||
"impact": 42,
|
||||
"certainty": 58,
|
||||
"evidence": 62,
|
||||
"exception": 74,
|
||||
"action": 35,
|
||||
"sensitivity": 45
|
||||
},
|
||||
"calibration": {
|
||||
"raw_score": 52,
|
||||
"rules": []
|
||||
},
|
||||
"ai_evidence": {},
|
||||
"basis": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_count": 5,
|
||||
"condition_count": 0,
|
||||
"expense_category": null,
|
||||
"expense_category_label": "费用标准",
|
||||
"requires_attachment": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"severity": "medium",
|
||||
"risk_score": 52,
|
||||
"risk_level": "medium",
|
||||
"risk_level_label": "中风险",
|
||||
"risk_score_detail": {
|
||||
"score": 52,
|
||||
"level": "medium",
|
||||
"level_label": "中风险",
|
||||
"model": "risk_score_v3",
|
||||
"weights": {
|
||||
"impact": 0.35,
|
||||
"certainty": 0.25,
|
||||
"evidence": 0.15,
|
||||
"exception": 0.1,
|
||||
"action": 0.1,
|
||||
"sensitivity": 0.05
|
||||
},
|
||||
"components": {
|
||||
"impact": 42,
|
||||
"certainty": 58,
|
||||
"evidence": 62,
|
||||
"exception": 74,
|
||||
"action": 35,
|
||||
"sensitivity": 45
|
||||
},
|
||||
"calibration": {
|
||||
"raw_score": 52,
|
||||
"rules": []
|
||||
},
|
||||
"ai_evidence": {},
|
||||
"basis": {
|
||||
"template_key": "keyword_match_v1",
|
||||
"field_count": 5,
|
||||
"condition_count": 0,
|
||||
"expense_category": null,
|
||||
"expense_category_label": "费用标准",
|
||||
"requires_attachment": false
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user