sku库存:多仓企业一页讲清:SKU编码与提升库存准确率的关系
多仓企业最容易误判的一件事,是把“库存不准”归咎于仓库员工粗心。我的经验是,很多盘亏、错发和系统库存为负,真正的起点并不在盘点环节,而在 SKU 编码:同一商品被建成多个名称、同一编码承载多个规格、不同仓库使用不同单位,最终让每一次入库、调拨、拣货和盘点都建立在错误的商品身份上。SKU 编码不是库存管理的装饰字段,而是多仓库存准确率的主索引。
如果一家企业有 3 个仓库、8000 个 SKU、每天几百笔出入库,编码规则每增加一个模糊点,错误就会沿着订单、采购、仓储和财务流程放大。相反,编码清晰并不意味着库存立刻准确,但它能让错误具备可追溯性、可定位性和可修复性。
库存准确率通常被理解为系统数量与实物数量是否一致。实际管理中,我会把它拆成三个层次:商品身份是否一致、数量是否一致、库存状态是否一致。只看数量,会忽略“颜色错了但数量没错”“可售库存被锁定库存覆盖”等更隐蔽的问题。
| 准确率层次 | 要回答的问题 | 典型错误 | 对经营的影响 |
|---|---|---|---|
| 身份准确 | 这是不是同一个 SKU? | 白色与米色共用编码、不同容量共用编码 | 错发、错采、错配 |
| 数量准确 | 系统数量与实物数量是否相等? | 漏扫、重复入库、损耗未登记 | 缺货、超卖、盘亏 |
| 状态准确 | 这些库存现在能不能卖? | 残次品、冻结品、已分配库存仍显示可售 | 虚假库存、履约失败 |
在多仓环境中,SKU 编码首先解决的是“身份准确”。如果身份都没有统一,后续数量盘点只是对错误对象进行精确计数。编码正确,是库存准确率的必要条件;编码正确,但流程和执行不到位,仍然不足以保证库存准确。
仓库人员需要通过编码快速判断商品,系统则需要通过编码稳定关联采购、库存、订单、批次、库位和成本。两者的需求不完全相同,因此不能只追求“看起来有规律”,也不能只依赖一串没有业务含义的数字。
我通常把 SKU 主数据分成三类字段:第一类是不可变的唯一标识,第二类是可以检索和展示的业务属性,第三类是会随业务变化的运营属性。颜色、尺码、容量、包装规格等应成为商品身份的一部分;供应商、采购价、库位和安全库存则不应被硬编码进唯一标识。
| 字段类型 | 示例 | 是否建议写入 SKU 唯一编码 | 原因 |
|---|---|---|---|
| 商品类别 | 充电器、纸箱、护肤品 | 可写入或由系统映射 | 便于检索,但类别调整不应导致商品改码 |
| 关键规格 | 65W、500ml、L 码 | 应进入商品属性 | 直接影响拣货、定价和可替代性 |
| 供应商 | 供应商甲、供应商乙 | 不建议进入唯一编码 | 供应商可能更换,同一商品不应被拆成多个身份 |
| 仓库与库位 | 华东仓、A-03-02 | 不应进入 SKU 唯一编码 | 仓库和库位是库存维度,不是商品身份 |
| 价格与促销 | 采购价 28 元、活动款 | 不应进入唯一编码 | 价格和活动会变化,写入后会制造大量重复 SKU |
不少团队会设计类似“品类-年份-供应商-仓库-价格-批次”的长编码,以为信息越多,识别越容易。实际运行几个月后,编码会因为供应商切换、仓库变动、价格调整而产生大量历史废码。
我更倾向于采用“稳定主编码 + 结构化属性 + 批次或序列号”的组合。主编码只表达不轻易改变的商品身份,变化频繁的信息放在独立字段中。这样既能让扫码工具稳定工作,也能让分析人员按颜色、仓库、供应商和批次筛选。

