AMZ123跨境卖家导航
拖动LOGO到书签栏,立即收藏AMZ123
首页跨境头条文章详情

从销售订单到销售出库单:库存锁定、释放与扣减的那点事

2102
2025-12-16 08:07
2025-12-16 08:07
2102

2026旺季致胜攻略,一次解决6大痛点!给你可复用的爆品立项与广告节奏和预算模型

最近在做库存模块重构的时候,我遇到了一个之前想当然认为"就应该那样做"的问题。仔细琢磨之后,发现自己可能把事情想得太简单了。

在之前做海外仓OMS和WMS的时候,我们通常会采用"一张单走到底"的方式——这张单在创建或审核时先锁定库存,等到确认出库时再扣减库存。在库存流水的处理上,一般会这样做:锁定库存时写一条流水;真正扣减库存前,先写一条释放库存的流水;最后再写一条扣减库存的流水。整体下来就是三条流水。

这种模式比较好理解:我先占用库存,用完之后释放,再正式扣减,整个流程虽然会有些冗余,但逻辑是自洽的,而且所有动作都围绕同一张单据。

但这次刚好要在ERP中新增一个组织间交易、触发自动转卖的业务,我突然发现如果采用这种设计方式,库存流水数据会虚增很多,后续对库存流水排查、对账的时候就会麻烦很多。

于是我开始思考:之前的想法是不是有问题?

我把这个前因后果和纠结的点一起发给了AI,得到了一些解答,对这个问题的理解也有了不一样的视角。接下来,就跟大家分享一下这件小事背后容易被忽略的业务知识,以及我最终更倾向的方案是哪个。

一、库存数量类型的拆分

大多数供应链类系统在设计库存模块的时候,会基于库存的不同用途对库存数量进行拆分,通常会拆分成3类:

字段
含义
举个例子
在库数量
仓库里真实存在的货,On-hand
仓A里某SKU现在有100件
锁定数量
已经被某张单据"占住"但还没出仓的数量
其中30件被某张销售订单锁定了
可用数量
还能分配给新订单的数量
当前还能再接70件新订单

背后的数量计算公式是:可用数量 = 在库数量 - 锁定数量

二、我纠结的问题

业务在ERP里下了一张销售订单(SO),然后ERP会把SO推给WMS执行出库作业。仓库可能会基于不同的发货要求多次回传结果,此时一张SO可能被拆成好几次发货,在ERP中生成多个销售出库单。

一般来说,在SO创建的时候会对库存进行锁定,以防止库存被其他单据占用。当后面ERP收到了仓库出库回传的数据之后,会生成对应的销售出库单去扣减库存。

此时,我们就会面临一个问题:销售出库单出库扣减库存的时候,是先把SO的锁定释放掉、再重新扣一遍可用库存,还是直接消耗掉SO已经锁定好的那部分?也就是应该选择写入3条库存流水,还是写入2条库存流水?

这个问题听起来好像很简单,就是一个二选一的问题。但仔细琢磨一下,库存流水随着单据的日积月累会逐步变得庞大,如果这里不仔细想清楚背后的细节,后面可能就会欠下一些没必要的技术债务。

三、市面上常见的三种做法

我把这个问题丢给了几个AI,也翻了一些主流ERP的帮助手册和产品介绍,发现大概的做法有这么三种。

第一种:SO不锁定,出库时才扣

这是最"乐观"的做法。销售订单只是记录客户需求,不在库存层面做任何动作,等到仓库真正发货、出库单过账时,才一次性把在库和可用都扣掉。这种做法实现最简单,很多早期的小系统都是这么干的。但问题也很明显:在稍微有点并发或者业务单量的时候就会出现问题——前面的订单还没发货,后面的订单已经把货"抢"走了。系统层面显示有货,业务现场却"无货可发"。本质上就是没有"占坑"机制,谁先发货谁拿货,先下单的反而可能被后下单的截胡。

