携程实施指引
1 星瀚与携程集成的服务商配置
路径:
【应用-员工服务员-费用查询-商旅设置-服务商设置】
配置字段的说明:
字段名称 | 字段内容说明 |
编码 | 固定:XIECHENG,不可修改 |
服务商 | 固定:携程,不可修改 |
租户ID | 苍穹为客户分配的租户ID,自动获取,不可修改 |
账套ID | 数据库的账套ID,自动获取不可修改 |
服务商关联 | 携程对应的供应商基础数据,用于商旅结算单关联生成付款单时获取付款账号等数据 |
接入appkey | 携程分配给客户公司的接入账号,由携程提供 |
接入app秘钥 | 携程分配给客户公司的接入密码,由携程提供 |
公司id | 接入服务商客户公司ID,由携程提供 |
自定义字段1 | 由携程提供,生成签名的秘钥,用于双方系统做安全认证使用; |
自定义字段2 | 由携程提供,客户与携程合同签订时,约定的结算周期的起始日,不设置默认为每月1号; |
最后差量同步订单时间戳 | 默认是1900-00-00,携程的订单没有根据同步订单时间戳来取数 |
最后差量同步组织时间戳 | 默认1900-000-00,没有同步组织到携程,因此该字段无用 |
最后差量同步人员时间戳 | 默认1900-00-00,人员同步时会用到该时间戳 |
截图
2、 星瀚与携程功能对接的模式
功能点 | 对接模式 |
人员 | 星瀚调用携程接口,将人员同步至携程 |
出差申请单 | 星瀚调用携程接口,审核通过时,将单据同步至携程 |
Pc单点 | 从出差列表点击预订,免密登录携程PC端 |
移动单点 | 从移动端免密登录携程(H5) |
订单获取 | 首先是通过携程通过订单状态推送接口通知星瀚,然后根据接收的订单号反过来拉取携程的订单数据 |
结算单获取 | 星瀚通过定时任务每月自动拉取携程的结算数据 |
3、 携程推送地址的配置
联系商旅服务商实施人员,知会他们配置订单状态同步的接口地址。
以苍穹分支环境为例,苍穹地址为https://ierp.kingdee.com:2024/devbiz / ,账套 ID12365489756423
那么配置的地址如下:
https://ierp.kingdee.com:2024/devbiz / api/ tripsi /syncOrder.do ? portal=12365489756423 & service= XIECHENG
4、 防火墙配置
1、 对于不同的星瀚环境,如果环境开启了防火墙,需要把对应的服务商的ip加入到防火墙的白名单中,允许服务商可以访问苍穹服务
2、 需要将服务商将苍穹的ip地址加入到白名单中
5、 网络检查
在配置完成之后,需要用wget命令检查携程地址的网络是否有问题。 具体的方法见云社区文档:https://vip.kingdee.com/questions/97264334077562624/answers/97264334195003136
6、 主子账户配置
1、corpID、主账户、子账户、关联组织说明
字段名称 | 字段内容说明 |
CorpID | 集团维度 |
主账户 | 分公司维度,座位携程的结算主体维度,可映射多个组织,携程结算人员和客户结算负责人对接 |
关联组织 | 关联组织为星瀚的行政组织,范围为组织形态为法人机构和法人分支机构的数据。 |
子账户 | 区分员工使用流程,每个主账户下的子账户必须不同 |
生成子账户时间 | 对应的数据行生成子账户的时间 |
举例:如下图一个集团的层级结构,从集团的层级对应一个CorpID,就是携程为租户提供的唯一性标识,也就是服务商设置中的systemID。集团层级下有子公司A、子公司B、子公司C,可以多个子公司对应一个主账户,也可以一个子公司对应一个主账户,用于客户与携程进行结算和开票。子账户是携程用于员工使用流程控制的账户,比如有些员工是必须有出差申请才能预订,有些员工可以无申请预订等,目前只支持必须要有出差申请才能预订。
2、【应用-员工服务云-费用查询-商旅设置-服务商设置】点击预置的携程的数据,点击主/子账户设置
(2)主子账户设置的界面如下:
(3) 子账户生成逻辑:
比如星瀚的组织结构如下:
携程与客户方定的主账户与组织、子账户的关系如下:
序号 | 主账户 | 关联组织 | 子账户 |
1 | 主账户0001 | 集团 | 审批预订01 |
2 | 主账户0001 | 子公司A | 审批预订02 |
3 | 主账户0002 | 子公司B | 审批预订03 |
在生成时,系统会按照第1条设置将集团及以下所有节点上的人员的子账户设置为审批预订01,然后再按照第2条设置将子公司A及以下所有节点上的人员的子账户设置为审批预订02,然后再按照第3条设置将子公司C及以下所有节点上的人员的子账户设置为审批预订03. 在逻辑下子公司A的一个人,在第1条设置下的子账户会被设置为审批预订01,在第2条设置执行,会被设置为审批预订02,因此在进行主子账户设置时,请一定要保证层次结构在上组织其顺序也在前,可以通过分录左上角的上移、下移调整顺序
(4) 子账户修改:
在生成人员子账户后,如果需要对单独的几个进行修改,可通过职员名称链接打开,修改子账户,保存
备注
1、由携程实施与客户确定主账户、关联组织(行政组织)、子账户的关联关系。
2、与对应客户的携程实施沟通,确定关联关系表,维护进主/子账户设置表中
3、点击生成携程子账户,即可查询生成的携程子账户与人员绑定是否正确
7、 携程人员同步(人员同步前需先设置主子账户):
1、【应用-员工服务云-费用查询-商旅设置-服务商设置】点击人员同步
2、同步的字段包括:员工工号、姓名、手机号、邮箱、子账户、报销级别、部门名称,是否在职(Valid)。
{
"AuthenticationInfoList":[
{
"Authentication":{
"Dept1":"市场部",
"Email":"",
"Valid":"A",
"SubAccountName":"nonxxx_提前审批_提前审批",
"EmployeeID":"2016100030",
"RankName":"其他员工",
"MobilePhone":"18320903365",
"Name":"张春"
},
"Sequence":202108202300143370
}
],
"Ticket":"611fc37d1c47b0e415d6a9ae9",
"Language":null,
"CorporationID":"xxxxx",
"Appkey":"xxxxxx"
}
3、逻辑:从人员变更(t_sec_userchange)表里面取数
(1)先从员工差量表里面获取数据
(2)判断人员的修改时间是否大于最后人员同步时间,如果大于则同步,小于则不同于
(3)如果变动类型ftype=1为新增,ftype=2为修改,type=3为删除,ftype=4为禁用,fype=5为启用,当type=1、2、5,将人员同步接口中的valid设置为A,ftype =3、4,valid设置为I离职。
(4)携程方人事信息批量更新接如下:
生产环境服务地址:https://ct.ctrip.com/corpservice/CorpCustService/SaveCorpCustInfoList
4、 如果只想同步一两个人员进行测试怎么处理?
由于最后差量同步人员时间超为1900-01-01,因此从服务商设置,第一次点击人员同步时,会是全员同步,如果只想同步一两个人员进行测试,可扩展时“最后差量同步人员时间戳”,使其能进行编辑,然后修改时间为当前时间,再到“人员”功能里面保存下人员数据,点击同步,即可只同步一个人员。
5、同步的数据只要有一条失败,就不更新同步时间(但其数据会同步过去),导致后续的新增、修改判断逻辑出错,调用接口会报错,这样同步时间会一直不更新。
比如:(1)在系统记录的同步时间之后产生的数据,有可能已经同步给差旅壹号,此时再调用新增接口,会报错,但是数据本身也同步过去了,也不会有问题。
对于修改的数据,会没有问题,只是会导致数据累积会越来越多,因为人员同步时间一直没有更新
8、 出差申请单同步
1、携程:出差申请单审核通过之后, 将出差申请单同步至携程(Status 默认为1 有效),反审核、废弃、行程变更、审核不通过、关闭调用接口 将出差申请单的status 设置为0 无效 。单据变更审核通过后再同步一次数据(Status默认为1)。
2、 携程提前审批接口为:https://ct.ctrip.com/switchapi/approval.svc/rest/setapproval
3、 同步逻辑以及映射:
(1) 出差申请单审批通过后,会同时产生携程审批单的机票信息(一条国内,一条国际)、酒店信息(一条国内、一条国际)、火车信息、用车信息。
(2) 机票信息字段映射:(出差申请单审批通过,会同时产生一条国内机票和国际机票审批信息):
(3) 酒店信息字段映射(出差申请单审批通过,会同时产生一条国内酒店和国际酒店审批信息):
(4) 火车信息字段映射:
(5) 用车信息字段映射:
9、 行程管控
1、 【费用查询-商旅设置-行程管控设置】可设置行程管控
2、 行程管控可设置的范围:
(1) 目前可支持国内机票的日期管控、城市管控、单程/往返管控、折扣、出行人管控
(2) 酒店支持日期、城市、最大星级、最小星级、每日房间数量、出行人管控
(3) 用车支持日期、城市、出行人管控
3、 为什么携程不支持按照行程管控,只支持按照整单控制:
携程的出差申请单的结构决定了只能按照整单控制
10、 携程单点登录
1、PC端单点登录,【应用-员工服务云-人人差旅-我的单据-出差申请单】
2、移动端单点登录
3、单点携带字段
(1) Pc端点击机票预订会携带出差申请单号、第一段行程的出发地和目的地、第一段行程的开始日期
(2) PC端酒店预订会携带出差申请单号、目的地和第一段行程的开始日期
(3) PC端火车预订会携带出差申请单号、第一段行程的出发地和目的地,第一段行程的开始日期
(4) 移动端单点因为携程不支持字段携带,因此跳转过去后,不会有默认的信息。
11、 携程订单获取
1、携程机票订单获取:
(1) 首先是携程通过订单状态推送接口通知星瀚,星瀚根据接收的订单号反过来查询携程的订单信息存入至数据库中,将其金额设置为888888888.88,不在列表中进行展示。在t+2后,再通过定时任务获取携程的结算接口信息并将金额覆盖更新已存在的订单,并在列表中进行展示。
(2) 该定时任务默认获取具体当前日期2天前到当前时间前一天的所有结算数据,如果想获取n天以前的,可以开发平台-搜索商旅集成设置进行设置。
2、携程酒店、用车订单获取:
(1) 首先是携程通过订单状态推送接口通知星瀚,星瀚根据接收的订单号反过来查询携程的订单信息存入至数据库中,在预订后,可及时在星瀚酒店订单和用车订单中查看。
3、携程火车订单获取:
(1) 火车订单是星瀚通过定时任务通过携程的结算接口,直接获取携程的结算信息,并将插入到订单列表中。由于携程的结算数据需要t+2才产生,因此员工预订后,不能马上在星瀚查到数据,必须2天后才能才星瀚查询到数据
4、 携程订单接收拆分:
(1) 携程的机票、酒店在接收时会对其进行拆分,比如一个机票预订订单(包含了几个乘机人),星瀚会按照人进行拆分,一个酒店订单预定了多人,也一样会进行拆分
案例分析:
**公司获取订单一直获取不到:
最后经过分析,原因为携程的订单,部分字段的数据没有,而系统在接收数据时,校验了必填项,因此需要在开发平台-商旅集成设置中,将是否必填项校验设置为否。
12、 结算单获取
1、 通过定时任务每月获取结算数据
在定时任务执行时,通过结算接口获取当前时间上一个月的结算数据。
13、 出差申请单关联生成差旅费报销单
1、 出差申请单关联生成差旅费报销单时,会校验订单的使用状态,只有出差申请单对应的订单都是已经实际完成了,才能进行报销。如果不符合条件不能进行报销。
2、 出差申请单关联生成差旅费报销单已使用的判断标准:
服务类型 | 供应商 | 控制逻辑 |
机票 | 中兴、差旅壹号、携程 | 订单的 “使用状态”(ticketstatus)为“已使用、已退票、已改签” 并且订单金额!=8888888.88 |
酒店 | 中兴、差旅壹号、携程 | 订单状态(orderstatus)为“已离店”、已退订、已取消 |
火车 | 中兴、差旅壹号、携程 | 订单状态(orderstatus):已出票、已改签、已退票 |
用车 | 中兴、差旅壹号、携程、滴滴 | (orderstatus)已成交、已取消、已退款、部分退款 |
3、 出差申请单关联生成差旅费报销单,差旅明细展示订单的金额取值逻辑
差旅项目 | 报销金额 | 机场建设费 | 税率 | 税额 | 是否可抵扣 | 可抵扣税额 | 不含税金额 | 核定金额 | 座位等级 |
差旅项目基础数据设置映射 | 订单金额 | 机场建设费 | 无 | 根据开票设置计算出票价和服务费的税额 | 开票设置中票价和服务费只要有一个为可抵扣就能抵扣 | 根据开票设置计算出票价和服务费的税额 | 报销金额-税额 | 订单总金额 |
机票的税额:(票价+燃油附加)*开票设置(行程单)可抵扣税率/(1+可抵扣税率)+服务费*开票设置(国内机票-服务费)可抵扣税率/(1+可抵扣税率)。
酒店的税额:(订单总额-服务费)*开票设置(国内酒店-票价)可抵扣税率/(1+可抵扣税率)+服务费*开票设置(国内酒店-服务费)可抵扣税率/(1+可抵扣税率)。
用车车的税额:(订单总额-服务费)*开票设置(国内用车-票价)可抵扣税率/(1+可抵扣税率)+服务费*开票设置(国内用车-服务费)可抵扣税率/(1+可抵扣税率)。
火车票:
当火车票订单状态为“已出票”、“已改签”、“已退票”时,火车票月结订单生成费用分录需要计算明细的可抵扣税额、税额。
a、 火车票税额/可抵扣税额=票面价格*开票设置(国内火车-票价)可抵扣税率携程实施指引
本文2024-09-22 22:43:00发表“云星瀚知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-xinghan-128402.html