鞋服商品主数据建模:款色码三层结构、编码规则与字段源头表

鞋服企业的商品主数据,绕不开两个问题:款、色、码三层编码怎么定,每个字段的源头归谁。把编码收在主数据平台里产生,各业务系统只取不改,订货、库存、对账才算得准。

一、同一件衣服为什么会有多个编码

同一件冲锋衣,在不少鞋服企业的系统里能查到五个编码(示意场景):

  • 研发在 PLM 里立款,给一个款号;
  • ERP 建物料,又编一个物料号;
  • 门店收银系统录一个商品码;
  • 电商后台再建一个商品编码;
  • 仓库为了收发货,自己编一套物流码。

这些码各管各的,谁也不认谁。同一件衣服被算成好几种商品,门店说缺货、仓库说有货,月底对账只能导出表格一行一行翻。

码多只是表面,根子上是两个问题:

  1. 没有统一出口。 每个系统都能自己编码,规则各不相同。
  2. 没有统一层级。 研发按款管,订货按颜色管,仓库和收银按尺码管。几个层级混在一张表里,系统之间自然对不上。

所以鞋服商品主数据要先定层级,再定每个字段的源头。

二、款、色、码的三层结构

鞋服商品天然分三层:

层级 业务含义 主要字段 谁最常用
款(SPU) 一个设计款 品牌、品类、年份季节、面料成分、执行标准、吊牌价 研发、商品企划
色(SKC) 款+颜色 颜色、色号、上市波段、陈列图 订货、铺货、补货、陈列
码(SKU) 款+颜色+尺码 尺码、国标码、物流码 仓库、收银、电商

SKC 是鞋服特有的一层,也最容易漏。很多 ERP 只有"物料"一层,只能把 SKU 当商品管。可订货会按颜色下单,门店按颜色陈列,动销分析也按颜色看,这些都要落在 SKC 这一层。在一个鞋服零售企业的方案设计中,我们专门在款和码之间加了 SKC 层,把"款→色→码"补完整。

编码可以这样设计(示例):

层级 编码示意 组成 谁生成
款 M2601 品牌码 M+年份 26+年内流水 01 主数据平台(PLM 立款时申请)
色 M2601-BK 款号+颜色码(BK 为黑色,取自集团色卡) 主数据平台
码 80001234 无含义流水号,尺码作为属性挂在下面 主数据平台

表中位数只是示意。真实项目里,流水位要按品牌一年最多出多少款来留,宁长勿短。

码这一层为什么用流水号:

  • 尺码体系太多。 服装有字母码、身高码,鞋有鞋码,童装还有年龄段,硬塞进编码会越编越长。
  • SKU 数量最大、生命周期最短。 用流水号最稳,改尺码表也不用改码。
  • 可读性交给款号和属性。 业务看到示意编码 M2601-BK 加上尺码 L,就知道是哪一件。

几条要写进制度的规矩:

  • 款号一经生成不改,改款就立新款,旧款号停用、不复用;
  • 颜色码用集团统一色卡,各品牌共用一张颜色字典;
  • 尺码按品类设尺码组(上装、下装、鞋、童装),建 SKU 时只能从尺码组里选;
  • 老编码做映射,不推倒重来,新旧码在平台里一一对应。

三、吊牌价、国标码、物流码以哪个为准

层级定了,第二件事是定源头:每个字段只有一个系统能写,其他系统只读、不改。下面这张表可以直接拿去用,按企业实际调整:

字段 层级 源头系统 负责人 下游怎么用
款号、色号、SKU 码 款 / 色 / 码 主数据平台生成 主数据管理员 所有系统只读
款名、品类、年份季节 款 PLM(研发立款) 研发、商品企划 ERP、电商、收银
面料成分、执行标准、安全类别 款 PLM 研发技术 打印吊牌、电商详情页
颜色 色 PLM 选色(色卡字典在主数据平台) 研发 订货、陈列
尺码 码 PLM 选码(尺码组在主数据平台) 研发 仓库、收银
吊牌价 款(个别品牌到色) 主数据平台审批 商品部 ERP、收银、电商
国标码 码 主数据平台从码池分配 主数据管理员 吊牌、收银、仓库
物流码 码 主数据平台生成 主数据管理员 仓库、物流
品牌、品类分类 款 主数据平台分类字典 主数据管理员 所有系统