我曾经处理过一个典型场景:总部商品表里写“保温杯 500ml 黑色”,一号仓称“黑杯 500”,二号仓称“500 黑保温杯”,电商渠道又使用“TC-BLK-500”。这三个名称在人工看来大概率是同一件商品,但系统不能依靠“看起来像”自动合并。
当一号仓向二号仓调拨时,仓库人员按实物发出了 200 个,接收仓却把它们挂到了另一个相近商品下。总部账面总量可能没有明显减少,但两个 SKU 的库存分别出现一增一减,销售端随后会出现一个 SKU 缺货、另一个 SKU 虚高的假象。
这类错误特别难查,因为总库存可能仍然“对得上”。如果盘点只看品类总数量,而不按 SKU、规格、批次和库存状态逐项核对,问题会被掩盖到售后或退货环节才暴露。
单仓企业可以靠熟练员工记住“这个货放在那一排”。多仓企业一旦增加区域仓、前置仓、退货仓或门店仓,商品身份就必须跨地点保持稳定。否则,总部无法判断哪个仓库是真缺货,哪个仓库只是使用了不同名称。
我在看多仓库存报表时,会先检查四个交叉关系:同一 SKU 是否出现在多个仓库;同一条码是否对应多个 SKU;同一 SKU 是否存在多个基础单位;调拨单上的发货 SKU 与收货 SKU 是否完全一致。只要有一项不稳定,库存准确率通常就不会长期维持。
例如,一箱有 24 个,一包有 6 个,单个也可销售。企业如果只建立“箱、包、个”三个库存名称,却没有定义换算关系,就会出现采购按箱入库、仓库按个拣货、销售按包扣减的情况。系统中的数量看似都有变化,但彼此无法验证。
正确做法不是简单把所有单位都塞进 SKU 名称,而是明确库存基本单位,并建立包装换算规则。若一个商品的箱规会因供应商或批次变化,就不能只使用固定换算比例,还要在收货时记录实际包装信息。
SKU 表示“是什么商品”,批次表示“哪一批商品”,序列号表示“哪一个具体实物”。三者混用,会让退货追溯、保质期管理和售后维修都变得困难。
| 管理对象 | 回答的问题 | 适用场景 | 常见误用 |
|---|---|---|---|
| SKU | 商品的规格和销售身份是什么? | 所有需要库存管理的商品 | 把仓库或售价写成 SKU 身份 |
| 批次 | 这批商品何时生产、从哪里来? | 食品、化妆品、药品、原材料 | 每个批次都新建一个 SKU |
| 序列号 | 这一件商品的唯一编号是什么? | 电子设备、机器、贵重设备 | 用序列号替代商品规格管理 |
| 包装层级 | 箱、包、盒与基本单位如何换算? | 批量采购、拆零销售 | 只记录文字,不建立可计算关系 |

条码只能帮助系统识别被扫描的对象,不能证明条码本身绑定正确。如果一个条码贴错了商品,或者同一条码被绑定了两个规格,扫码反而会让错误更快地进入系统。
我会把条码管理分成“生成、绑定、打印、复核、使用”五个环节。尤其是打印后复核,必须让实物、标签、系统名称和关键属性同时对照,而不能只扫一下看系统弹出了某个名称。
对外部商品条码,也不能默认它就是企业内部库存的唯一主键。一个外部条码可能对应供应商的包装层级,而企业内部需要管理的是单个销售单位;此时应保留外部条码,同时建立内部 SKU 与包装单位的映射。
“编码可读”很重要,但“编码承载所有信息”并不重要。编码一旦包含仓库、货架、供应商、销售渠道和价格,任何一个业务变化都可能引发改码。改码会影响历史订单、库存流水、采购合同和报表连续性。
我的判断标准是:如果某个属性未来可能改变,就不应成为唯一身份的核心部分。例如供应商可以替换、库位会调整、价格会变化,但商品的容量、型号和颜色通常决定它是不是同一个销售对象。
频繁盘点只能发现差异,不能解释差异,更不能阻止差异继续发生。若同一商品有多个编码,盘点人员每次都可能把实物归到不同对象下,结果是盘点动作增加了,数据质量却没有提升。
更有效的方式是先按差异来源分类:身份差异、数量差异、状态差异、单位差异和时间差异。身份差异要回到主数据治理,数量差异要检查扫描和作业,状态差异要检查锁定与释放,单位差异要检查换算规则,时间差异则要检查业务单据是否及时过账。
很多企业为了方便仓库管理,给每个仓库建立一套编码。短期看似灵活,长期却会让总部无法形成统一库存视图。一个商品在三个仓库有三个编码,跨仓调拨就必须依靠转换表,转换表一旦维护滞后,库存就会出现“总量可见、明细不可用”的状态。
仓库差异应通过仓库字段、库位字段和库存组织字段表达,而不是通过改变商品身份表达。只有在商品确实不同,例如包装、配方、规格或质量等级不同,才应建立独立 SKU。
我不建议企业在没有冻结规则、没有映射关系、没有盘点窗口的情况下直接删除旧 SKU。历史订单和财务单据可能仍然引用这些编码,强行删除会造成追溯断裂。
更稳妥的做法是“停用旧码、建立新旧映射、限制新增使用、分批清理库存”。旧编码保留历史可查,但禁止继续创建新单据。等现存库存消化或完成转换后,再根据审计要求决定是否归档。

