2019 年秋天,我在加州 Chino 一个 12 万平方英尺的 3PL 仓做系统支持。那阵子感恩节大促刚收尾,新客户要进仓,仓库经理让我先带人做一轮循环盘点。盘到第三天,系统和实物对不上:少了 40 多箱货,货值大几十万美元。更邪门的是,系统里的出库记录被人动过,单据号断了一截——谁删的、什么时候删的,翻遍日志查不出来。
那一周,仓里十几个相关的人被轮番问了一遍。最后勉强圈定了一个范围,但没有任何证据能锤死到底是谁点的删除键。客户那边为这事差点把业务撤走。那次之后我才彻底想明白:很多仓库的 WMS 权限,根本不是"配得太复杂",而是压根没认真配过。
权限这东西,平时谁都不当回事。系统上线那天,实施顾问图省事,给所有人开了差不多的权限;后来人来人往,只加不减。等真出了事,才发现满屏都是有嫌疑的人。
谁在删单据?
先说结论:一个仓库里,能删单据的人,最好只有一个——仓库经理本人。
我们那次出事之后做的第一件事,就是把系统里所有账号的权限导出来看。结果触目惊心:有删除权限的账号一共七八个,除了经理和主管,连客服和两个临时工的账号都能删收货单和调整单。客服删单据的理由还很"充分":客户打电话来说单子下错了,她顺手就给删了重下,删完系统里一点痕迹不留。

删除和作废是两回事,这个必须分清。作废是把单据状态改成取消,记录还在,审计能查到;删除是把记录直接抹掉,神仙也查不回来。正常业务里,作废完全够用,删单据这个功能,一年也用不上几回。我的做法是:系统里干脆关掉普通角色的删除权限,只留作废;删除权限只给仓库经理,而且每次用必须填原因,原因写进日志。
还有个小细节:很多 WMS 的删除日志和业务日志是分开的,甚至默认不记录。系统上线验收的时候,一定要亲自试一次——建一张测试单,删掉,再去看日志里能不能找到"谁、几点、删了哪张单"。试不出来,这个验收就不算过。
说到删单据,还有一个变体坑:有些 WMS 的"删除"按钮藏在批量操作里,一次能删一整批单据。权限没配好的话,一个心急的文员为了"清理界面",能把几个月的历史单据全清掉。我的习惯是,批量删除这个功能直接在所有角色里关掉,真有清理需求,仓库经理自己处理,或者让系统商出脚本。界面上没有这个按钮,就少一万个误操作的可能。
收货的人为什么能改库存?
第二个坑叫职责不分离。收货确认数量的人,如果自己就能做库存调整,那就等于既当运动员又当裁判。
我见过最典型的一次:一个收货员用 Zebra 的扫描枪收了一票货,数量和送货单对不上,差了十几箱。他没上报,自己在系统里做了个库存调整把账抹平了。三个月后客户盘点发现短货,供应商那边早就过了索赔期,最后这笔损失仓库自己认了。收货员当时也不是想贪,就是怕麻烦、怕被骂,结果小事拖成大事。
道理很简单:收货的人只负责如实记录,调账的权力必须在另一个人手里。标准做法是,库存调整单必须走两步:申请人填差异原因,主管或以上级别复核批准,系统里两个动作记两个人的名字。金额大一点的调整,比如超过一两千美元货值的,可以再加一级审批——具体门槛按你们仓库的客单价定,别照抄别人的。
另外,盘点调整和日常调整要分开看。盘点本来就是用来发现差异的,差异单走正常流程就行;但非盘点时间的"手工调账",每一笔都值得多看一眼。我习惯让系统每天自动给经理发一封邮件,列出当天所有的手工调整,超过三五行,经理就得点进去看一眼。这个习惯坚持下来,很多小动作在萌芽阶段就被掐掉了。
还有一种调账要特别警惕:负库存。系统允许库存调成负数,本身就是权限设计的问题。正常业务里,负库存只应该出现在极少数场景,比如先发货后补单;如果你们的 WMS 里负库存满天飞,说明出库和审核的链条有洞。我的做法是把"允许负库存出库"这个开关只留给经理角色,普通拣选员遇到负库存,单子直接卡住,倒逼流程先把账做对。
谁来负责关掉离职员工的账号?
第三个坑最不起眼,也最普遍:人走了,账号还活着。
做 3PL 的都知道,仓库一线流动性大,旺季招一批临时工,淡季走一批是常态。我查过好几个仓库,离职超过三个月、账号还能登录的,几乎家家都有。账号在谁手里?有的是离职员工自己,有的是被在职的人"借用"——"他那个账号权限全,我先用着,省得申请了。"一个账号几个人用,出了事连问都没法问。
解法不复杂,难的是坚持。两条铁律:第一,员工最后一天下班前,账号必须禁用,这是 HR 发离职通知的同步动作,不是"有空再办";第二,每个月拿 HR 的在职名单和系统账号做一次对账,对不上的一律先禁用再问原因。旺季用的临时工账号,统一设有效期,到期自动失效,省得靠人记。
再补一个容易被忽略的:密码。很多仓库为了图方便,一个班组共用一两个账号登录,扫描枪上甚至贴着账号密码的小纸条。真出了事,日志里记的是账号名,可这个账号五个人都在用,等于白记。想解决也不难:每个扫描枪绑定工号登录,开单点登录或者刷工牌,成本不高,但"谁干的"这件事就从玄学变成了事实。
还有一种情况:同一个人在仓里换了岗位,从拣选调去做复核,或者从夜班调到白班当组长。岗位变了,权限要跟着变,老权限要收回来。很多仓库只加不减,干了三年的老员工手里攒了一堆不该有的权限。我的建议是,岗位变动走一次"权限重置":先清零,再按新岗位重新给,多花十分钟,少埋一颗雷。
权限配得好不好,有一个很简单的检验标准:明天早上如果丢了一箱货,你能不能在一个小时之内,从系统日志里找到"谁在什么时候动过这箱货"。找得到,说明权限和日志是活的;找不到,说明你们和 2019 年的我们一样,是在裸奔。
明天就能动手的三件事:第一,把系统里所有账号和权限导出来,先收走"删除单据、手工调账、导出主数据"这三项高危权限,只留给仓库经理;第二,检查一遍离职员工的账号,当天全部禁用,临时工账号加上有效期;第三,打开操作日志的记录开关,亲自做一次"建单、改单、删单"测试,确认每一步都留了痕。做完这三件,你们仓库的内控就已经超过了市面上大多数同行。
最后提醒一句:权限这东西,宁可先紧后松,不要先松后紧。紧了大家抱怨两句,松了出了事,丢的可是真金白银。










