这是本文档旧的修订版!
中材科技共享差旅费报销流程交接文档
适用业务场景及触发条件
适用业务场景
- 通过共享出差申请流程发起的出差业务
- 出差类型包括:公务城市间出差、公司间出差、售后/现场服务、会议(含餐食)、会议(不含餐食)、因公出境、市内出差
触发条件
- 有前置归档完成的出差申请流程/出差申请变更流程
- 最终版出差行程预计结束日期+5天会自动触发差旅费报销流程
差旅费报销流程不支持人工手动发起
对应报销类型
序号 | 人员类型 | 报销业务类型描述 | 操作方法 | 是否可代办 |
1 | 公司领导 | 全部费用由公司通过商旅平台结算报销 | 在申请人节点通过修改【计算差旅津贴天数】来确认实际未接受招待可领取津贴天数 | 是 通过EB表【领导/高管工号】维护报销代办人 |
2 | 公司领导 | 部分费用通过商旅仍有个人垫付部分需要贴票报销 | 通过企业微信工作台【我的发票】先进行发票采集,在报销流程申请人节点表单【额外报销发票明细表】下方票据选择点选对应发票 | 是 通过EB表【领导/高管工号】维护报销代办人 |
3 | 公司领导 | 部分费用通过商旅但确认不需要补充额外发票报销 | 在申请人节点确认不完整行程类别无【重复消费】报错,酒店校验无【住宿天数增加】报错,可直接提交 | 是 通过EB表【领导/高管工号】维护报销代办人 |
4 | 其他员工 | 全部费用由公司通过商旅平台结算报销 | 无需操作,系统自动计算差旅津贴发放至员工个人账户 | 是 但需用户个人设置流程代理 |
5 | 其他员工 | 部分费用通过商旅仍有个人垫付部分需要贴票报销 | 通过企业微信工作台【我的发票】先进行发票采集,在报销流程申请人节点表单【额外报销发票明细表】下方票据选择点选对应发票 | 是 但需用户个人设置流程代理,且发票由代理人采集 |
6 | 其他员工 | 部分费用通过商旅但确认不需要补充额外发票报销 | 在申请人节点确认不完整行程类别无【重复消费】报错,酒店校验无【住宿天数增加】报错,可直接提交 | 是 但需用户个人设置流程代理 |
完整行程与不完整行程判断逻辑
底层逻辑:商旅控制申请单行程预订次数为1次,即便变更了日期,只要出发地目的地不变也只能预订1次
第1步:取订单下全部的消费明细——不需用户操作,流程自动触发后自动进行
第2步:进行申请完整/不完整判断
如果最终出差申请存在行程明细有【不通过商旅】——主表【检验提示信息】=不完整行程,【不完整行程类别】要体现【出差申请判定不完整行程】 如果最终出差申请存在行程明细无【不通过商旅】——继续后续校验
第3步:判断总行程两头日期
总行程起始日期=差旅台账预计总行程起始日期对应的所有单程出发地、目的地全部找到消费记录 如果可以全部找到且差旅台账预计总行程起始日期对应全部明细行中出行方式无【长途客运汽车】——赋值最早的出行消费日期且不能编辑 如果无法全部找到或差旅台账预计总行程起始日期对应全部明细行中出行方式有【长途客运汽车】——赋值为空可以编辑,可编辑的范围是差旅台账预计总行程起始日期正负一天,同时主表【不完整行程类别】要体现【用户编辑总行程起始日期】
总行程终止日期=差旅台账预计总行程终止日期对应的所有单程出发地、目的地全部找到消费记录 如果可以全部找到且差旅台账预计总行程起始日期对应全部明细行中出行方式无【长途客运汽车】——赋值最晚的出行消费日期且不能编辑 如果无法全部找到或差旅台账预计总行程起始日期对应全部明细行中出行方式有【长途客运汽车】——赋值为空可以编辑,可编辑的范围是差旅台账预计总行程终止日期正负一天,同时主表【不完整行程类别】要体现【用户编辑总行程终止日期】
第4步:进行出行消费完整/不完整判断(不含用车)
最终申请明细去找消费明细——逐行判断相同出发地&目的地是否有消费记录(状态判定为有效) 匹配成功——对应明细行【校验结果】=成功 匹配失败——对应明细行【校验结果】=失败,【出错说明】=商旅无出行消费记录,失败个数>0主表【不完整行程类别】体现【商旅无出行消费记录】
消费明细去找最终申请明细——出行有效消费记录个数减上面匹配成功明细行个数=A A=0——无操作 A>0——主表【不完整行程类别】要体现【未申请出行消费】
第5步:进行住宿完整/不完整判断
第2步得出的总行程起止日期计算出允许住宿天数X,消费明细有效住宿总天数Y X=Y——【住宿校验结果】=成功 X>Y——【住宿校验结果】=失败,【住宿出错说明】=【住宿天数缺少】,主表【不完整行程类别】体现【住宿校验失败】 X<Y——【住宿校验结果】=失败,【住宿出错说明】=【住宿天数增多】,主表【不完整行程类别】体现【住宿校验失败】 如果首尾日期无法识别,【住宿校验结果】=失败,【住宿出错说明】=【住宿无法校验】,主表【不完整行程类别】体现【住宿校验失败】
第6步:进行差旅津贴的计算
【领取补助天数】=第3步计算出的终止日期—起始日期+1——【可编辑,商旅消费明细用车天数≤编辑为≤计算的领取补助天数,整数】 伙食部分:EB表伙食补助标准×【领取补助天数】 交通部分:EB表交通补助标准×(【领取补助天数】—明细表用车消费天数) 差旅津贴=伙食部分+交通部分
刷新按键【查验行程是否完整】
用户每次点击即重新拉取消费明细后,重跑第4步—第6步 重跑过程要有弹窗提示用户等待,拖延用户操作进度即可无需弹窗点击确认 控制点击频次,在系统可接受的范围内,同时确保商旅接口不会判定为恶意攻击 刷新后重跑的校验结果要清空原4-6步主表赋值的结果后再填充???赋值是下拉框还是文本?
第7步:主表赋值判断完整/不完整
【校验提示信息】=完整行程:出差申请存在行程明细无【不通过商旅】& 明细表【校验结果】全部为成功 & 第4步A=0 &【住宿校验结果】=成功////【不完整行程类别】为空 【校验提示信息】=不完整行程:上面完整行程的补集////【不完整行程类别】不为空