SKU 是否拆分,不能只看仓库是否觉得它们相似,还要看客户是否会下不同订单、支付不同价格、收到不同实物。如果颜色、容量、尺码、型号或质量等级会影响客户选择,就应当作为独立销售 SKU 管理。
例如,同款衣服不同尺码不能只用一个 SKU 加备注,因为拣货和退货都必须精确到尺码。同样,500ml 与 1L 的清洁剂也不能共用一个 SKU,否则销售预测、可售库存和补货数量都会失真。
有些差异客户未必关心,但仓库必须关心。比如同一产品有普通包装和加固包装,销售页面可能展示为同一商品,但两种包装的采购、占用体积和拣货方式不同。如果库存成本、库容或作业路径明显不同,就需要至少建立包装层级或内部管理 SKU。
这时不一定要把所有内部单位都暴露给客户,而是可以采用销售 SKU、库存 SKU 和包装单位的关联结构。关键是系统必须知道它们之间的可计算关系,并在出入库时明确扣减哪一层。
SKU 合并的最终判断,不是能不能少建几个档案,而是合并后是否仍能正确回答补货、定价、履约、成本和质量追溯问题。如果合并会让这些决策失去依据,就不应为了减少 SKU 数量而合并。
| 判断问题 | 回答“是”时的倾向 | 回答“否”时的倾向 |
|---|---|---|
| 客户会不会选择不同规格? | 拆分 SKU | 继续看内部管理差异 |
| 实物能否混放且无需区分? | 可考虑合并 | 拆分或建立批次、状态管理 |
| 采购价格、成本或供应商质量差异明显吗? | 保留来源字段,必要时拆分 | 可共用商品身份 |
| 退货、召回或质保需要单独追踪吗? | 建立批次或序列号追溯 | 不必把追溯信息写入 SKU |
| 仓库是否按不同单位拣选? | 建立包装层级与换算规则 | 使用统一基本单位 |
在实际治理中,我会让商品、采购、仓储、销售和财务共同填写属性矩阵。每个属性都要标记四件事:是否影响客户选择、是否影响库存计量、是否影响成本、是否影响追溯。只要有两项以上回答为“是”,就不建议简单合并。
这个方法的价值在于,它把“看起来差不多”变成可审查的判断。尤其对于包装、赠品、组合套装和渠道专供商品,属性矩阵能减少销售部门与仓储部门之间反复争论。