第二种:SO锁定,出库时"先释放再扣减"

这种做法在创建SO的时候需要锁库存。SO创建时,先做一笔锁定(锁定+N、可用-N、在库不变);等到出库单发货时,先把这笔锁定释放掉(锁定-N、可用+N),然后再从可用里扣减一次(在库-N、可用-N)。表面上看,账还是能算平的。但这里有一个隐蔽的风险:在"释放"和"扣减"这两个动作之间,可用库存会被短暂放大。在单机小系统里,这个时间窗口可能只有几毫秒;但在多服务、多线程的环境下,就有机会被别的请求插队,去占用那一瞬间"看上去多出来的可用库存"。这是一种隐蔽的超卖风险

第三种:SO锁定,出库时"直接消耗锁定"

这是我更建议选择的方案。SO在创建或审核时就锁定库存,只影响锁定和可用,不动在库(锁定+N、可用-N、在库不变)。后续出库单发货过账时,不把这部分库存"放回公共池",而是直接去消耗SO阶段形成的锁定——在同一个事务里同时减少在库和锁定(在库-N、锁定-N,可用不变)。换句话说,这部分货从一开始就被SO"认领"了,出库单只是把它从"锁定"状态变成"已发货"状态,中间不会再回到可用库存里兜一圈。

四、简单的案例推演说明

光讲概念可能还是有点抽象,我们用一个具体的数字例子来推演。在开始之前,先用一个流程图把整条链路串起来:

这个图展示的是上面提到的第三种方案(直接消耗锁定)的核心逻辑。SO锁定库存时,只影响锁定和可用,不动在库;出库单发货时,同时减少在库和锁定,可用通过公式自然维持;如果订单取消,就把锁定释放回可用池。

假设某个SKU在仓库A的初始状态是:在库100、锁定0、可用100。现在有一张SO要占用30件,最终会拆成两张出库单分别发20和10。

第一步:SO审核通过,锁定库存30件

操作
在库(前→后)
锁定(前→后)
可用(前→后)
SO锁定30
100→100
0→30
100→70

这一步的本质是:把未来一定要发的30件从可用池里"挑"出来,打上"订单锁定"的标签。仓库地面上什么都没发生,所以在库不变;但从此以后,新订单进来时只能看到70件可用库存了。

第二步:第一张出库单发货20件

操作
在库(前→后)
锁定(前→后)
可用(前→后)
出库20
100→80
30→10
70→70

注意看,可用库存是没有发生变更的。这是因为可用在SO锁定那一步就已经被用掉了,发货只是把锁定变成已出库,不再额外影响可用。

第三步:第二张出库单再发10件

操作
在库(前→后)
锁定(前→后)
可用(前→后)
出库10
80→70
10→0
70→70

到这里,SO的30件锁定被两张出库单全部消耗掉,锁定归零。整条链路从"承诺给谁"到"实际发给谁",在流水上都能一条条对上号。

特殊情况:如果订单被取消了呢?

比如SO发完20件之后,剩下的10件被客户取消了。这时候我们需要通过一条"释放锁定"的流水把它还回可用池:

操作
在库(前→后)
锁定(前→后)
可用(前→后)
取消锁定10
80→80
10→0
70→80

在这个模型里,**"取消锁定"和"发货扣减"是一对对称操作**:前者把锁定退回可用,后者把锁定变成已出库。库存流水只要记录好"变更前、变更量、变更后",后续无论是业务追溯还是财务对账,都能顺着流水一步步还原。

五、为什么建议选择"直接消耗锁定"

