你公司是不是也这样:总部想知道昨天卖了多少、库里还剩多少,得挨个给分公司打电话要表,等表收齐三五天过去了,看到的还是上周的数?
分支机构多了,各开各的单是难免的。真正卡人的不是开单,是往上报的那一层:分公司每天导出一次,发到总部邮箱或群里,总部再一张张导入。这个链条里有太多地方会出问题——导出的字段各家不一样,货品编号各叫各的;网络不好的那两天就干脆不传了;同一张单因为重复导出被传了两次,库存和销量直接虚了一块。
等总部发现数据不对,往往已经过了好几天,再回头查是哪张单、哪天传的,基本查不动。
这种事我们处理过不少。做法不是要求分公司每天准时发报表,而是把汇总这件事交给规则去跑。
你公司是不是也这样
- 分公司每天的开单数据存在本地,总部要等导出再导入,看到的数据普遍晚三五天
- 各家导出的字段、计量单位、货品编号不统一,总部合并前还要手工整理一遍
- 同一张单因为重复导出被传了两次,销量和库存虚增,发现后要人工冲掉
- 分公司断网期间照常开单,恢复后补传容易漏,漏了总部这边也不知道
- 分公司改过历史单据(比如改了数量),总部这边不会跟着变,两边数据越差越多
我们是怎么做的
- 改成增量同步:只传上次同步之后新增和发生变更的单据,按单据最后修改时间取水,不再整表导出导入
- 给每张单一个全局唯一编号(分公司号加单据类型加流水),总部按编号去重,同一张单传两次只生效一次
- 定好冲突处理规则:单据在分公司被修改后以修改时间较新的为准,并保留修改前后两个版本供追溯;已生成凭证的单据不允许直接改,要冲销后重开
- 断网补传:本地先把单据写进待发队列,网络恢复后按时间顺序自动补传;补传完成前,总部报表里该分公司标注数据未完整
- 每天跑一次对账:比对各分公司的单据总数与总部已接收数量,有差额就列出分公司和日期范围,当天查清
改造之后
- 总部看到的数据从晚三五天变成当天或次日早上能看全
- 重复单据在总部侧自动去重,销量和库存不再虚增
- 分公司断网期间开的单能自动补上,漏传情况进入每天可核查的清单
- 单据被修改时两边以修改时间为准,历史差异可以追溯
- 每日对账把差额当天发现,不用等到月底对不上再翻账
这个项目包含什么
适合什么情况
在两个以上城市设有分公司或办事机构、各分支独立开单、总部需要按天或按周掌握整体经营数据的连锁分销或贸易企业
关于这类改造
什么是增量同步:只传输上次同步之后发生变化的数据(新增、修改、作废的单据),而不是每次把整张表重新导出再导入。判断依据通常是单据的最后修改时间戳加一个同步水位点,同步完成后水位点前移,下次从新水位点开始取。相比整表同步,它传输量小、时效高,也更容易定位问题。
为什么分支数据汇总容易出错:第一,靠人工导出导入,链路长、环节多,漏传和重传都难发现;第二,各分支的主数据不统一,同一货品在不同分支有不同编号,汇总后就对不上;第三,没有唯一标识,同一张单据被传两次时系统无法判断是重复还是两笔业务;第四,单据被修改后没有版本留痕,总部与分支的差异无法追溯;第五,断网期间的补传没有队列保障,容易漏。
通常怎么做:第一步给单据定全局唯一编号,作为去重和追踪的主键;第二步改增量取数,按最后修改时间取水并记录同步水位点;第三步定冲突处理规则,明确以哪一边为准、什么情况下不允许直接改;第四步建断网队列与自动补传,补传完成前在报表里如实标注数据未完整;第五步开每日对账,把分支与总部的数量差额列成清单当天处理。
什么情况适用:分支机构在两个以上、总部需要按天看数据、目前靠人工导出导入维持的连锁分销企业,改造收益比较明显。分支数量少、总部只需要月度数据的,维持现有的定期汇总也能应付。
如果你公司也在为分支数据汇总发愁,可以把最近一周各分公司导出的表和总部收到的表给我们,我们先看看重复单据和漏传各占多少。