下面这个案例来自匿名化项目复盘,数据做了比例化处理,仅用于说明方法。企业有华东、华南、西南和华北四个仓库,约 6200 个活跃 SKU,日均出入库单据约 1800 笔。问题集中在三类商品:不同容量、不同颜色以及箱装和单装混用。
治理前,系统库存记录准确率按 SKU 数量计算为 91.8%,但按可售库存金额加权后只有 87.6%。这说明少量高价值 SKU 的差异,对资金和履约的影响远高于普通商品的平均差异。
他们最初提出的方案是全面盘点四个仓库,并增加夜班复核。我们没有立即同意,而是先抽取 400 个差异 SKU,检查差异是否集中在特定编码结构和作业环节。结果发现,约 46% 的差异涉及重复档案或单位换算,另有 22% 涉及调拨过账时点。
第一步是建立商品身份判定表。凡是客户可选择的容量、颜色、型号和尺码,全部进入独立属性;仓库、供应商和价格移出 SKU 主键。第二步是为每个旧 SKU 建立新旧映射,禁止旧码新增业务,但保留历史查询。
第三步是统一库存基本单位。箱、包和个不再分别作为含义模糊的商品名称,而是建立包装层级。收货时必须记录采购单位与基本单位的换算,拣货时按基本单位扣减,出库单据同时展示包装单位,降低一线人员的理解成本。
第四步是把调拨流程拆成发货、在途、收货三个状态。发货仓扣减可用库存后,数量进入在途;收货仓扫描确认后,才进入目标仓可用库存。这样可以避免调拨单长时间停留在“已创建但未完成”的中间状态。
经过约 10 周的分批治理,样本中的 SKU 记录准确率从 91.8% 提升到 97.1%,金额加权准确率从 87.6% 提升到 95.4%。人工查找差异的月度工时从约 96 小时下降到 38 小时,调拨异常单比例从 6.4% 降到 2.1%。
这里需要强调,改善并非只来自重新编码。同步发生的还有收货复核、调拨状态、盘点抽样和库存状态分离。因此,不能把这组结果解读成“改了 SKU 编码就能提升 5 个百分点”。更准确的结论是:编码治理让其他库存控制动作有了可靠的对象,减少了错误归因和重复返工。
| 观察指标 | 治理前 | 治理后 | 变化 | 解释 |
|---|---|---|---|---|
| SKU 记录准确率 | 91.8% | 97.1% | 提升 5.3 个百分点 | 身份、单位和调拨关系更稳定 |
| 金额加权库存准确率 | 87.6% | 95.4% | 提升 7.8 个百分点 | 优先处理了高价值、高差异商品 |
| 调拨异常单比例 | 6.4% | 2.1% | 下降 4.3 个百分点 | 发货、在途和收货状态被拆开管理 |
| 差异查询工时 | 96 小时/月 | 38 小时/月 | 减少 58 小时/月 | 主数据映射和流水追踪减少人工排查 |

很多企业会先定一个“库存准确率达到 98%”的目标,然后要求仓库加快盘点。这个顺序容易导致团队为了达标而调整数据,而不是解决差异。更可靠的顺序是先确认差异类型,再确认涉及的 SKU 族群,随后验证流程节点,最后设定分层目标。
例如,快消品可以按高周转、高金额、临期和高退货率进行重点管理;工业备件则要把序列号、替代料和维修领用纳入核查;服装企业要重点检查颜色、尺码和吊牌条码。不同业务的准确率口径不能机械套用。
数据字典不是一张名称清单,而是每个字段的定义、格式、必填规则、维护责任和变更权限。至少应明确商品名称、基本单位、规格属性、外部条码、包装层级、批次要求、序列号要求、库存状态和仓库适用范围。
全量清洗容易让项目陷入几个月的字段争论。我建议先抽取四类样本:高差异 SKU、高价值 SKU、跨仓流转 SKU 和近期新增 SKU。它们最能暴露编码规则、单位换算、条码绑定和审批流程的问题。
抽样时要同时看主数据和业务流水。只看商品档案,无法发现某个 SKU 在实际收货时被按箱登记、销售时被按个扣减;只看流水,也难以判断两个编码是否本应合并。
规则必须写成可执行的判断条件,而不是“相似商品合并”“特殊商品单独管理”这类模糊表述。比如,“客户可选择的容量不同,必须拆分”;“仅供应商不同但规格和销售对象相同,不新建 SKU”;“历史编码保留查询但禁止新增业务”,这些规则才方便审批和复核。
映射表至少要包含旧编码、新编码、旧名称、新名称、合并或拆分原因、生效日期、剩余库存数量和责任人。若一个旧 SKU 拆成多个新 SKU,必须记录拆分依据,不能只在备注中写“已处理”。
旧编码 新编码 处理关系 基本单位 生效日期
OLD-001 A-000245 合并 个 2026-06-01
OLD-002 A-000245 合并 个 2026-06-01
OLD-003 A-000246 拆分 瓶 2026-06-01
OLD-004 A-000247 拆分 瓶 2026-06-01
上面的示例中,OLD-001 与 OLD-002 只有供应商名称不同,因此可以合并;OLD-003 与 OLD-004 如果容量或配方不同,就必须拆分。代码本身只是映射结果,真正重要的是每一条关系都能解释。
这一阶段最容易出现“系统规则正确、现场无法执行”的问题。仓库人员可能按整箱收货,却拿不到单个条码;或者一个箱码拆开后,剩余数量没有被正确换算。因此需要对每个包装层级进行实物验证。
“系统里有 100 个”并不等于“还能卖 100 个”。至少应区分可用、已分配、锁定、质检、残次、冻结、在途和待上架等状态。SKU 编码统一后,状态字段仍然需要独立维护,否则企业只是从“商品识别不准”换成“可售数量不准”。
编码治理不是一次性项目。新品会持续增加,供应商会更换,渠道会创建新商品,仓库也会改变包装方式。每月应检查新增重复率、条码冲突率、调拨匹配率、盘点差异率和停用 SKU 的再次使用率。
| 指标 | 计算方式 | 建议观察频率 | 异常含义 |
|---|---|---|---|
| 新增 SKU 重复率 | 疑似重复新增数 ÷ 新增总数 | 每周 | 商品建档审核不足 |
| 条码冲突率 | 一条码对应多 SKU 的数量 ÷ 条码总数 | 每周 | 绑定、打印或导入存在问题 |
| 调拨匹配率 | 无编码异常调拨单 ÷ 调拨单总数 | 每日或每周 | 跨仓主数据或状态衔接不稳定 |
| 盘点差异率 | 差异 SKU 数 ÷ 抽盘 SKU 数 | 按周期 | 需要区分身份、数量和状态原因 |
| 旧码复用率 | 停用旧码新增使用次数 | 每月 | 业务人员绕过主数据规则 |

