{ "schema_version": "2.0", "rule_code": "risk.expense.travel.generated_20260526071633392020", "name": "222", "description": "当差旅费业务满足“差旅报销时,先检查是否已上传交通票据、住宿票据或其他能识别城市的附件;再读取申报目的地、明细发生地点、交通票行程城市和住宿发票城市。若交通票或住宿票据中的城市均无法与申报目的地、明细地点形成一致关系,且报销事由中没有说明绕行、跨城办事或临时改签原因,则标记为高风险,要求补充行程说明或退回修改。”时,系统会按中风险进行提示,并要求经办人或审核人补充核对依据。", "enabled": true, "requires_attachment": false, "risk_dimension": "natural_language_rule", "risk_category": "差旅费", "ontology_signal": "natural_language_risk", "evaluator": "template_rule", "template_key": "field_compare_v1", "semantic_type": "travel_route_city_consistency", "applies_to": { "domains": [ "expense" ], "expense_categories": [ "travel" ] }, "inputs": { "fields": [ { "key": "attachment.route_cities", "label": "行程城市", "type": "list", "source": "attachment" }, { "key": "attachment.hotel_city", "label": "住宿城市", "type": "text", "source": "attachment" }, { "key": "claim.location", "label": "申报地点", "type": "text", "source": "claim" }, { "key": "item.item_location", "label": "明细地点", "type": "text", "source": "item" }, { "key": "employee.location", "label": "员工常驻地", "type": "text", "source": "employee" }, { "key": "claim.reason", "label": "报销事由", "type": "text", "source": "claim" }, { "key": "item.item_reason", "label": "明细事由", "type": "text", "source": "item" } ] }, "params": { "template_key": "field_compare_v1", "field_keys": [ "attachment.route_cities", "attachment.hotel_city", "claim.location", "item.item_location", "employee.location", "claim.reason", "item.item_reason" ], "condition_summary": "判断公式:A=交通票行程城市∪住宿发票城市,B=申报目的地∪明细发生地点,C=员工常驻地/合理出发地。若A或B为空则要求补充识别;若A与B无交集且无合理说明,或票据路线中存在不属于B∪C的额外城市,则命中目的地不一致/中途周转异常风险。", "natural_language": "差旅报销时,先检查是否已上传交通票据、住宿票据或其他能识别城市的附件;再读取申报目的地、明细发生地点、交通票行程城市和住宿发票城市。若交通票或住宿票据中的城市均无法与申报目的地、明细地点形成一致关系,且报销事由中没有说明绕行、跨城办事或临时改签原因,则标记为高风险,要求补充行程说明或退回修改。", "semantic_type": "travel_route_city_consistency", "attachment_city_fields": [ "attachment.route_cities", "attachment.hotel_city" ], "reference_city_fields": [ "claim.location", "item.item_location" ], "home_city_fields": [ "employee.location" ], "exception_fields": [ "claim.reason", "item.item_reason" ], "exception_keywords": [ "绕行", "跨城办事", "跨城", "临时改签", "改签", "变更" ], "keywords": [], "route_anomaly_policy": "flag_unexpected_intermediate_cities", "exception_handling": "exception_text_is_evidence_not_auto_pass_for_route_anomaly", "formula": "A=UNION(attachment.route_cities, attachment.hotel_city); B=UNION(claim.location, item.item_location); C=UNION(employee.location); HIT WHEN (A∩B=∅ AND NOT CONTAINS_ANY(exception_fields, exception_keywords)) OR EXISTS(city IN A WHERE city NOT IN B∪C)", "conditions": [ { "left_group": [ "attachment.route_cities", "attachment.hotel_city" ], "operator": "route_city_consistency", "right_group": [ "claim.location", "item.item_location" ], "home_group": [ "employee.location" ], "exception_fields": [ "claim.reason", "item.item_reason" ], "exception_keywords": [ "绕行", "跨城办事", "跨城", "临时改签", "改签", "变更" ] } ] }, "outcomes": { "pass": { "severity": "none", "action": "continue" }, "fail": { "severity": "medium", "action": "manual_review" } }, "metadata": { "owner": "admin", "stability": "generated_draft", "source_ref": "自然语言风险规则", "created_at": "2026-05-26T07:16:33.392020+08:00", "created_by": "admin", "requires_attachment": false, "rule_title": "222", "expense_category": "travel", "expense_category_label": "差旅费", "natural_language": "差旅报销时,先检查是否已上传交通票据、住宿票据或其他能识别城市的附件;再读取申报目的地、明细发生地点、交通票行程城市和住宿发票城市。若交通票或住宿票据中的城市均无法与申报目的地、明细地点形成一致关系,且报销事由中没有说明绕行、跨城办事或临时改签原因,则标记为高风险,要求补充行程说明或退回修改。", "business_explanation": "当差旅费业务满足“差旅报销时,先检查是否已上传交通票据、住宿票据或其他能识别城市的附件;再读取申报目的地、明细发生地点、交通票行程城市和住宿发票城市。若交通票或住宿票据中的城市均无法与申报目的地、明细地点形成一致关系,且报销事由中没有说明绕行、跨城办事或临时改签原因,则标记为高风险,要求补充行程说明或退回修改。”时,系统会按中风险进行提示,并要求经办人或审核人补充核对依据。", "condition_summary": "判断公式:A=交通票行程城市∪住宿发票城市,B=申报目的地∪明细发生地点,C=员工常驻地/合理出发地。若A或B为空则要求补充识别;若A与B无交集且无合理说明,或票据路线中存在不属于B∪C的额外城市,则命中目的地不一致/中途周转异常风险。", "flow": { "start": "差旅报销单据提交,并上传交通票据、住宿票据或其他可识别城市的附件", "evidence": "读取员工常驻地、申报目的地、明细发生地点、交通票行程城市、住宿发票城市和报销事由", "decision": "附件城市是否覆盖申报行程,且票据路线是否出现申报目的地和常驻地之外的中转城市", "pass": "票据城市覆盖申报行程,且未出现申报目的地和常驻地之外的额外城市", "fail": "票据路线存在目的地不一致或额外中转城市,命中中风险并要求补充说明或退回修改" } }, "flow_diagram_svg": "\n 222流程说明\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 判断公式:A=交通票行程城市∪住宿发票城市…\n \n \n \n \n \n \n \n" }