配套三条规矩:

  1. 吊牌价进主数据,促销价留在业务系统。 吊牌价印在吊牌上,一款一价,由商品部在主数据平台审批;促销价、折扣价是交易数据,留在价格或营销系统里。
  2. 国标码建码池,由平台分配。 企业申请到的国标码统一放进码池,SKU 审批通过后由平台分配;停用商品的码不随意转给新商品,避免一码两用。
  3. 能自动生成的,不让人手填。 研发数据一来,平台自动生成物流码和国标码,人只负责审核。

第三条,我们在一家运动品牌集团做过:研发系统一来数,平台自动生成物流码和国标码;商品主数据覆盖吊牌、价格、条码,2024 年 6 月 30 日切换上线。

四、多品牌的品类如何归一

多品牌集团最头疼的是分类:每个品牌一棵品类树,集团层面汇总不起来。我们的做法:

  1. 集团一套分类骨架。 大类、中类、小类由集团统一定,例如"鞋 / 跑步鞋 / 竞速跑鞋""服 / 上装 / 羽绒服"(示例)。
  2. 品牌单独做一个维度。 品牌不放进品类树第一层,否则同一个"羽绒服"会在每个品牌下各出现一次,集团看不到总量。
  3. 字典集团共用。 颜色、尺码组、面料成分、年份季节这些字典只有一份,品牌只能选,不能自建。
  4. 品牌可以扩展末级,但要登记。 某个品牌确实需要特殊小类,在主数据平台申请,审批后全集团可见。
  5. 字段做减法。 进主数据平台的只放跨系统共用的字段,只给一个系统用的,留在那个系统。

在一个休闲服饰集团的方案设计中,我们按 SPU/SKU 拆分建模,商品字段从 234 个精简到 122 个,分类按品牌拉通。字段越少,维护的人越容易填准。

五、实施顺序

  1. 盘点。 列出所有会出码的系统,以及每个系统现在的编码规则。
  2. 定标准。 款色码规则、分类骨架、颜色和尺码字典、字段源头表,一起定。
  3. 洗存量。 在售款优先,老款做映射。
  4. 接来数。 PLM 立款自动进主数据平台,不再人工搬。
  5. 上流程。 新款建档、改吊牌价、商品停用,这几类审批先上。
  6. 切分发。 ERP、收银、电商、仓库改为从平台取数,定好旧编码规则停用的日期。
  7. 盯质量。 按唯一性、一致性、完整性、准确性定质量标准,平台定期清洗,自动出质量监控报告。

附:三层模型的表结构与编码校验

款、色、码落成三张表,字段源头靠"谁能写"来约束。下面是示例 DDL,字段名按各自系统改。

三张表

sql 复制代码
-- 款:一个设计款一行
CREATE TABLE mdm_style (
  style_code     VARCHAR(16) PRIMARY KEY,        -- 例:M2601
  brand_code     VARCHAR(8)  NOT NULL,           -- 品牌是字段,不进编码
  category_leaf  VARCHAR(32) NOT NULL,           -- 集团分类骨架的末级
  season_code    VARCHAR(8)  NOT NULL,           -- 年份季节字典
  material_comp  VARCHAR(200),                   -- 面料成分
  exec_std       VARCHAR(64),                    -- 执行标准
  tag_price      DECIMAL(10,2),                  -- 吊牌价,一款一价
  status         VARCHAR(16) NOT NULL,
  owner_dept     VARCHAR(64) NOT NULL
);

-- 色:款 + 颜色,订货和陈列挂在这一层
CREATE TABLE mdm_color (
  skc_code       VARCHAR(24) PRIMARY KEY,        -- 例:M2601-BK
  style_code     VARCHAR(16) NOT NULL REFERENCES mdm_style,
  color_code     VARCHAR(8)  NOT NULL,           -- 取自集团色卡字典
  launch_wave    VARCHAR(16),                    -- 上市波段
  status         VARCHAR(16) NOT NULL
);