如果企业只有一个或两个仓库,SKU 数量在几百到几千之间,优先级通常不是购买复杂工具,而是建立唯一编码、商品属性和包装换算。用表格也可以启动,但必须保证只有一个主数据来源,并且设置新增审批。
这个阶段的取舍是:宁可让新品建档慢半天,也不要让错误 SKU 在当天进入销售和仓储流程。早期多花几分钟核对,通常比后期花数小时查错更便宜。
当企业拥有区域仓、前置仓、门店仓或退货仓时,首要任务是统一商品主键和库存状态。不同仓库可以有不同库位、作业策略和补货参数,但不能各自维护一套互不兼容的商品编码。
这个阶段适合把调拨过程做成明确的状态链,并要求发货与收货都扫描同一 SKU。若仓库网络不稳定,应设计离线缓存或异常补录机制,否则现场为了赶进度会绕过扫描。
当商品数量上万、渠道较多时,最危险的不是编码不够漂亮,而是任何部门都能创建 SKU。销售为了上架、采购为了下单、仓库为了收货,各自新建一个名称,最终形成大量重复商品。
此时应设置主数据管理员或委员会,明确谁可以申请、谁负责审核、谁负责发布、谁批准停用。系统可以自动提示疑似重复,但最终仍需要业务判断,尤其是组合装、赠品和渠道专供商品。
食品、化妆品、药品和部分原材料企业,库存准确率不仅看数量,还要看效期、批次和质量状态。此时应优先建设批次规则、先进先出或近效期先出规则,以及质检放行状态。
如果每个批次都新建 SKU,报表会迅速膨胀,替代关系和历史销量也会被切断。更好的做法是保持商品 SKU 稳定,把批次、生产日期、效期和检验状态作为独立库存属性。
电子设备、仪器和贵重备件可能需要序列号管理、出入库复核和售后绑定。这样做会增加作业时间,但可以显著降低串货、错发和售后争议。不要为了追求拣货速度,取消本来必要的序列号核验。
这类企业的取舍非常明确:低价值高周转商品追求效率,高价值低周转商品追求可追溯性。所有 SKU 使用同一套作业强度,反而会让运营成本失去控制。
| 企业情况 | 首要动作 | 可以暂缓的动作 | 主要取舍 |
|---|---|---|---|
| 单仓、SKU 较少 | 统一编码、单位和新增审核 | 复杂的自动补货模型 | 用管理纪律换系统投入 |
| 多仓、调拨频繁 | 统一主键、在途状态和跨仓映射 | 过度细分仓库专属编码 | 用全局一致性换局部灵活 |
| 多渠道、快速上新 | 主数据权限和重复检测 | 一次性清理全部历史档案 | 用审核时间换长期数据质量 |
| 批次、效期敏感 | 批次、效期和质量状态管理 | 为每个批次创建新 SKU | 用独立追溯属性换编码稳定性 |
| 高价值序列化商品 | 序列号绑定与出入库复核 | 完全依赖人工记忆 | 用作业时间换风险控制 |

