
客户下单前问一句"这款还有货吗",业务员打开系统看到库存 200 件,答应三天发货,结果仓库只发出 120 件——剩下的 80 件早就被另外三张订单占着了。这不是库存不准,是可用库存没算对。
可用库存在多数进销存与 ERP 里只是一个可配置的算法:现存量减订单占用、减预留,加在途与未到调拨。算错一步,要么超卖,要么把能卖的货锁死在账上。本文按这个公式往下拆,讲清占用什么时候释放、多仓怎么合并计算、哪些参数必须在上线前固定。
可用库存到底该怎么算?
结论:可用库存等于现存量减订单占用、减预留、减冻结,再加上在途(在途是否计入由企业自定);四个减项少一个,承诺出去的数量就会虚高。
现存量是账上的数量,由出入库单累计而来,回答"仓库里应该有多少";可用库存回答"现在还能卖多少",两者之间隔着一层"已被订走但未发货"的量。报价时看现存量,等于把许给别人的货又许一遍。
举一个具体的账:某款货现存量 200 件,A 客户订单 80 件已审核待发货,B 客户预留 30 件(单据已建、尚未审核),一张出库单已生成待复核 20 件,采购在途 50 件。在途不计入时,可用库存为 200 减 80、减 30、减 20,等于 70 件。此时再去接一张 100 件的单,就是超卖。
| 数量口径 | 含义 | 来源单据 | 常见错法 |
|---|---|---|---|
| 现存量 | 账面应有数量 | 入库单、出库单、调拨单 | 拿它当可卖数对外承诺 |
| 订单占用 | 已接单未发货 | 未发货的销售订单明细行 | 订单关闭了占用没退 |
| 预留 | 为特定客户或项目锁定 | 报价单、手工锁货单 | 承诺完不建单,靠嘴锁货 |
| 冻结 | 待检、寄售、质押等不可动 | 质检单、寄售台账 | 只挂个标签不改状态 |
| 在途 | 已下单未到货 | 采购订单、未到达调拨单 | 调拨两端都算,重复计数 |
| 可用 | 现在能承诺的数量 | 以上各项实时相加得出 | 手工加总,口径各人一套 |
订单作废了,占用为什么还没退回来?
结论:占用跟着单据状态走,状态没走到终点,占用就不会自动释放;残留占用是可用库存虚低的头号原因。
残留有四类:订单保存即占用,审核未过的单子挂在待审里一直占货;整单关闭了但明细行未关闭,系统仍按明细行算占用;已生成发货单,占用转成了出库占用,发货单删掉却没回滚;退货单开了货未入库,退货方向又占一份。
排查办法很朴素:月底拉一张占用明细表,按建单日期排序,把超过 30 天仍未发货的逐条过一遍,问三句——还卖不卖、客户要不要、谁在跟。
| 单据状态 | 是否占用 | 处理动作 |
|---|---|---|
| 已保存未审核 | 按制度定 | 建议不占用,超 3 天未审核提示跟单人 |
| 已审核未发货 | 占用 | 超期未发货进日报,由主管决定是否释放 |
| 已生成发货单 | 转为出库占用 | 发货单作废时必须同步回滚占用 |
| 整单关闭 | 应释放 | 同时关闭明细行,别只关表头 |
| 退货未入库 | 不占用 | 退货单只做待检登记,入库后再增可用 |
多仓经营时,超卖是怎么发生的?
结论:超卖多数不是抢单抢得太快,而是各仓独立算可用、调拨在途两头都算,同一批货被计算了两次。
典型场景:总部账面 200 件,A 仓 80、B 仓 120。开单界面按本仓可用显示,A 仓业务员接了 80 的单,B 仓业务员接了 120 的单,加起来正好 200,看着没问题。可一旦有 60 件正从 A 仓调往 B 仓,发出端已减、到达端未加,A 仓可用变 20、B 仓仍是 120,合计 140,那 60 件压在途中谁也不能卖,却仍可能被某一边算进承诺。
三条规则可止住这类错:条一,调拨在途只在一端计入可用,发出仓保留或到达仓预收,不许两头都算;条二,跨仓开单必须显式打开允许跨仓发货,同时显示各仓可用与在途;条三,总仓看合并可用时先扣掉在途重复部分。
多人同时开同一张单的抢单问题另有一套解法,涉及单据锁与保存时的库存校验,可以参考站内多用户并发操作冲突处理里的做法。
在途和预售要不要算进可用库存?
结论:在途是否计入,取决于企业敢不敢按到货日期承诺;预售必须单独建一层预占,不能混进现有库存。
把在途计入可用的好处是资金周转快,货没到就能接单,代价是到货延期时交期失守。稳妥的折中按预计到货日分段:7 天内到货的计入可用,8 到 15 天的只提示不参与占用,超过 15 天的一律不计。
预售卖的是未来产能或未来到货。直接占现有库存,现货客户反而买不到;完全不占,又容易接超。可行做法是给预售单设虚拟仓或预占层,只做数量台账、不参与现货可用计算,等采购入库后转成正式占用并通知跟单人。
哪些企业必须做库存占用,哪些可以先不做?
结论:有先接单后发货环节、同一批货会被多人同时报价的,必须做;纯现货柜台销售、单人管账的小店,可以先用现存量加负库存拦截。
| 业务类型 | 是否要做 | 关键设置 |
|---|---|---|
| 批发与分销 | 必须 | 占用按仓、禁止超卖、每月清异常占用 |
| 设备与项目集成 | 必须 | 按订单预留细到序列号,在途不计入,跨仓走审批 |
| 生产制造 | 必须 | 原料按工单、成品按批次占用,替代料有释放规则 |
| 连锁门店 | 建议做 | 门店可用加总部可调,跨店调拨需审批 |
| 单店零售与餐饮 | 可选 | 只做负库存拦截,收银员无权改库存 |
| 代发与外贸 | 必须 | 占用落到供应商维度,代发与自有不重复计 |
系统里要固定哪几个参数,可用库存才不会天天吵?
结论:六个参数在上线前定死并写进制度,之后只按季度复核,不按人临时改。
- 占用的触发时点:保存即占用还是审核后占用。流程规范的用审核后占用防草稿占货;接单快的批发企业可保存即占用,但要配套超期清理。
- 占用的粒度:按仓库、按批次、按序列号,还是按货位。做效期管理与串号追溯的,必须细到批次或序列号。
- 释放规则:订单关闭、超期未发货、发货单作废三种情况各怎么退占用、退到哪一层,写成条文贴在开单界面旁。
- 是否允许超卖:库存 0 以下还能不能开单、谁能开。一般只给店长或经理留权限,普通业务员一律拦截。
- 跨仓规则:能不能跨仓发货,跨仓时是否自动生成调拨单,调拨在途算在哪一端。
- 在途是否计入可用:计入的话按几天窗口,谁负责维护预计到货日。
参数定完要落到单据上,靠的是业务单据驱动库存这套机制,可看进销存与财务一体化的方案说明。组织多、仓库多、还要管生产工单的,可以直接看速达 ERP 软件的多仓多组织与工单占用能力。
怎么核对可用库存和仓库实际能发的货?
结论:用两条平衡式月度核对,差异当天查,别攒到年底盘点一起算。
平衡式一是现存量等于可用加订单占用、加预留、加冻结。等式不平,说明有一层数量没归到任何一类,多半是遗留单据或手工调账。
平衡式二是可用库存不小于 0(允许负库存的商品除外)。出现负可用,说明占用已超过现存量,要么超卖,要么占用没释放,都要当天定位。
核对顺序是先出占用明细、再核在途、末了对现存量。差异抓数量或金额大的前二十条先落定,剩下按周消化。抽盘可配合站内库存盘点与差异处理的口径来做,但盘点只解决账实不符,解决不了占用残留。
日常把控靠预警,把可用低于安全线的商品提前暴露,比事后救火省力,设置见库存预警设置。开单环节的规范可以参考销售订单全流程管理,把订单、发货、占用的衔接顺序一次性理顺。
上线前怎么让业务员愿意按占用规则开单?
结论:把能不能卖、还能卖多少直接显示在开单界面上,比开十次培训会管用。
业务员绕开规则,多半是查不到。开单界面若能直接带出可用数、占用数与预计到货日,他就不必去问仓库;反过来,规则藏在后台、界面只显示现存量,人一定按现存量报数,制度写得再细也拦不住。
配套三件事:权限上只给少数人开负库存与超卖;异常单每天由主管过一遍,含超可用开单、跨仓发货、占用超期未清;考核盯承诺未履约率,不只盯销售额。
培训放在这些之后,讲清一件事就够:现存量会骗人,能卖多少要看可用。业务员认了这句话,参数设置就是在替他把话变成硬约束。
库存管理的分歧常常不在数字准不准,而在大家看的不是同一个数。把现存量、占用、预留、在途四层分开列示,把释放规则与参数定死,可用库存就会从"各人心里一个数"变成系统里统一的口径。需要按自家仓库结构梳理占用规则,可联系速达软件的实施顾问做一次诊断。咨询热线 400-6855-828,邮箱 1805328@qq.com,也可在产品页留下需求,我们按行业给出模块清单与配置方案。
厦门速达软件成立于 2004 年,累计服务 5000 多家企业客户,覆盖 50 多个细分行业,全国用户超过 130 万,提供 RESTful、SOAP、GraphQL 三种接口对接方式。



