常见问题
关于系统对接,你可能想知道
这些是客户问得最多的问题。如果没找到答案,直接联系我们。
对方系统升级了,我们这边的对接会失效吗?
有可能,但可控。脆弱点不在我们这边,而在接口契约——对方升级时改了字段、鉴权或状态码,这边的解析就会出问题。分三步处理。
第一步把变更通知写进约定:项目启动时就要求对方提供变更通知渠道与提前告知期限(一般不少于两周),升级前提供可用的测试环境。对方是平台方、配合度不可控的,就把这条写进运维条款,同时保留版本监测——返回结构、字段数量、错误码分布异常时主动告警,不等业务方先发现。
第二步做回归验证:拿到变更说明后,先在测试环境跑一遍全量回归,正常、边界、异常三类用例各跑一轮,重点看四类常见失效点——字段名或含义变了、枚举值新增(比如多出一种订单状态)、鉴权或签名规则换了、分页与限流阈值调整。
第三步在设计上留缓冲:解析层做成可配置,字段与枚举映射集中维护,对方加字段时默认忽略而不报错,改字段时改配置不改代码;未知枚举值落到「待确认」并告警,不要默默丢弃;关键接口做版本兼容,新旧解析可并行一段时间。
计划内升级做前置验证;突发升级走应急预案——先切人工通道保证业务不断,再按时修复。
WMS 和 ERP 都管库存,会不会打架?怎么分工?
两套系统都记库存,只要职责划清、库存只有一个来源,就不会打架;划不清就一定会。分工按三层看。第一层,明细归 WMS,金额归 ERP。WMS 管货位、托盘、批次、箱码等作业明细,负责上架、拣货、盘点、发货;ERP 管账面数量与金额,负责成本结转、出库记账和财务报表。WMS 管实物有什么,ERP 管账上是多少。第二层,库存来源唯一:把 WMS 作为实物库存的权威来源,出入库结果实时或按批次回传 ERP,ERP 不再手工录出入库;反向由 ERP 把销售订单、采购订单下发给 WMS 作为作业指令。两边都能改库存是冲突的根源,只留一个写入口。第三层,差异走固定通道:盘点差异在 WMS 侧生成结果,回传 ERP 后由 ERP 生成报损报溢单并出凭证;在途、锁定、待检要单独区分,别把「库里有但不可用」的数量算进可用库存。落地顺序:先定编码与仓库对照,再定回传频率与时效,然后定单据类型映射,最后做对账报表——两边库存按货品、按仓库每日比对,差异列清单。上线初期建议双轨跑两周,确认无误再停手工。
历史数据怎么补录?会影响现有账吗?
可以补,但补之前必须先备份,并先界定补录范围,否则确实会动到现有账。
通常按五步走:一是定范围,说清补哪一段期间、补哪些内容(客户、供应商、货品、期初库存、期初往来、未执行完的订单),已经结账并出过报表的期间原则上不动,只补当期与期初;二是做备份,对现有账套做一次完整备份并单独存放,确认这份备份能恢复;三是选方式,整理规范的数据用导入模板批量进(注意编码唯一、单位与日期格式、必填字段齐全),量小或需要业务判断的用单据补录;四是补完核对,先补基础资料再补单据,补完跑试算平衡,把库存台账与财务存货科目、应收应付余额与往来明细对一遍;五是确认留痕,核对无误后再记账或开账,差异逐条写明原因,不拿一笔调整数抹平。
会不会影响现有账:只补期初与未结单据、不动已结账期间的,一般不影响已出报表;如果补录涉及已结账期间,就要反结账到相应期间再补,补完重新结账并重出报表,这一步要指定专人操作并留记录。我们的做法是先在一套复制出来的测试账上完整跑一遍,确认对报表的影响后再动正式账,经客户确认才执行。
大促或月末这种峰值时段,对接方案要注意什么?
峰值暴露的不是功能缺失,而是平时看不出来的性能瓶颈。第一步估容量:取去年大促当天或月末最后三天的真实单据量,算出最高一小时的量,再按两到三倍预留,这个数字才是设计依据。第二步削峰:把同步改成「先入队、后处理」,接口收到数据立即返回确认,写入与推送交给后台队列排队,避免瞬时并发把两边系统一起压垮。第三步做幂等:同一张单据重复推送只能生效一次,用单据号加业务日期做唯一键,上游重试和人工重跑都不会产生重复数据。第四步定超时与重试:单次调用设超时上限,失败按间隔递增重试(例如一分钟后、五分钟后、三十分钟后),超过次数上限就进异常队列人工处理,不要无限重试把对方接口拖死。第五步错峰:汇总报送类任务安排到夜间或非高峰执行,并提前问清对方平台的调用频次限制,留有余地。第六步留后路:准备降级开关,峰值期间可临时关闭轨迹回传、报表推送等非关键同步,保住订单与库存这条主线,同时保留手工补录通道。上线前做一次接近峰值的压测,大促当天安排值班,事后复盘补齐短板。
中小企业做系统对接,从哪儿切入性价比最高?
选切口不要按「哪个系统先进」,按「哪个环节重复劳动最多」。
第一步先算账:单次耗时 × 每月次数 × 12 = 年重复工时。比如每天把两个系统的订单导出比对一次、每次二十分钟,一年就是一百多小时,再加上出错返工的时间,往往比想象中可观。把候选环节排一遍序,前两名通常就值得做。
第二步用三条标准挑第一个点:高频——每天发生的优先于月末一次的;规则确定——输入输出明确、判断逻辑能写清的优先于需要临时协商的;边界清晰——只涉及对方一个接口的优先于要拉三四个系统方配合的。三条齐备再动手,跑通了再上复杂的。
第三步排环节顺序:多数企业是订单与库存同步 → 出入库单据回写 → 报送报表自动化 → 财务凭证自动生成 → 发票税务相关。前三类规则标准、见效快;财务类涉及科目与合规,建议等业务侧数据准了再做。
一点提醒:别一开始就追求全自动。「机器做八成、人核两成」通常比「全自动但不敢信」划算,过度复杂的自动判断,往往把省下来的时间又赔进排查错误里。先在一个仓或一个渠道上试点,跑顺再扩范围。
方案设计阶段会产出哪些文档?
一般会出五份,前三份需要双方确认,后两份用来联调和验收。
一、需求说明书:写清这次对接要解决什么、涉及哪些单据与字段、触发时机、异常怎么处理,以及明确不做什么。范围边界写在这里,后面加需求时就有对照。
二、字段映射表:逐字段列出源系统字段、目标系统字段、类型、单位、默认值与转换规则(单位换算、币种、日期格式、编码对照都算)。这是联调阶段最容易出错的地方,也是双方确认的重点。
三、接口规范:接口地址、鉴权方式、请求与返回示例、字段约束、调用频率、失败重试与幂等规则(同一单号重复提交只生效一次)。
四、时序说明:把「下单—推送—回写—对账」的先后顺序画成时序图,标明每一步由谁触发、失败后从哪里补。
五、测试用例:正常用例、边界用例(空值、超长、特殊字符、拆单合单)和异常用例(对方超时、重复推送、单据作废)。
这五份齐了,开发阶段基本不会返工;缺哪一份,后面多半要用联调时间补回来。
系统对接和二次开发有什么区别?我该选哪个?
两者的边界可以这样理解:系统对接不改变软件本身的功能,只在两套系统之间搬运数据、串起流程,比如商城订单进进销存、发票号回写到业务单据、仓库出库回传给平台;二次开发是在原软件内部增加或修改功能,比如给单据加字段、改审批逻辑、新增一张业务单据。
选哪个按三条判断:一、需求能不能靠数据流转解决。能就优先做对接,成本低、周期短,也不影响软件后续升级。二、是不是必须在原系统里产生新的业务动作。如果只是要在别的系统里看到结果,用接口取数就够了;确实需要原系统界面里完成一个新功能,才考虑二开。三、软件厂商是否支持。多数标准化软件不开放源代码,二次开发要厂商或授权服务商来做,费用、周期和后续版本兼容性都要单独评估。
实际项目里两者常常配合使用:主流程用对接打通,个别缺失的功能用二开补齐。有一点要提前想清楚——二次开发过的模块在软件升级时可能失效,还可能不在厂商保修范围内,所以能用对接解决的,通常不建议先动二开。
远程实施和现场实施怎么安排?
一般按「前期远程调研、中期远程开发、关键节点现场」三段安排,大部分工作不需要到场。
远程能完成的:需求访谈(会议加屏幕共享,看你们实际怎么操作系统)、接口开发与联调、测试环境验证、文档评审、日常答疑。这几项占整个项目工作量的大部分,远程做效率反而高,因为不用等人到齐。
建议安排现场的节点:一是流程确认会,涉及仓管、门店、财务多个岗位的业务规则,首次建议面对面过一遍;二是上线切换首日,当天有人在场,异常能当场处置;三是操作培训,现场培训的效果通常好于线上;四是验收确认。
时间上,中小规模项目的现场安排一般累计两到五天,集中用在切换与培训这两件事上;本地客户可以适当增加现场频次,异地客户集中一次更划算。
什么条件可以全程远程:客户侧有一位能拍板的业务对接人、网络可远程接入、能提供系统账号与测试环境、上线当天有人配合核对数据。四条都能满足,全程远程完全可行,我们已经有不少项目是这样交付的。
费用上,远程交付不计差旅;现场产生的交通与住宿一般按实际结算,立项阶段会先说清楚。
数据已经传给对方了,我们这边还能改吗?改了对方会跟着变吗?
能不能跟着变,取决于对接时用的是哪种推送模式,这一点必须在方案阶段就写进接口约定,否则上线后会反复扯皮。
常见三种模式。一是落地即独立:数据传过去对方自行落地,此后双方各自独立,本地再改对方不会跟着变。二是增量更新:本地修改后下一次同步把变化推过去,要求对方接口支持按主键更新。三是作废重推:先发作废旧数据再发新数据,适合对方接口不支持更新的情况。
落地时按四步定规则。第一步约定主键,用订单号这类业务唯一编号,保证数据改了还能被识别更新,不要用对方自动生成的流水号。第二步划定可修改的时间窗:单据在对方那边已被下游引用(已开票、已收款、已报送监管)就锁住不能再改,本地要改就作废重开。第三步约定推送方式,多数用变更单模式——本地改动后生成带变更标记的记录推过去,对方落一张修改日志,不要在对端毫无察觉时直接覆盖。第四步约定反向:对方改了要不要回传,财务与库存类必须回传,对外报送类可以不回。
上线前拿几条废弃单据跑一遍完整流程,首月每周抽几条改过的单据双向核对一次即可。
字段映射做错了会有什么后果?怎么避免?
字段映射错了最麻烦的地方是它不报错。系统照常运行、数据照常传输,只是数字从第一天起就是错的,等到月末对账或者被品牌方退回才发现,往往已经攒了几个星期的量。常见三类后果:一是张冠李戴,A 客户的销量记到 B 客户名下,返利、账期和信用额度跟着错;二是口径错位,把含税金额填进不含税字段,或者把箱数当成数量报出去,对方系统若不做校验就全盘接收;三是单位与换算错,采购单位是箱、销售单位是瓶,换算率写反,库存当场对不上。
避免靠四道关。第一道是映射表评审:由双方业务人员各确认一次,不能只由开发对接,重点盯金额、数量、单位、日期、编码这五类高危字段。第二道是样例验证:拿十到二十条真实历史单据跑一遍,把接口输出与人工算出的结果逐字段比对,差异为零再往下走。第三道是上线首月双轨:接口数据与原有人工作业并行,每周抽几条核对,连续四周无差异再停手工。第四道是异常告警:给金额、数量设置合理区间,超出区间的记录不直接落地,转人工确认。
映射表定稿后要纳入变更管理,任何字段调整都走书面确认并回归验证。