识别错误包括重复 SKU、属性缺失、单位不统一、条码绑定错误和跨仓编码不一致。执行错误包括漏扫、错放、错拣、调拨未过账、退货未入库和库存状态未更新。两类错误的处理方式不同,不能都归结为“加强培训”。
如果识别错误没有解决,培训只能让员工更熟练地使用错误规则;如果执行错误没有解决,再好的主数据也会因为现场漏扫而失真。专业管理的关键,是先定位错误发生在哪一层,再安排对应的控制动作。
这三个问题分别对应“识别、计量、追溯”。它们比单独问“库存准确率是多少”更有价值,因为一个漂亮的平均值可能掩盖了高价值商品、关键仓库和重点渠道的严重差异。
如果你现在就要启动,建议不要从全量重建编码开始,而是先选一个仓库、一个高差异品类和一组跨仓流转 SKU 做小范围验证。用两周时间完成样本抽取、编码判定、条码复核、单位验证和盘点对照。
最终不要只问“编码改完了吗”,而要问“仓库能不能用同一个身份收货、存储、调拨、拣货、退货和盘点”。真正高质量的 SKU 体系,不是让编码看起来复杂,而是让每一次库存变化都能准确地落到同一个商品身份、正确的数量和明确的状态上。
我的独特判断是:多仓企业提升库存准确率,最先该投资的往往不是更多盘点人力,而是商品身份的稳定性。编码统一之后,盘点才知道在盘什么,调拨才知道在移动什么,报表才知道在汇总什么,经营者也才有可能基于真实库存做采购、补货和履约决策。
我以前一直以为库存不准,主要是仓库盘点不认真,后来在一次多仓项目复盘中发现,真正的起点往往是SKU编码。不同仓库把同一款商品写成不同名称,或者把颜色、尺寸、包装规格混在一个编码里,后面的收货、调拨、盘点都会持续产生误差。
我想知道,SKU编码不就是给商品起个编号吗?为什么一个编码设计问题,会一路影响到库存数量、仓间调拨,甚至影响订单能不能正常发出?如果企业已经有几千甚至几万个SKU,现在再改编码还来得及吗?
我测试过两种思路:一种把品类、颜色、规格都写进编码,另一种只使用无业务含义的流水号,把属性放到系统字段里。前者看起来直观,但商品一多就容易改码;后者不容易冲突,却要求主数据、条码和查询机制足够可靠。
我所在的企业有多个仓库和多个销售渠道,仓库人员希望一看编码就知道商品是什么,财务和系统人员又担心编码太长、规则变更后无法维护。到底应该选有含义编码,还是选看不出商品信息的流水编码?
我见过企业花几个月清洗SKU,统一名称和条码,但库存准确率只提升了一点,因为仓库仍然允许无单收货、手工改数量和跨仓借货。编码解决的是识别问题,流程解决的是库存变化是否被完整记录,二者缺一不可。
我已经把商品编码统一了,但系统库存和仓库实物仍然经常对不上。尤其是调拨、退货、赠品和拆箱场景,大家都觉得数量变化很小,不值得单独建单,可月底盘点时差异却集中爆发,我应该先改哪几个流程?
以前我用一个指标判断库存是否改善:账面数量和实物数量是否一致。后来发现这个指标太粗,盘点前临时修正就可能让结果看起来很好,但订单仍会缺货、调拨仍会丢失,所以我改成同时看准确率、差异金额、订单满足率和异常关闭时长。
我正在评估是否要更换库存管理系统,供应商都说支持多仓、条码和库存预警,但我不知道应该用什么数据验证效果。除了看功能清单,我应该设计怎样的测试,才能判断SKU治理和系统能力是否真的解决了问题?


读者评论
我们以前一直把库存差异归因于盘点不及时,后来才发现同一商品在不同仓库有不同叫法,调拨时经常挂错 SKU。文章把“身份准确、数量准确、状态准确”分开讲,这个划分比较实用,尤其适合排查总库存没问题但明细错乱的情况。
关于组合装和拆零的部分很有共鸣。采购按箱、仓库按个、销售按包,如果没有明确基本单位和换算关系,系统里的数量变化看似正常,实际根本无法核对。建议企业先统一单位规则,再考虑增加盘点频率。
我比较认可不要把仓库、供应商和价格写进唯一编码。我们之前改供应商后重新建码,历史订单和库存流水很难追溯,后来只能做映射。稳定主编码加属性字段虽然前期整理工作量大,但长期更利于跨仓调拨和异常定位。