{ "schema_version": "2.0", "rule_code": "risk.application.large_expense_without_preapproval", "name": "?????????", "description": "???????? 2000 ?????????????", "enabled": true, "requires_attachment": false, "risk_dimension": "expense_control_demo", "risk_category": "????", "ontology_signal": "application_required", "evaluator": "template_rule", "template_key": "composite_rule_v1", "finance_rule_code": "expense.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": "???ID", "type": "text", "source": "application" }, { "key": "application.claim_no", "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": "composite_rule_v1", "semantic_type": "preapproval_required_amount_threshold", "field_keys": [ "claim.amount", "claim.expense_type", "claim.department_name", "claim.reason", "item.item_reason", "application.id", "application.claim_no", "application.status", "application.approved_amount", "application.expense_type", "application.department_name" ], "conditions": [ { "id": "amount_exceeds_preapproval_threshold", "operator": "numeric_compare", "left_fields": [ "claim.amount" ], "threshold": 2000, "compare": "gt" }, { "id": "application_present", "operator": "exists_any", "fields": [ "application.id", "application.claim_no" ] }, { "id": "not_specific_preapproval_type", "operator": "not_contains_any", "fields": [ "claim.expense_type" ], "keywords": [ "meal", "entertainment", "office", "????", "??", "????", "??" ] } ], "hit_logic": { "all": [ "amount_exceeds_preapproval_threshold", { "not": "application_present" }, "not_specific_preapproval_type" ] }, "formula": "amount > threshold AND NOT hasApplication", "condition_summary": "?????????????????? 2000 ????????????????", "message_template": "?????? 2000 ?????????????????????????", "finance_rule_code": "expense.preapproval.policy", "finance_rule_sheet": "????????", "business_stage": [ "reimbursement" ], "expense_types": [ "all" ], "budget_required": true, "threshold_amount": 2000, "rule_ir": { "facts": [ { "id": "A", "label": "????", "fields": [ "claim.amount" ] }, { "id": "B", "label": "???", "fields": [ "application.id", "application.claim_no" ] } ], "hit_logic": "A > threshold AND NOT EXISTS(B)" } }, "outcomes": { "pass": { "severity": "none", "action": "continue" }, "fail": { "severity": "high", "action": "manual_review", "risk_score": 86 } }, "metadata": { "owner": "??????", "stability": "platform", "source_ref": "??????????", "created_at": "2026-06-05T00:00:00+08:00", "created_by": "system", "risk_score": 86, "risk_level": "high", "rule_title": "?????????", "finance_rule_code": "expense.preapproval.policy", "finance_rule_sheet": "????????", "business_stage": [ "reimbursement" ], "expense_types": [ "all" ], "budget_required": true }, "severity": "high", "risk_score": 86, "risk_level": "high" }