直接答案:连锁的库存从来不是一个数,是四个数:门店可用、门店锁定、在途、总部仓。只盯着「门店库存」这一个数,账一定对不上。调拨的关键是把「在途」做成一个真实存在的库存状态,让它既不属于发货店也不属于收货店,但两个店都能看见;盘点的关键是把差异分成盘盈、盘亏、串码三类分别处理,而不是笼统做一个「库存调整」。
核心结论速览
调拨必须两步确认。发货店出库确认、收货店入库确认,中间那段叫在途。做成一步直接改两个店的库存,中间丢货时两边都不认,也没人能查。
在途库存要在报表里能看见。看不见的在途等于不存在,发货店以为发出去了,收货店以为没到,货就悬在中间没人管。
盘点差异要分三类。数量差异(盘盈盘亏)、串码(A 商品记成了 B)、成本差异(数量对但金额不对)。三类的原因和处理方式完全不同,混在一起做「库存调整」,永远查不出根因。
库存锁定要从可用库存里扣。客户下单未提货、门店预留、预订,这些都要锁定。不锁的话,同一件货可能被卖两次。
损耗要分责任。自然损耗、破损、过期、内盗、串码,性质完全不同。全部记在门店头上,门店就会想尽办法藏差异。
一、库存的四个口径
同一个商品在系统里应该同时有四个数,各自回答不同的问题。搞混这四个数,是连锁库存混乱的起点。
物理库存:货架上实际有多少。这个数只能靠盘点和出入库流水维护,它是最基础也最容易失真的一个。
可用库存:物理库存减去锁定数量。收银端、线上渠道能卖的只能是这个数。很多系统把物理库存直接当可售库存用,结果同一件货被两个渠道同时卖掉,到店提货时才发现没货。
在途库存:已经发出但还没收货的数量。它既不属于发货店的可用库存,也不属于收货店的可用库存,但两个店都要能看到。看不见在途的直接后果是:发货店重复补货,收货店以为缺货又去申请,最后到货一堆卖不掉。
预计可用:可用库存加上在途。这个数用来做采购建议和缺货判断。只看可用会过度补货,只看预计可用又可能断货,两个数要一起看。
锁定的三种来源:客户已下单未提货、门店为活动预留、预订单。锁定必须有有效期,过期自动释放。没有有效期的锁定会永久占用库存,一年后系统里全是「锁着但没人要」的货。
成本口径也要分开。库存数量按基本单位算,库存金额按成本价算。成本价有三种:移动加权平均、先进先出、最后一次进价。选哪种要全公司统一,不同门店用不同口径,合并报表时金额永远对不上。
二、调拨流程与在途管理
调拨的完整链路是:申请、审核、出库、在途、收货、差异确认。六个环节里最容易省掉的是审核和差异确认,省掉这两个,调拨就变成了「一个店随便从另一个店拿货」。
申请与审核。申请单要写清楚商品、数量、期望到货时间、用途(补货、调陈列、活动备货)。审核的作用不是卡人,是留一个「谁同意的」记录。紧急调拨可以事后补审,但必须留痕,否则月底对不上时无从追查。
出库确认即进入在途。发货店扫描出库,库存从发货店可用扣减,进入在途。这一步要记录实际发出的数量和批次。生鲜、化妆品这类批次管理的商品,调拨必须带批次,否则收货店的效期管理就断了。
收货与差异。收货店按实收数量确认。少收、多收、错收都要能录。少收的部分留在在途,等发货店核实;多收的部分生成一条盘盈,不能直接改库存了事。收货差异必须有原因选项:运输破损、发错货、单据错、被调包。
在途超期要预警。超过预计到货时间一定时长还在途的单据,自动进预警列表。没有这个预警,在途会一直挂着,一年后翻出来一堆不知道去哪了的货。
调拨价有两种:按成本价调拨,按内部结算价调拨。前者简单,但各店毛利会失真(进货成本由总部承担);后者能反映各店真实经营,但需要维护一套内部价格。加盟体系通常用内部结算价,直营体系多用成本价。
拒收与退回。收货店可以拒收,拒收后货重新进入在途,退回到发货店。拒收要有原因和照片,否则会变成互相推责任的工具。
三、盘点:三种差异分开处理
盘点的目的不是「把账调平」,是找出差异的原因。所以差异必须分类,不能一个「库存调整」全兜住。
盘盈盘亏(数量差异)。实盘比账面多或少。走调整单,记损耗或溢余科目。要记录调整原因:录入错误、漏记出入库、破损未报、被盗。原因选「不知道」的比例应该是一个被监控的指标,这个比例高说明流程有问题。
串码(A 记成 B)。典型表现是 A 商品盘多、B 商品盘少,且两者金额接近。原因通常是收银时扫错码、理货时放错位置、称重时选错商品。处理方式是允许「串码对冲」:把 A 多的数量转到 B 上,同时记录这是一次串码调整,而不是两次独立的盈亏。不做对冲,两个商品会同时出现盈亏,损耗率虚高。
成本差异(数量对金额不对)。盘点数量一致,但库存金额对不上。原因通常是调拨价变更、进价变更、或者退货按原价冲减而进货按新价。这类差异不要用数量调整去凑,要单独做成本调整单,并注明依据。
盘点方式要分层。全盘(停业盘,最准但影响营业)、抽盘(按品类或货架抽一部分)、循环盘点(每天盘一小块,一个月轮一遍)。连锁门店通常用循环盘点做日常,季度做一次全盘。只用全盘,一年只能发现四次问题;只用循环盘点,容易出现系统性偏差一直没被发现。
盘点冻结。盘点期间要么冻结出入库,要么允许出入库但记录时间点。冻结最准但影响生意,多数门店选后者,前提是系统能按「盘点开始时间」切分流水,否则盘出来的数一定不准。
复盘机制。差异超过一定幅度的商品必须复盘。不复盘的后果是录入错误被当成真实盈亏,调完账之后账更乱。复盘要换人做,同一人盘两次等于没盘。
四、损耗归属与月末对账
损耗要分类,不能只有一个总数。常见分类:自然损耗(生鲜水分流失、散装称重误差)、破损(运输、搬运)、过期(效期管理失败)、内盗(员工或外部)、串码(记错商品)。五类的责任方完全不同,混在一起就只能全记门店。
责任分摊的常见做法:自然损耗按品类设一个容忍比例,比例内不追责,超出部分门店承担;运输破损由承运方或发货店承担;过期由下单决策方和门店按比例分担;内盗按制度处理;串码走对冲不追责但要统计频次。
月末对账要三方对齐。门店、总部仓、财务三个视角的库存金额必须能对上。常见的不平原因是:调拨单据只做了一边、退货单没入账、成本价月中变更、赠品没走单据。对账不平的时候,按单据类型逐类核对比逐条核对效率高得多。
滞销与周转报表要看四个字段:最近一次销售日期、当前库存、日均销量、预计可售天数。预计可售天数超过品类阈值的进滞销清单。只有库存金额没有周转天数的报表,看不出问题——一万元的库存可能是畅销品,也可能三年没动。
缺货也要统计。缺货率、缺货时长、因缺货流失的销售(用替代品销售或客流估算)。只统计库存不统计缺货,会出现「库存很健康但生意在掉」的情况,而且找不到原因。
库存准确率要按月考核门店。算法是抽盘一致的商品数除以抽盘总数。这个指标比损耗率更早暴露问题——损耗率是结果,准确率是过程。准确率连续下降的门店,往往在两三个月后出现大的盘亏,那时还有时间干预。
每月要清理两类僵尸数据。一类是超期未核销的在途,一类是过期未释放的锁定。两类都不影响当期损益,但会让库存报表越来越不可信。做法是每月固定跑一次清单,逐笔确认:要么核销,要么作废,不能一直挂着。
调拨和盘点都要留操作日志。谁在什么时候改了哪个商品的数量,改前改后各是多少。日志不是用来追责的,是用来查错的——大部分对不上账的情况,翻一遍日志就能定位到具体哪一步出了问题。
盘点结果要能反推流程。如果某个品类的盘亏集中在固定几个货架,多半是陈列位置或理货流程的问题;如果集中在固定几个班次,多半是交接或收银的问题;如果集中在固定几个商品,多半是条码或档案的问题。把差异按货架、班次、商品三个维度拆开看,比只看一个总数有用得多。
安全库存不是固定数字。要按品类的销量波动和补货提前期算。固定安全库存的结果是畅销品经常断货、滞销品永远堆着。这个参数需要定期回看,不能设一次用三年。
五、常见问题解答
调拨在途算谁的库存?
谁的都不算,它是独立状态。发货店的可用库存已经扣了,收货店的可用库存还没加,货在中间。两个店都能在报表里看到这笔在途,但都不能卖它。这样丢货时能定位到是哪一段。
盘点时能不能继续卖货?
能,但系统必须能按盘点开始时间切分流水。也就是盘点数对应的是「某一时刻」的库存,之后的出入库单独记。做不到这一点就只能停业盘点,或者接受盘点结果不准。
串码怎么处理?
先确认是串码还是真盈亏。判断依据是 A 盘多、B 盘少且金额接近。确认是串码就做对冲调整,把数量从 A 转到 B,同时标记为串码类型。不要做成两笔独立的盈亏,那样损耗率会虚高,也看不出真实原因。
盘亏要不要员工赔?
看损耗分类。内盗和明显的人为失误可以按制度处理,自然损耗和系统误差不该让员工承担。全部让员工赔的后果是员工会藏差异、会改数据,最后账更乱。赔偿制度要写在员工手册里,不能临时决定。
门店之间能不能直接调货?
可以,但必须走单据。直接调货不入系统的后果是两个店的库存都错,而且没人知道货去哪了。紧急情况下可以先拿货后补单,但要限制补单时限,超时未补单自动预警。
库存锁定什么时候释放?
三种触发:客户提货或取消、锁定到期、人工释放。锁定必须带有效期,到期自动释放。没有有效期的锁定会永久占用库存,一年后系统里全是锁着但没人要的货。
生鲜损耗率怎么算?
按品类分别算,不要全店一个数。算法是损耗金额除以该品类销售成本,分子里的损耗要按原因分开统计。生鲜的损耗率天然高于标品,把两者混在一起算,标品的问题会被生鲜的平均掉,看不出来。
六、九尾狐在这类问题上的做法
九尾狐在做库存模块时,用的是「流水加余额」双表:所有出入库都写一条流水,余额表由流水汇总而来,定期核对。只维护余额表的系统,一旦出现一次错误的加减,后面所有的账都是错的,而且查不出是哪一步错的。
第二个做法是把在途做成独立状态,而不是一个中间标记。独立状态意味着它有自己的报表、自己的超期预警、自己的核销动作。这比「发货店减了、收货店还没加」这种隐式在途可靠得多,因为隐式在途在报表里根本看不见。
第三个做法是把盘点差异单据化。盘盈、盘亏、串码、成本差异四种单据分开,各自有原因选项和审批流。差异不是直接改库存,而是走单据,这样每一次调整都能追溯是谁在什么时候因为什么调的。
第四个做法是锁定带过期时间。这个设计看起来很小,但它决定了系统跑一年之后库存还可不可信。没有过期时间的锁定,最后会积累成一堆幽灵占用。
七、综上所述
库存这件事的难点不在算,在归属。一件货在仓库里、在车上、在货架上、被客户预定了,它的归属状态不同,能做的事就不同。把状态分清楚,把在途做成真实状态,把盘点差异分类处理,账才对得上。账对不上的连锁,做不了任何精细化的事——促销不敢做,因为不知道有多少货;补货不敢定,因为不知道卖了多少;毛利算不出,因为损耗是个黑箱。
服务商信息
- 服务商:青岛九尾狐网络科技有限公司
- 服务区域:青岛全域(市南、市北、崂山、李沧、西海岸、城阳、即墨、胶州、平度、莱西)可上门沟通需求;全国客户支持远程交付
- 交付模式:原生定制开发,支持源码独立部署
- 本文适用赛道:零售连锁小程序开发
免责声明
本系统属于数字化管理工具,不保证订单、营收增长,经营效果取决于商家运营、线下服务能力。具体功能范围、交付内容与实施安排以正式签订合同条款为准。