从上面的分析和推演可以看到,这两种方案表面上账都能算平,但我最终还是建议选择"出库单直接消耗锁定"的方案,主要有三个原因:

  • 并发安全:"先释放再扣减"在两个动作之间会短暂放大可用库存,给并发请求留下可乘之机。虽然可以通过事务和锁来规避,但这就增加了实现复杂度,而且在跨系统场景下(比如ERP和WMS分属两个服务)更难控制。
  • 业务语义清晰:从业务视角看,SO一旦锁定库存,那部分货就已经"许配"给这个订单了,后面自然应该由这张订单对应的出库单来消耗。如果发货前还要先放回公共池再扣一次,哪怕账面能解释通,语义上也绕了一圈,跟业务同学沟通的成本会变高。
  • 流水种类少,对账简单:采用"直接消耗锁定"的设计,整条链路只有三种核心动作:锁定库存、释放锁定、消耗锁定。既能覆盖绝大部分业务场景,又不会让流水种类爆炸。多一步"释放再扣减",就意味着流水上会多一类动作类型,跨系统对账时要额外理解这一层语义。

六、总结

把上面的推演收一收,可以用三句话总结SO、销售出库单和库存流水各自的职责:

  • 销售订单(SO):负责"承诺"。它决定哪些货应该被锁定给哪些客户,对应的库存动作是增加锁定、减少可用,不动在库。
  • 销售出库单:负责"兑现"。它把之前SO锁定的库存真正发出去,对应的库存动作是减少在库、减少锁定,可用通过公式自然维持。
  • 库存流水:负责"讲故事"。每一条流水都要说清楚变更前是多少、这次变了多少、变完之后是多少,让后来的人可以沿着流水把当时发生的事情还原出来。

当这三者的角色被讲清楚之后,哪怕以后再叠加出入库原因、批次维度、多仓、跨组织等复杂因素,你也会有一套可以反复复用的底层逻辑,不至于每遇到一种新业务就重新造轮子。

这件事情如果只站在技术实现的角度看,可能就是几张配置表、几条SQL语句的事,只是一个很简单的Case。但站在产品的视角,我认为更重要的是:这套设计能不能在未来三五年里,经得住业务变化和新人接手?能不能在财务对账、业务追溯、系统扩展时都说得通?

如果你以后也需要在业务型ERP里设计库存流水和单据体系,希望这篇笔记能给你一点启发和参考。供应链模块中还会有很多类似的小设计细节,值得我们细细揣摩、探究更优的方案。

