大家好,我是十三~
你一定在电商平台上买过东西。当你打开某个商品页面,比如"iPhone 17 Pro"时,你会发现页面下方有多个选项:
当你选择了"银色 256GB"后,系统会告诉你:这个规格有货,价格是8999元。但如果你选择"深空黑 1TB",价格就变成了11999元。
你有没有想过,为什么同一个"iPhone 17 Pro",会有这么多不同的价格和库存状态?系统是如何区分这些"看起来一样,但实际不同"的商品的?
这就是我们今天要探讨的核心概念:SPU 和 SKU。它们是商品管理的基础,也是理解整个库存系统的前提。
SPU (Standard Product Unit) ,即"标准产品单元",你可以把它理解成商品的"产品模板"。
业务定义:SPU是一组具有相同基本属性、规格的商品集合。它描述的是"什么产品",而不是"具体哪个"。
通俗理解:SPU就像是一个"产品族"。例如,"iPhone 17 Pro"就是一个SPU,它定义了产品的基本信息:品牌是Apple,型号是iPhone 17 Pro,属于智能手机类别。
SPU的核心属性:
系统体现:在ERP系统中,SPU通常作为商品主数据存在。它不直接参与库存管理,而是作为商品分类和展示的基础。
如果说SPU是"产品族",那么 SKU (Stock Keeping Unit) 就是"具体商品"。
业务定义:SKU是库存单位,是库存管理的最小单元。它是在SPU基础上,通过不同属性组合形成的具体商品。每个SKU都有唯一的编码。
通俗理解:SKU是"可以单独管理库存的具体商品"。例如,"iPhone 17 Pro 银色 256GB"就是一个SKU,它是"iPhone 17 Pro"这个SPU的一个具体规格。
SKU的核心属性:
系统体现:在ERP系统中,所有的库存操作(入库、出库、盘点)都是基于SKU进行的。系统会为每个SKU单独记录库存数量、成本、价格等信息。
关系模型:一个SPU可以对应多个SKU,但一个SKU只能属于一个SPU。
举个例子:
假设"iPhone 17 Pro"是一个SPU,那么它可能对应以下SKU:
为什么需要这种设计?
理解了SPU和SKU的概念后,我们来看看它们在实际业务中是如何应用的。
在创建采购订单时,你必须明确到SKU级别,不能只写"iPhone 17 Pro"。
错误示例:
正确示例:
为什么必须明确到SKU?因为不同SKU的成本、价格、库存都是独立的,系统需要精确管理。
所有库存操作(入库、出库、盘点)都基于SKU进行。
入库时:
出库时:
库存查询:
还记得我们在第三篇文章中提到的"三单匹配"吗?在发票校验时,必须确保PO、入库单、发票中的SKU完全一致。
匹配逻辑:
如果SKU不一致,比如PO是"银色256GB",但发票是"深空黑512GB",系统会立即报错,拒绝通过校验。
为了更好地理解SPU和SKU的关系,我们可以用一个简单的图示来表示:
这个图示清晰地展示了:一个SPU(iPhone 17 Pro)可以对应多个SKU(不同的颜色和容量组合),而每个SKU都有自己独立的库存数量。
商品管理的两个核心概念:
它们的关系:一个SPU可以对应多个SKU,但一个SKU只能属于一个SPU。这种设计让系统既能从宏观层面管理产品(SPU级别),也能从微观层面精确管理库存(SKU级别)。
理解SPU和SKU,是理解整个商品管理体系的基础。无论是采购、销售,还是库存管理,都离不开这两个概念。
资深服务端研发工程师、架构师、AI 编程实践者。 专注分享真实的技术实践经验,相信 AI 是程序员的最佳搭档。 希望能和大家一起写出更优雅的代码!
大家好,我是十三~
导言:为什么需要SPU和SKU?
你一定在电商平台上买过东西。当你打开某个商品页面,比如"iPhone 17 Pro"时,你会发现页面下方有多个选项:
当你选择了"银色 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的核心属性:
系统体现:在ERP系统中,SPU通常作为商品主数据存在。它不直接参与库存管理,而是作为商品分类和展示的基础。
SKU:库存单位——库存管理的"最小单元"
如果说SPU是"产品族",那么 SKU (Stock Keeping Unit) 就是"具体商品"。
业务定义:SKU是库存单位,是库存管理的最小单元。它是在SPU基础上,通过不同属性组合形成的具体商品。每个SKU都有唯一的编码。
通俗理解:SKU是"可以单独管理库存的具体商品"。例如,"iPhone 17 Pro 银色 256GB"就是一个SKU,它是"iPhone 17 Pro"这个SPU的一个具体规格。
SKU的核心属性:
系统体现:在ERP系统中,所有的库存操作(入库、出库、盘点)都是基于SKU进行的。系统会为每个SKU单独记录库存数量、成本、价格等信息。
SPU与SKU的关系:一对多
关系模型:一个SPU可以对应多个SKU,但一个SKU只能属于一个SPU。
举个例子:
假设"iPhone 17 Pro"是一个SPU,那么它可能对应以下SKU:
为什么需要这种设计?
在采购和库存中的应用
理解了SPU和SKU的概念后,我们来看看它们在实际业务中是如何应用的。
采购订单中的SKU
在创建采购订单时,你必须明确到SKU级别,不能只写"iPhone 17 Pro"。
错误示例:
正确示例:
为什么必须明确到SKU?因为不同SKU的成本、价格、库存都是独立的,系统需要精确管理。
库存管理中的SKU
所有库存操作(入库、出库、盘点)都基于SKU进行。
入库时:
出库时:
库存查询:
三单匹配中的SKU
还记得我们在第三篇文章中提到的"三单匹配"吗?在发票校验时,必须确保PO、入库单、发票中的SKU完全一致。
匹配逻辑:
如果SKU不一致,比如PO是"银色256GB",但发票是"深空黑512GB",系统会立即报错,拒绝通过校验。
SPU与SKU的关系图示
为了更好地理解SPU和SKU的关系,我们可以用一个简单的图示来表示:
这个图示清晰地展示了:一个SPU(iPhone 17 Pro)可以对应多个SKU(不同的颜色和容量组合),而每个SKU都有自己独立的库存数量。
总结:商品管理的基石
商品管理的两个核心概念:
它们的关系:一个SPU可以对应多个SKU,但一个SKU只能属于一个SPU。这种设计让系统既能从宏观层面管理产品(SPU级别),也能从微观层面精确管理库存(SKU级别)。
理解SPU和SKU,是理解整个商品管理体系的基础。无论是采购、销售,还是库存管理,都离不开这两个概念。
👨💻 关于十三Tech
资深服务端研发工程师、架构师、AI 编程实践者。
专注分享真实的技术实践经验,相信 AI 是程序员的最佳搭档。
希望能和大家一起写出更优雅的代码!