2026-06-01 17:07:14 +08:00
|
|
|
{
|
|
|
|
|
"schema_version": "2.0",
|
|
|
|
|
"rule_code": "risk.application.meal_high_value_without_preapproval",
|
2026-06-15 22:55:18 +08:00
|
|
|
"name": "业务招待高金额无前置申请",
|
|
|
|
|
"description": "业务招待费超过 500 元且缺少关联费用申请或审批记录。",
|
2026-06-01 17:07:14 +08:00
|
|
|
"enabled": true,
|
|
|
|
|
"requires_attachment": false,
|
|
|
|
|
"risk_dimension": "expense_control_demo",
|
2026-06-15 22:55:18 +08:00
|
|
|
"risk_category": "申请前置",
|
2026-06-01 17:07:14 +08:00
|
|
|
"ontology_signal": "application_required",
|
|
|
|
|
"evaluator": "template_rule",
|
2026-06-06 17:19:07 +08:00
|
|
|
"template_key": "composite_rule_v1",
|
|
|
|
|
"finance_rule_code": "expense.preapproval.policy",
|
2026-06-15 22:55:18 +08:00
|
|
|
"finance_rule_sheet": "费用申请审批规则",
|
|
|
|
|
"basic_rule_code": "expense.preapproval.policy",
|
|
|
|
|
"basic_rule_sheet": "费用申请审批规则",
|
2026-06-01 17:07:14 +08:00
|
|
|
"business_stage": [
|
|
|
|
|
"reimbursement"
|
|
|
|
|
],
|
|
|
|
|
"expense_types": [
|
2026-06-06 17:19:07 +08:00
|
|
|
"meal",
|
|
|
|
|
"entertainment"
|
2026-06-01 17:07:14 +08:00
|
|
|
],
|
|
|
|
|
"budget_required": true,
|
|
|
|
|
"applies_to": {
|
|
|
|
|
"domains": [
|
|
|
|
|
"expense"
|
|
|
|
|
],
|
|
|
|
|
"expense_types": [
|
2026-06-06 17:19:07 +08:00
|
|
|
"meal",
|
|
|
|
|
"entertainment"
|
2026-06-01 17:07:14 +08:00
|
|
|
],
|
|
|
|
|
"business_stages": [
|
|
|
|
|
"reimbursement"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"inputs": {
|
|
|
|
|
"fields": [
|
|
|
|
|
{
|
|
|
|
|
"key": "claim.amount",
|
2026-06-15 22:55:18 +08:00
|
|
|
"label": "报销金额",
|
2026-06-01 17:07:14 +08:00
|
|
|
"type": "number",
|
|
|
|
|
"source": "claim"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"key": "claim.expense_type",
|
2026-06-15 22:55:18 +08:00
|
|
|
"label": "费用类型",
|
2026-06-01 17:07:14 +08:00
|
|
|
"type": "enum",
|
|
|
|
|
"source": "claim"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"key": "claim.department_name",
|
2026-06-15 22:55:18 +08:00
|
|
|
"label": "部门",
|
2026-06-01 17:07:14 +08:00
|
|
|
"type": "text",
|
|
|
|
|
"source": "claim"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"key": "claim.reason",
|
2026-06-15 22:55:18 +08:00
|
|
|
"label": "事由",
|
2026-06-01 17:07:14 +08:00
|
|
|
"type": "text",
|
|
|
|
|
"source": "claim"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"key": "item.item_reason",
|
2026-06-15 22:55:18 +08:00
|
|
|
"label": "明细事由",
|
2026-06-01 17:07:14 +08:00
|
|
|
"type": "text",
|
|
|
|
|
"source": "item"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"key": "application.id",
|
2026-06-15 22:55:18 +08:00
|
|
|
"label": "申请单ID",
|
2026-06-06 17:19:07 +08:00
|
|
|
"type": "text",
|
|
|
|
|
"source": "application"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"key": "application.claim_no",
|
2026-06-15 22:55:18 +08:00
|
|
|
"label": "申请单号",
|
2026-06-01 17:07:14 +08:00
|
|
|
"type": "text",
|
|
|
|
|
"source": "application"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"key": "application.status",
|
2026-06-15 22:55:18 +08:00
|
|
|
"label": "申请状态",
|
2026-06-01 17:07:14 +08:00
|
|
|
"type": "enum",
|
|
|
|
|
"source": "application"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"key": "application.approved_amount",
|
2026-06-15 22:55:18 +08:00
|
|
|
"label": "申请审批金额",
|
2026-06-01 17:07:14 +08:00
|
|
|
"type": "number",
|
|
|
|
|
"source": "application"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"key": "application.expense_type",
|
2026-06-15 22:55:18 +08:00
|
|
|
"label": "申请费用类型",
|
2026-06-01 17:07:14 +08:00
|
|
|
"type": "enum",
|
|
|
|
|
"source": "application"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"key": "application.department_name",
|
2026-06-15 22:55:18 +08:00
|
|
|
"label": "申请部门",
|
2026-06-01 17:07:14 +08:00
|
|
|
"type": "text",
|
|
|
|
|
"source": "application"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"params": {
|
2026-06-06 17:19:07 +08:00
|
|
|
"template_key": "composite_rule_v1",
|
|
|
|
|
"semantic_type": "preapproval_required_amount_threshold",
|
2026-06-01 17:07:14 +08:00
|
|
|
"field_keys": [
|
|
|
|
|
"claim.amount",
|
|
|
|
|
"claim.expense_type",
|
|
|
|
|
"claim.department_name",
|
|
|
|
|
"claim.reason",
|
|
|
|
|
"item.item_reason",
|
|
|
|
|
"application.id",
|
2026-06-06 17:19:07 +08:00
|
|
|
"application.claim_no",
|
2026-06-01 17:07:14 +08:00
|
|
|
"application.status",
|
|
|
|
|
"application.approved_amount",
|
|
|
|
|
"application.expense_type",
|
2026-06-06 17:19:07 +08:00
|
|
|
"application.department_name"
|
2026-06-01 17:07:14 +08:00
|
|
|
],
|
2026-06-06 17:19:07 +08:00
|
|
|
"conditions": [
|
|
|
|
|
{
|
|
|
|
|
"id": "amount_exceeds_preapproval_threshold",
|
|
|
|
|
"operator": "numeric_compare",
|
|
|
|
|
"left_fields": [
|
|
|
|
|
"claim.amount"
|
|
|
|
|
],
|
|
|
|
|
"threshold": 500,
|
|
|
|
|
"compare": "gt"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "application_present",
|
|
|
|
|
"operator": "exists_any",
|
|
|
|
|
"fields": [
|
|
|
|
|
"application.id",
|
|
|
|
|
"application.claim_no"
|
|
|
|
|
]
|
|
|
|
|
}
|
2026-06-01 17:07:14 +08:00
|
|
|
],
|
2026-06-06 17:19:07 +08:00
|
|
|
"hit_logic": {
|
|
|
|
|
"all": [
|
|
|
|
|
"amount_exceeds_preapproval_threshold",
|
|
|
|
|
{
|
|
|
|
|
"not": "application_present"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"formula": "amount > threshold AND NOT hasApplication",
|
2026-06-15 22:55:18 +08:00
|
|
|
"condition_summary": "业务招待费超过 500 元且未关联已审批费用申请时触发。",
|
|
|
|
|
"message_template": "业务招待费超过 500 元但未找到关联费用申请,请补充前置申请或审批说明。",
|
2026-06-06 17:19:07 +08:00
|
|
|
"finance_rule_code": "expense.preapproval.policy",
|
2026-06-15 22:55:18 +08:00
|
|
|
"finance_rule_sheet": "费用申请审批规则",
|
|
|
|
|
"basic_rule_code": "expense.preapproval.policy",
|
|
|
|
|
"basic_rule_sheet": "费用申请审批规则",
|
2026-06-01 17:07:14 +08:00
|
|
|
"business_stage": [
|
|
|
|
|
"reimbursement"
|
|
|
|
|
],
|
|
|
|
|
"expense_types": [
|
2026-06-06 17:19:07 +08:00
|
|
|
"meal",
|
|
|
|
|
"entertainment"
|
2026-06-01 17:07:14 +08:00
|
|
|
],
|
2026-06-06 17:19:07 +08:00
|
|
|
"budget_required": true,
|
|
|
|
|
"threshold_amount": 500,
|
|
|
|
|
"rule_ir": {
|
|
|
|
|
"facts": [
|
|
|
|
|
{
|
|
|
|
|
"id": "A",
|
2026-06-15 22:55:18 +08:00
|
|
|
"label": "报销金额",
|
2026-06-06 17:19:07 +08:00
|
|
|
"fields": [
|
|
|
|
|
"claim.amount"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "B",
|
2026-06-15 22:55:18 +08:00
|
|
|
"label": "关联申请",
|
2026-06-06 17:19:07 +08:00
|
|
|
"fields": [
|
|
|
|
|
"application.id",
|
|
|
|
|
"application.claim_no"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"hit_logic": "A > threshold AND NOT EXISTS(B)"
|
2026-06-15 22:55:18 +08:00
|
|
|
},
|
|
|
|
|
"basic_rule_refs": [
|
|
|
|
|
{
|
|
|
|
|
"code": "expense.preapproval.policy",
|
|
|
|
|
"sheet": "费用申请审批规则",
|
|
|
|
|
"name": "公司费用申请审批规则",
|
|
|
|
|
"component": "preapproval"
|
|
|
|
|
}
|
|
|
|
|
]
|
2026-06-01 17:07:14 +08:00
|
|
|
},
|
|
|
|
|
"outcomes": {
|
|
|
|
|
"pass": {
|
|
|
|
|
"severity": "none",
|
|
|
|
|
"action": "continue"
|
|
|
|
|
},
|
|
|
|
|
"fail": {
|
|
|
|
|
"severity": "high",
|
|
|
|
|
"action": "manual_review",
|
2026-06-06 17:19:07 +08:00
|
|
|
"risk_score": 88
|
2026-06-01 17:07:14 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"metadata": {
|
2026-06-15 22:55:18 +08:00
|
|
|
"owner": "财务制度管理组",
|
2026-06-01 17:07:14 +08:00
|
|
|
"stability": "platform",
|
2026-06-15 22:55:18 +08:00
|
|
|
"source_ref": "公司费用申请审批规则",
|
2026-06-06 17:19:07 +08:00
|
|
|
"created_at": "2026-06-05T00:00:00+08:00",
|
2026-06-01 17:07:14 +08:00
|
|
|
"created_by": "system",
|
2026-06-06 17:19:07 +08:00
|
|
|
"risk_score": 88,
|
2026-06-01 17:07:14 +08:00
|
|
|
"risk_level": "high",
|
2026-06-15 22:55:18 +08:00
|
|
|
"rule_title": "业务招待高金额无前置申请",
|
2026-06-06 17:19:07 +08:00
|
|
|
"finance_rule_code": "expense.preapproval.policy",
|
2026-06-15 22:55:18 +08:00
|
|
|
"finance_rule_sheet": "费用申请审批规则",
|
|
|
|
|
"basic_rule_code": "expense.preapproval.policy",
|
|
|
|
|
"basic_rule_sheet": "费用申请审批规则",
|
2026-06-01 17:07:14 +08:00
|
|
|
"business_stage": [
|
|
|
|
|
"reimbursement"
|
|
|
|
|
],
|
|
|
|
|
"expense_types": [
|
2026-06-06 17:19:07 +08:00
|
|
|
"meal",
|
|
|
|
|
"entertainment"
|
2026-06-01 17:07:14 +08:00
|
|
|
],
|
2026-06-15 22:55:18 +08:00
|
|
|
"budget_required": true,
|
|
|
|
|
"basic_rule_refs": [
|
|
|
|
|
{
|
|
|
|
|
"code": "expense.preapproval.policy",
|
|
|
|
|
"sheet": "费用申请审批规则",
|
|
|
|
|
"name": "公司费用申请审批规则",
|
|
|
|
|
"component": "preapproval"
|
|
|
|
|
}
|
|
|
|
|
]
|
2026-06-01 17:07:14 +08:00
|
|
|
},
|
|
|
|
|
"severity": "high",
|
2026-06-06 17:19:07 +08:00
|
|
|
"risk_score": 88,
|
2026-06-15 22:55:18 +08:00
|
|
|
"risk_level": "high",
|
|
|
|
|
"basic_rule_refs": [
|
|
|
|
|
{
|
|
|
|
|
"code": "expense.preapproval.policy",
|
|
|
|
|
"sheet": "费用申请审批规则",
|
|
|
|
|
"name": "公司费用申请审批规则",
|
|
|
|
|
"component": "preapproval"
|
|
|
|
|
}
|
|
|
|
|
]
|
2026-06-01 17:07:14 +08:00
|
|
|
}
|