大家好,我是十三。
导言:为什么需要 SPU 和 SKU?
你一定在电商平台上买过东西。当你打开某个商品页面,比如"iPhone 17 Pro"时,你会发现页面下方有多个选项:
- 颜色:银色、深空黑、原色钛金属、蓝色钛金属
- 存储容量:256GB、512GB、1TB
当你选择了"银色 256GB"后,系统会告诉你:这个规格有货,价格是 8999 元。但如果你选择"深空黑 1TB",价格就变成了 11999 元。
你有没有想过,为什么同一个"iPhone 17 Pro",会有这么多不同的价格和库存状态?系统是如何区分这些"看起来一样,但实际不同"的商品的?
这就是我们今天要探讨的核心概念:SPU 和 SKU。它们是商品管理的基石,也是理解整个库存系统的前提。
SPU:标准产品单元——商品的"身份证"
SPU(Standard Product Unit),即"标准产品单元",你可以把它理解成商品的"产品模板"。
业务定义
SPU 是一组具有相同基本属性、规格的商品集合。它描述的是"什么产品",而不是"具体哪个"。
通俗理解
SPU 就像是一个"产品族"。例如,"iPhone 17 Pro"就是一个 SPU,它定义了产品的基本信息:品牌是 Apple,型号是 iPhone 17 Pro,属于智能手机类别。
SPU 的核心属性
| 属性 | 通俗理解 | 示例 |
|---|---|---|
| 产品名称 | 这个产品叫什么 | "iPhone 17 Pro" |
| 品牌 | 属于什么品牌 | "Apple" |
| 产品类别 | 属于什么类型 | "智能手机" |
| 产品描述 | 产品基本介绍 | "6.1英寸超视网膜XDR显示屏..." |
| 产品图片 | 展示图片 | 主图、详情图等 |
系统体现
在 ERP 系统中,SPU 通常作为商品主数据存在。它不直接参与库存管理,而是作为商品分类和展示的基础。
SKU:库存单位——库存管理的"最小单元"
如果说 SPU 是"产品族",那么 SKU(Stock Keeping Unit) 就是"具体商品"。
业务定义
SKU 是库存单位,是库存管理的最小单元。它是在 SPU 基础上,通过不同属性组合形成的具体商品。每个 SKU 都有唯一的编码。
通俗理解
SKU 是"可以单独管理库存的具体商品"。例如,"iPhone 17 Pro 银色 256GB"就是一个 SKU,它是"iPhone 17 Pro"这个 SPU 的一个具体规格。
SKU 的核心属性
| 属性 | 通俗理解 | 示例 |
|---|---|---|
| SKU 编码 | 唯一标识,就像商品 ID | "IPHONE17PRO-SILVER-256" |
| 所属 SPU | 属于哪个产品族 | "iPhone 17 Pro" |
| 规格属性 | 颜色、尺寸、容量等 | 颜色:银色,容量:256GB |
| 库存数量 | 当前有多少库存 | 50 台 |
| 成本价格 | 采购成本是多少 | 8000 元/台 |
| 销售价格 | 售价是多少 | 8999 元/台 |
系统体现
在 ERP 系统中,所有的库存操作(入库、出库、盘点)都是基于 SKU 进行的。系统会为每个 SKU 单独记录库存数量、成本、价格等信息。
SPU 与 SKU 的关系:一对多
关系模型
一个 SPU 可以对应多个 SKU,但一个 SKU 只能属于一个 SPU。
举个例子
假设"iPhone 17 Pro"是一个 SPU,那么它可能对应以下 SKU:
- "iPhone 17 Pro 银色 256GB"(SKU 编码:IPHONE17PRO-SILVER-256)
- "iPhone 17 Pro 银色 512GB"(SKU 编码:IPHONE17PRO-SILVER-512)
- "iPhone 17 Pro 深空黑 256GB"(SKU 编码:IPHONE17PRO-BLACK-256)
- "iPhone 17 Pro 深空黑 512GB"(SKU 编码:IPHONE17PRO-BLACK-512)
- "iPhone 17 Pro 原色钛金属 1TB"(SKU 编码:IPHONE17PRO-TITANIUM-1TB)
- ...(更多规格组合)
为什么需要这种设计?
- 库存管理精确化:不同规格的商品,库存是独立的,不能混用。你不能把"银色 256GB"的库存,用来满足"深空黑 512GB"的订单。
- 定价灵活性:不同 SKU 可以有不同的价格。256GB 版本可能卖 8999 元,而 1TB 版本可能卖 11999 元。
- 销售统计:你可以统计 SPU 级别的销售数据(所有规格的总和),也可以统计 SKU 级别的数据(具体哪个规格卖得好)。比如,你可以知道"iPhone 17 Pro"这个 SPU 总共卖了多少台,也可以知道"银色 256GB"这个 SKU 卖了多少台。
在采购和库存中的应用
理解了 SPU 和 SKU 的概念后,我们来看看它们在实际业务中是如何应用的。
采购订单中的 SKU
在创建采购订单时,你必须明确到 SKU 级别,不能只写"iPhone 17 Pro"。
错误示例:
采购订单:
- 商品:iPhone 17 Pro
- 数量:100 台
正确示例:
采购订单:
- SKU:IPHONE17PRO-SILVER-256(iPhone 17 Pro 银色 256GB)
- 数量:50 台
- 单价:8000 元/台
- SKU:IPHONE17PRO-BLACK-512(iPhone 17 Pro 深空黑 512GB)
- 数量:50 台
- 单价:9500 元/台
为什么必须明确到 SKU?因为不同 SKU 的成本、价格、库存都是独立的,系统需要精确管理。
库存管理中的 SKU
所有库存操作(入库、出库、盘点)都基于 SKU 进行。
入库时:
入库单:
- SKU:IPHONE17PRO-SILVER-256
- 入库数量:50 台
- 系统自动更新:该 SKU 的物理库存从 0 增加到 50
出库时:
出库单:
- SKU:IPHONE17PRO-SILVER-256
- 出库数量:10 台
- 系统自动更新:该 SKU 的物理库存从 50 减少到 40
库存查询:
查询结果:
- SPU:iPhone 17 Pro
- SKU:IPHONE17PRO-SILVER-256,库存:40 台
- SKU:IPHONE17PRO-SILVER-512,库存:30 台
- SKU:IPHONE17PRO-BLACK-256,库存:20 台
- ...
- SPU 总库存:90 台(所有 SKU 库存之和)
三单匹配中的 SKU
还记得我们在第三篇文章中提到的"三单匹配"吗?在发票校验时,必须确保 PO、入库单、发票中的 SKU 完全一致。
匹配逻辑:
| 匹配项 | 采购订单(PO) | 入库单(GRN) | 供应商发票(Invoice) | 是否匹配 |
|---|---|---|---|---|
| SKU | IPHONE17PRO-SILVER-256 | IPHONE17PRO-SILVER-256 | IPHONE17PRO-SILVER-256 | 匹配 |
| 数量 | 50 台 | 50 台 | 50 台 | 匹配 |
| 单价 | 8000 元/台 | - | 8000 元/台 | 匹配 |
如果 SKU 不一致,比如 PO 是"银色 256GB",但发票是"深空黑 512GB",系统会立即报错,拒绝通过校验。
SPU 与 SKU 的关系图示
为了更好地理解 SPU 和 SKU 的关系,我们可以用一个简单的图示来表示:
SPU: iPhone 17 Pro
├── SKU: 银色 256GB → 库存: 40 台
├── SKU: 银色 512GB → 库存: 30 台
├── SKU: 深空黑 256GB → 库存: 20 台
├── SKU: 深空黑 512GB → 库存: 15 台
└── SKU: 原色钛金属 1TB → 库存: 10 台
这个图示清晰地展示了:一个 SPU(iPhone 17 Pro)可以对应多个 SKU(不同的颜色和容量组合),而每个 SKU 都有自己独立的库存数量。
总结:商品管理的基石
商品管理的两个核心概念:
- SPU(标准产品单元):是"产品族",用于产品展示和分类。它定义了产品的基本信息,但不直接参与库存管理。
- SKU(库存单位):是"具体商品",是库存管理的最小单元。所有的库存操作、采购订单、销售订单都必须明确到 SKU 级别。
它们的关系:一个 SPU 可以对应多个 SKU,但一个 SKU 只能属于一个 SPU。这种设计让系统既能从宏观层面管理产品(SPU 级别),也能从微观层面精确管理库存(SKU 级别)。
理解 SPU 和 SKU,是理解整个商品管理体系的基础。无论是采购、销售,还是库存管理,都离不开这两个概念。下一篇,我们将回到采购流程,探讨一个经常被忽视但对库存预测至关重要的问题:采购在途。
往期回顾
- 业财通识 04:万事俱备,如何优雅地完成供应商付款?
- 业财通识 03:收到供应商账单能直接付款吗?三单匹配与发票校验深度解析
- 业财通识 02:当货物上门,系统里发生了什么?收货、入库与暂估入账全解析
- 业财通识 01:企业花钱的第一步,从采购需求到法律合同
关于十三Tech
资深服务端研发工程师、架构师、AI 编程实践者。
专注分享真实的技术实践经验,持续记录企业系统、架构设计与 AI 编程实践。