{ "schema_version": "2.0", "rule_code": "risk.expense.travel.generated_20260526101531166364", "name": "住宿日期与差旅行程不匹配", "description": "当差旅费业务满足“差旅住宿报销时,先确认已上传住宿发票或酒店水单;再读取报销事由、申报目的地、住宿城市、开票日期和行程城市。若住宿票据显示的城市不在本次差旅行程范围内,或住宿发生时间明显早于出差开始、晚于出差结束,且没有延期、改签、临时任务等说明,则标记为高风险,要求补充住宿原因、行程证明或重新提交票据。”时,系统会按高风险进行提示,并要求经办人或审核人补充核对依据。", "enabled": true, "requires_attachment": false, "risk_dimension": "natural_language_rule", "risk_category": "差旅费", "ontology_signal": "natural_language_risk", "evaluator": "template_rule", "template_key": "field_required_v1", "semantic_type": null, "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-26T10:15:31.166364+08:00", "created_by": "admin", "requires_attachment": false, "risk_score": 77, "risk_level": "high", "risk_level_label": "高风险", "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": false } }, "rule_title": "住宿日期与差旅行程不匹配", "expense_category": "travel", "expense_category_label": "差旅费", "natural_language": "差旅住宿报销时,先确认已上传住宿发票或酒店水单;再读取报销事由、申报目的地、住宿城市、开票日期和行程城市。若住宿票据显示的城市不在本次差旅行程范围内,或住宿发生时间明显早于出差开始、晚于出差结束,且没有延期、改签、临时任务等说明,则标记为高风险,要求补充住宿原因、行程证明或重新提交票据。", "business_explanation": "当差旅费业务满足“差旅住宿报销时,先确认已上传住宿发票或酒店水单;再读取报销事由、申报目的地、住宿城市、开票日期和行程城市。若住宿票据显示的城市不在本次差旅行程范围内,或住宿发生时间明显早于出差开始、晚于出差结束,且没有延期、改签、临时任务等说明,则标记为高风险,要求补充住宿原因、行程证明或重新提交票据。”时,系统会按高风险进行提示,并要求经办人或审核人补充核对依据。", "condition_summary": "检查住宿城市、申报地点、行程城市是否满足必填和完整性要求", "rule_ir": {}, "flow": { "start": "差旅费单据提交", "evidence": "读取住宿城市、申报地点、行程城市", "decision": "检查住宿城市、申报地点、行程城市是否满足必填和完整性要求", "pass": "未命中风险,继续业务流转", "fail": "命中高风险,提示复核" } }, "flow_diagram_svg": "\n 住宿日期与差旅行程不匹配流程说明\n 风险规则只读流程图,展示字段事实、集合交集、日期范围、例外说明和命中路径。\n \n \n \n \n \n \n \n \n \n \n RULE FLOW\n \n \n \n 业务输入\n 差旅费单据提交\n \n \n \n 字段事实\n A=住宿城市[attachment.hotel_city]\n B=申报地点[claim.location]\n C=行程城市[attachment.route_cities]\n D=报销事由[claim.reason]\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", "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": false } } }