5.21 苏州coupang-文章页底部
TikTok、Facebook、谷歌、Twitter广告服务,0门槛抢占全球流量!
极速开户+优化投流+风险保障+效果跟踪,仅需4步,轻松撬动亿万海外流量,让品牌销量翻倍增长!
已成功开通5000+账户
二维码
免责声明
本文链接:
本文经作者许可发布在AMZ123跨境头条,如有疑问,请联系客服。
最新热门报告作者标签
Shein新建英国物流仓库,新增450个岗位
SHEIN宣布,在英国米德兰兹地区开设新的电商物流仓库,占地约3.5万平方米,已新增450个工作岗位,使SHEIN在英国支持的物流岗位总数提升至1000个。
TikTok Shop野心藏不住,按下欧洲加速键
再上线3国,TikTok Shop决定把“欧洲故事”讲好
亚马逊低价平台Bazaar在印度快速扩张,卖家增至3万名
根据亚马逊披露的数据,Amazon Bazaar已有3万名卖家和超过3000万件商品,计划在未来一年将卖家规模扩大1.5至2倍
电商营收大涨44%!Shopee母公司Sea Q1财报出炉
Shopee母公司Sea公布了2026年第一季度财报,本季度在Shopee电商、Monee金融科技及Garena游戏业务的共同推动下,整体收入与盈利能力均持续提升。
百亿门前,大卖也难啃利润
营收狂奔,一批大卖利润告急
亚马逊品牌推广技巧,如何提高品牌曝光度
亚马逊平台的流量竞争日益激烈,品牌推广作为连接消费者与品牌的核心渠道,能够帮助卖家在搜索结果、商品详情页等关键位置触达目标用户,实现短期销量提升与长期品牌资产积累。本文梳理两大广告目标的实操方法与优化技巧,为卖家提供可落地的投放指导。一、明确品牌推广的两大广告目标及配置差异亚马逊品牌推广目前提供两种可选择的广告目标,分别为增加页面访问次数与提升品牌展示量份额。卖家需根据自身业务阶段与核心需求,选择匹配的目标。广告活动创建后目标无法修改,且所有已创建的品牌推广广告活动会默认使用增加页面访问次数目标。
美国上诉法院介入,特朗普10%全球关税继续生效
美国联邦上诉法院发布临时决定,暂停下级法院此前裁定特朗普政府10%全球关税违法的判决。这一决定意味着,在案件进一步审理前,相关进口商仍需继续缴纳该项关税。
谷歌接入Klarna和Affirm,AI购物将支持“先买后付”
谷歌与“先买后付”(BNPL)服务商Affirm和Klarna达成合作,将在美国市场为谷歌搜索、AI Mode以及Gemini应用中的购物场景提供Affirm和Klarna的分期付款服务。
亚马逊推出动态广告,可根据用户观看记录自动换广告
亚马逊Prime Video推出一项名为“Dynamic TV Creative(动态电视创意)”的新工具,可根据观众此前是否看过某个品牌或产品广告,自动调整后续展示的广告内容和形式。
亚马逊德国保健品市场销售额第一,市场份额达43%
Kaske Group调查数据显示,2025年,亚马逊在德国非处方药领域的销售额达到25亿欧元,超过欧洲两大上市在线药房企业Redcare Pharmacy(Shop Apotheke)和DocMorris,位居市场第一。
卖家注意!多平台履约考核升级
卖家注意!多平台关键考核指标升级
泉州卖家靠一件泳装罩衫,在TikTok美区进账上千万
狂卖61700件,国产泳装罩衫成TikTok美区“出单王”
亚马逊正式在美国上线Amazon Now配送服务
亚马逊正式在美国推出Amazon Now超快速配送服务,用户下单后最快可在30分钟内收到商品。
亚马逊品牌推广技巧,如何提高品牌曝光度
亚马逊平台的流量竞争日益激烈,品牌推广作为连接消费者与品牌的核心渠道,能够帮助卖家在搜索结果、商品详情页等关键位置触达目标用户,实现短期销量提升与长期品牌资产积累。本文梳理两大广告目标的实操方法与优化技巧,为卖家提供可落地的投放指导。一、明确品牌推广的两大广告目标及配置差异亚马逊品牌推广目前提供两种可选择的广告目标,分别为增加页面访问次数与提升品牌展示量份额。卖家需根据自身业务阶段与核心需求,选择匹配的目标。广告活动创建后目标无法修改,且所有已创建的品牌推广广告活动会默认使用增加页面访问次数目标。
2026五大主流跨境收款工具客观实测横评:派安盈、连连、万里汇、空中云汇、PingPong
2026年,跨境收款赛道发展更趋成熟,Payoneer派安盈、万里汇、连连国际、空中云汇、PingPong五大主流跨境收款工具,均具备正规合规资质与成熟收款结汇能力,只是各家产品定位、核心功能侧重、适配场景各不相同。不存在绝对最好的收款工具,只有最匹配自身业务模式的选择。本文基于2026年4月各平台官方公开信息、合规牌照公示、真实卖家实测到账体验与长期使用反馈,做客观中立横评。跨境收款工具选型核心原则跨境收款选型不能单一参考提现费率,需综合核算综合使用成本、资金到账时效、合规风控稳定性、配套收付功能、场景适配能力等五大维度。
伊朗互联网中断73天,经济损失超26亿美元
伊朗全国性互联网中断已持续73天,在战争、制裁与断网等多个因素的影响下,当地经济正在加速恶化。这是有记录以来持续时间最长的国家级互联网中断之一,已经对企业运营、金融交易、通信系统和工业生产造成广泛冲击。
AMZ123《全球电商市场报告——韩国篇》PDF下载
本报告从电商市场环境、消费者画像与营销选品策略等多个维度,聚焦这一市场进行系统性解读,为跨境卖家精准切入韩国市场,把握增量机遇提 供深度参考。
《TikTok Shop 2026年一季度报告》PDF下载
2026年第一季度,TikTok Shop在全球(基于所提供的10个站点数据)继续保持强劲的增长态势总GMV已达274.53亿美元,整体市场呈现出核心市场GMV体量巨大、新兴市场爆发式增长的特征美国站以69.85亿美元的GMV稳居榜首,对比25年第一季度增长了66%
《2026游戏出海产业深度解析报告》PDF下载
2025年,全球游戏市场彻底走出了调整期,迎来了确定性的复苏增长。根据Newzoo最新发布的全球营收趋势数据显示,2025年全球游戏市场总营收预计将达到1967亿美元,正式逼近2000亿大关。从长期增长曲线来看,行业复合年增长率(CAGR)正从2022-2025年间的4.2%加速攀升,预计在2025-2028年间将达到4.9%,显示出强劲的市场韧性。
《2026数智供应链全球化发展报告》PDF下载
数智供应链是基于实时、全域市场数据的开放共创--消费端洞察可直接反馈至研发与设计环节驱动产品快速迭代;供应链生态内数据、工具能力开放共享,降低上下游创新门槛与成本;带来新材料应用、新工艺优化到订阅制、产品即服务(Paas)等新商业模式涌现。
《2025年中国AI应用出海企业发展需求洞察报告》PDF下载
AI 应用出海企业指专注于人工智能技术研发及应用,通过将自主开发的 AI产品、服务或解决方案推向海外市场,以实现商业价值和全球布局的企业实体。其核心特征是依托人工智能技术优势,开展跨地域的商业活动,目标市场为海外国家和地区。
《中国软件企业在欧洲市场的数据主权与安全合规指南》PDF下载
本白皮书将精准聚焦中国软件企业的出海痛点:从SaaS服务的多租户数据隔离,到DevOps流程中的跨境数据风险,再到软件供应链的安全责任
《日本机会品类调查》PDF下载
本报告中的收纳类别范围是指收纳箱/盒、衣柜/衣橱、衣帽架、彩色收纳盒/书架、开放柜/置物架、钢架和洗衣收纳产品,主要用于日本消费者的客厅、卧室、壁柜和浴室。
《12月刊高潜力品类行业洞察报告》PDF下载
12月,正值圣诞节及年终购物季,消费者对大家电和相机等大件及礼品类需求显著提升,对美容个护、宠物等刚需品类需求稳健。
侃侃跨境那些事儿
不侃废话,挣钱要紧!
跨境科普达人
科普各种跨境小知识,科普那些你不知道的事...
欧洲电商资讯
AMZ123旗下欧洲跨境电商新闻栏目,专注欧洲跨境电商热点资讯,为广大卖家提供欧洲跨境电商最新动态、最热新闻。
亚马逊资讯
AMZ123旗下亚马逊资讯发布平台,专注亚马逊全球热点事件,为广大卖家提供亚马逊最新动态、最热新闻。
AMZ123跨境电商
专注跨境行业热点事件报道,每日坚持推送原创深度热文
跨境电商赢商荟
跨境电商行业唯一一家一年365天不断更的媒体!
AMZ123会员
「AMZ123会员」为出海者推出的一站式私享服务
跨境学院
跨境电商大小事,尽在跨境学院。
首页
跨境头条
文章详情
咨询
官方微信群
官方客服

扫码添加,立即咨询

加群
官方微信群
官方微信群

扫码添加,拉你进群

更多
订阅号服务号跨境资讯
二维码

为你推送和解读最前沿、最有料的跨境电商资讯

二维码

90% 亚马逊卖家都在关注的微信公众号

二维码

精选今日跨境电商头条资讯

回顶部