-- 码:款 + 色 + 尺码,仓库和收银挂在这一层
CREATE TABLE mdm_size (
  sku_code       VARCHAR(24) PRIMARY KEY,        -- 无含义流水号
  skc_code       VARCHAR(24) NOT NULL REFERENCES mdm_color,
  size_code      VARCHAR(8)  NOT NULL,           -- 从尺码组里选,不手写
  logistics_code VARCHAR(32) UNIQUE,
  national_code  VARCHAR(32) UNIQUE              -- 国标码,由码池分配
);

三层拆开的实际好处:订货按 SKC 汇总,库存按 SKU 记账,动销分析按颜色看,三个口径不用互相折算,也不会把 SKU 当成商品管。

编码规则与校验

sql 复制代码
ALTER TABLE mdm_style
  ADD CONSTRAINT ck_style_code CHECK (style_code ~ '^M[0-9]{2}[0-9]{2,4}$');

-- SKC = 款号 + '-' + 颜色码,拼错直接拒绝
ALTER TABLE mdm_color
  ADD CONSTRAINT ck_skc_code CHECK (skc_code = style_code || '-' || color_code);

颜色和尺码只能从字典里选:

sql 复制代码
CREATE TABLE dict_color (
  color_code VARCHAR(8) PRIMARY KEY,
  color_name VARCHAR(32) NOT NULL
);

CREATE TABLE dict_size_group (
  group_code VARCHAR(16) NOT NULL,   -- 上装 / 下装 / 鞋 / 童装
  size_code  VARCHAR(8)  NOT NULL,
  seq        INT         NOT NULL,
  PRIMARY KEY (group_code, size_code)
);

分发报文

审批通过后一次把三层发给下游,下游只需要处理一个接口:

json 复制代码
{
  "objectType": "PRODUCT",
  "styleCode": "M2601",
  "brandCode": "M",
  "categoryLeaf": "鞋/跑步鞋/竞速跑鞋",
  "tagPrice": 899.00,
  "colors": [
    {
      "skcCode": "M2601-BK",
      "colorCode": "BK",
      "launchWave": "2026Q1-1",
      "sizes": [
        { "skuCode": "80001234", "sizeCode": "L",
          "logisticsCode": "LG26010034", "nationalCode": "6901234567890" }
      ]
    }
  ],
  "version": 3,
  "effectiveDate": "2026-01-15"
}

两条落地细节值得提前定。老编码映射表要带 src_sys 维度,同一个旧码在收银和 ERP 里可能不是同一件商品;国标码用码池分配,唯一性约束只能防重,停用的码不回收才能防一码两用。

说明:本文按企业主数据项目的实施经验整理,客户信息已做匿名处理,文中表结构、报文、编码和数字均为技术示意,仅作同行交流,不构成采购建议。

相关推荐
RestCloud15 小时前
iPaaS集成平台如何打通ERP、CRM、OA等异构系统
数据治理·crm·erp·ipaas·oa·集成平台
百胜软件@百胜软件20 小时前
百胜软件黄飞:让AI真正走进零售,把不确定性变成“胜券在握”
大数据·人工智能·零售
南讯股份Nascent2 天前
私域SCRM系统架构拆解:从身份图谱到自动化触达引擎的选型要点
自动化·用户运营·零售
真上帝的左手2 天前
27. 数据产品-数据治理-11.完整岗位体系
大数据·数据治理·数据架构
Regentsoft丽晶软件2 天前
服装智能配补调系统哪家强?售罄率提升背后的算法逻辑分析
大数据·数据库架构·零售
真上帝的左手2 天前
27. 数据产品-数据治理-13.企业全套制度体系
大数据·数据治理·数据架构
Regentsoft丽晶软件2 天前
全渠道一盘货驱动零售品牌DTC转型,破除传统零售割裂和库存冗余
大数据·人工智能·零售
橙时数据 FineInsight2 天前
指标、规则和业务本体分别解决什么问题:从数据计算到可解释判断
agent·数据治理·指标体系·智能决策·语义建模·业务规则·业务本体
DataX_ruby822 天前
数据中台建设的人力成本测算:全周期岗位配置、三种建设模式对比与隐性成本
大数据·数据治理·数据中台