{ "schema_version": "2.0", "rule_code": "risk.expense.travel.generated_20260525155459576686", "name": "住宿日期与差旅行程不匹配", "description": "面向业务用户的说明", "enabled": true, "requires_attachment": true, "risk_dimension": "natural_language_rule", "risk_category": "差旅费", "ontology_signal": "natural_language_risk", "evaluator": "template_rule", "template_key": "field_required_v1", "applies_to": { "domains": [ "expense" ], "expense_categories": [ "travel" ] }, "inputs": { "fields": [ { "key": "attachment.hotel_city", "label": "住宿城市", "type": "text", "source": "attachment" }, { "key": "claim.location", "label": "申报地点", "type": "text", "source": "claim" }, { "key": "attachment.route_cities", "label": "行程城市", "type": "list", "source": "attachment" }, { "key": "claim.reason", "label": "报销事由", "type": "text", "source": "claim" } ] }, "params": { "template_key": "field_required_v1", "field_keys": [ "attachment.hotel_city", "claim.location", "attachment.route_cities", "claim.reason" ], "condition_summary": "检查住宿城市、申报地点、行程城市是否满足必填和完整性要求", "natural_language": "差旅住宿报销时,先确认已上传住宿发票或酒店水单;再读取报销事由、申报目的地、住宿城市、开票日期和行程城市。若住宿票据显示的城市不在本次差旅行程范围内,或住宿发生时间明显早于出差开始、晚于出差结束,且没有延期、改签、临时任务等说明,则标记为高风险,要求补充住宿原因、行程证明或重新提交票据。", "required_fields": [ "attachment.hotel_city", "claim.location", "attachment.route_cities", "claim.reason" ] }, "outcomes": { "pass": { "severity": "none", "action": "continue" }, "fail": { "severity": "high", "action": "manual_review", "risk_score": 77 } }, "metadata": { "owner": "admin", "stability": "generated_draft", "source_ref": "自然语言风险规则", "created_at": "2026-05-25T15:54:59.576686+00:00", "created_by": "admin", "requires_attachment": true, "rule_title": "住宿日期与差旅行程不匹配", "expense_category": "travel", "expense_category_label": "差旅费", "natural_language": "差旅住宿报销时,先确认已上传住宿发票或酒店水单;再读取报销事由、申报目的地、住宿城市、开票日期和行程城市。若住宿票据显示的城市不在本次差旅行程范围内,或住宿发生时间明显早于出差开始、晚于出差结束,且没有延期、改签、临时任务等说明,则标记为高风险,要求补充住宿原因、行程证明或重新提交票据。", "business_explanation": "面向业务用户的说明", "condition_summary": "检查住宿城市、申报地点、行程城市是否满足必填和完整性要求", "flow": { "start": "提交业务单据", "evidence": "读取住宿城市、申报地点、行程城市", "decision": "检查住宿城市、申报地点、行程城市是否满足必填和完整性要求", "pass": "继续流转", "fail": "提示风险" }, "risk_level": "high", "risk_level_label": "高风险", "risk_level_updated_at": "2026-05-25T16:05:15.691638+00:00", "risk_score": 77, "risk_score_model": "risk_score_v3", "risk_score_detail": { "score": 77, "level": "high", "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": 78, "certainty": 86, "evidence": 82, "exception": 35, "action": 78, "sensitivity": 88 }, "calibration": { "raw_score": 77, "rules": [] }, "ai_evidence": {}, "basis": { "template_key": "field_required_v1", "field_count": 4, "condition_count": 0, "expense_category": "travel", "expense_category_label": "差旅费", "requires_attachment": true } } }, "flow_diagram_svg": "\n 住宿日期与差旅行程不匹配流程说明\n 风险规则只读流程图,展示从业务单据提交到风险复核的判断路径。\n \n \n \n \n \n \n \n RULE FLOW\n \n \n \n 业务输入\n 提交业务单据\n \n \n \n \n 字段取数\n 读取字段证据\n \n \n \n 判断依据\n 检查住宿城市、申\n 报地点、行程城…\n \n \n \n \n 继续流转\n 继续流转\n \n \n \n \n 进入复核\n 提示风险\n \n \n \n BASIS\n 检查住宿城市、申报地点、行程城市是否满足必…\n \n \n \n \n \n \n \n", "severity": "high", "risk_score": 77, "risk_level": "high", "risk_level_label": "高风险", "risk_score_detail": { "score": 77, "level": "high", "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": 78, "certainty": 86, "evidence": 82, "exception": 35, "action": 78, "sensitivity": 88 }, "calibration": { "raw_score": 77, "rules": [] }, "ai_evidence": {}, "basis": { "template_key": "field_required_v1", "field_count": 4, "condition_count": 0, "expense_category": "travel", "expense_category_label": "差旅费", "requires_attachment": true } } }