在使用 ERP、信息系统,或者是在电商平台上架物品时,系统通常都会要求我们给商品、物品编上一个“号码”,例如“货号”、“物料编号”和“商品编号”,这个过程也就是所谓的“编码”,也许你直觉上会这么做,但我们为什么总是需要为商品进行“编码”呢?
举例来说,不同品牌的原子笔笔芯,在适用型号、实际的颜色、粗细上都有各种差异,但统一登记成“原子笔笔芯”的话根本就无法识别,因此我们才需要配发“身分证字号”,也就是物品的编号,把这些物品给区分开。
不过,如果编码时就像无头苍蝇一样,缺乏适当的方法、原则引导,很容易会衍生各种问题,有些问题可能比较轻微,像是编号太长、太杂、难以阅读;但有些问题的严重性就高出不少,例如同一组商品编号,有的是亲自编码、有的是来自上游供应商,意外引发货号重复,导致编码连“独一无二代号”的效果都无法做到,甚至在系统上扩展出选不到正确的商品、导致信息系统因为逻辑错误死机等等的问题。
另一方面,如果为商品编码时,我们还顺带制定了例如“HA 代表帽子”、“GL 代表手套”这种规则,将物品的归类也一同加入编号,是不是也会让我们更好地找到并归纳物品?
那么有哪些重要原则应该遵循呢?我们以下就整理出了 5 个重要的引导原则,让你可以根据它们,一步步设计出适合自己的编码规则!
编号最重要的目的在于区分每一项物品,那么哪些行为可能会让唯一性被破坏,导致编号无法发挥作用呢?
首先是“没有套用内部规则”,例如下游的店面在进货时,直接沿用上游的原厂货号,如果原厂货号之间的格式、数字正好冲突,就可能让一个号码同时被多个不同的物品采用。
另一个状况则是“没有全组织通用、唯一的规则”,有些企业的部门数量较多,每一个部门都希望内部的编码规则是最有效率的,在编码的规则上就可能各自为政,最后也可能发生同一个编号在各个部门之间,各自代表不同物品的状况。
要确保编码的唯一性,我们建议所有来自外部的物料、商品都必须在组织内部重新编码,且编码的规则应该跨部门、并协调、制定。以避免号码互相冲突,你也可以再藉由信息系统里的“不可重复”设置,或是 Excel 的数据验证功能,让系统也能够在第一时间避免重复。
有很多你可能意想不到的情况,会造成编码出现“变动”,而随意地变动又会为编码的唯一性带来威胁,需要时常检查编号是否冲突,或是检查物品是否已经存在数据库内。
通常来说,变动可以分为编码本身的变动、归类属性的变动,以及人员之间判断的变动:
编码本身的变动:编码只要使用过,就不能够随意更改或是删除,以免未来有需要使用旧数据查询时,没办法找到相对应的物品。
归类属性的变动:假如我们在编码时,加入了像是商品的售价、库存地址这些元素,在未来售价调涨、调降,或者是商品必须移仓时,这些编号是不是反而变成了让生成混淆的阻碍呢?
因此,我们必须要谨慎选择哪些元素应该被用来编码,例如对于制造业和零售业而言,物品的种类、物理或化学性质,以及功能性、用途都是较适合用来编码的选择。
人员判断的变动:如果人员之间判断的规则不同,很可能造成一件物品已经存在数据库内,但是大家的编码方式、解读方式都不一样,生成多个重复的数据。因此在规则的制定上应该尽量完整,避免有让人员自由发挥、解释的空间。
为了确保编码的规则不变动,在初期设计编码时,应该通盘考量未来的经营状况,而不是只依照现有的经营规模来设计。
例如“流水号”这个区块,因为每新增一件物品,流水号就会往前递增一号,所以我们在设计编号时,就应该考虑要为流水号设计多少位数。
假如在刚开始编码时,因为手边只有 15 款衣服,而只为流水号设计了 2 码(01 ~ 99),当未来库存的款式多起来,真的超过 100 款时,就超出这个规则可负荷的数量了。
如果你的产业属于快时尚、电子配件这些产品迭代十分频繁,每季、每年都会推入出新产品或改款的产业,在流水号的消耗上更可能会显着地高过其他产业。
这个时候,我们建议可以将“年份”、“月份”也一起加进编码,这样每一年、每一月的产品流水号都可以置零、重新编排,降低流水号无法负荷的可能性。
如果我们顺带将物品的特征也一起登记在编号上,在看到一串编号的同时,就可以在脑海整理出物品大致的样貌;或是看到物品时就能大致了解编号可能的编排方式:
例如根据上图的规则,在看到编号为 “01A001” 的物品时,就会马上知道是一顶品牌 A 的帽子、“03B002” 则是品牌 B 的鞋子,协助我们更迅速地收小范围、找到物品。
除了将不同的归类一起纳入之外,要如何拿捏各个归类元素之间的顺序、排列也很重要。
你可以尝试从平常管理物品的方式开始,以大归类到小归类的顺序排列,例如店面本身如果是先分物品种类、再分品牌,编码上就同样以“物品种类 + 品牌 + 流水号”的顺序组合编号,方便员工藉平时习惯的顺序找到商品。
在最初编码时,我们就已经确定了每一个位数所代表的意义,因此不管是编号长度太长,还是物品之间的编码长度不同,都会影响我们判读、解析编号的速度与正确性,因此也必须注意长度的设计是否会造成阅读上的困难。
为了避免编码的长度过长,可以考虑省略“缺乏鉴别能力”的元素,以球鞋为例,如果每一个商品都必须包含在某个“系列”当中,但每个系列几乎又都只有一、两种款式,就不需要特别把这项元素用在编码当中。
另外还需要确保同一类物品的编号长度相同。通常来说,未保留扩大弹性是最容易让编号长度生成差异的原因。因此,在输入流水号时,要记得不能随便将 0 省略(例如直接将 01 记成 1),必须始终保留适当的位数。
除了上面的 5 大原则之外,有些常见的小错误也会影响编码的运作与易读性。
例如编号的组成必须要是英文与数字,如果使用中文或是特殊符号的话,在汇出、汇入或是系统移植的时候,就有机会因为目标系统不支持,而生成错误或是变成乱码。
另外,如果你会时常需要利用肉眼识别编号的话,也不建议使用 I、O 这些容易跟数字 1、0 混淆的号码,以免在偶然需要人工识别、输入时发生错误。
如果你不确定应该怎么开始编码的话,可以在这里看看我们提供的制造业、零售业以及工程专案业的编码范例。
对于制造业来说,由于系统内可能会有极大量的数据,因此我们建议先从物品的型态开始归类,例如在第一层就直接筛选出“物料”,之后再依照物品的物理性质与用途归类,就能更有效率地找到需要的物品了:
而零售业则建议用商品本身的归类来一层一层筛选,例如先筛选品牌,再依序选择类型、属性(材质或颜色),找到自己需要的商品:
工程专案类的编码则可以做得较简易,直接根据施作的日期作为归类的标准,就可以用最有效率的方式筛选出需要的数据:
如果你正好是 Ragic 的用户,我们也有一些系统上的使用技巧,只要照着做,就能够让你的编码无后顾之忧,甚至让系统自动、安全地安排编号,省去手动编码的心力!
编码的第一步就是创建编号的唯一性,为此,你可以在记录商品编号的字段上,勾选“不可重复”属性,确保字段值不会与其他数据重复。
藉由自动生成字段,系统就会在新增数据时依照数据的顺序,为每一笔数据编上独一无二的号码:
如果你希望编号可以根据字段跳号,例如将类别设置为“办公用品”与“机器耗材”的物品分开编号,不要都混在一起的话,也可以藉由勾选“指定自动生成编号依据的字段”并选择参照“日期字段”或“选项字段”实现:
如果你希望能对编号格式有更进一步的修改,也能参阅这篇说明,从“格式”的地方自订,让编号依照你的习惯来编排、呈现:
你也可以在格式当中组合其它的参数,例如前面有提到过“产品迭代频繁,担心流水号会不够用”的产业,可以尝试与“日期”组合来让流水号能够重新编序:
举例来说,只要在格式一栏加上 {1,date,yyyyMMdd},系统就会在编号时自动加入编号时的年、月、日,例如 “20230527”,并根据后续的 {0,number,000} 生成流水号,如果是不同日生成的数据,则会再次从 001 号开始编排:
由于流水号重新编序的依据是日期格式,所以如果日期格式为 “yyyyMM”,系统就会根据月份重新编排流水号。你可以再参阅序号格式的文档,自订日期、流水号的呈现方式。
虽然 Ragic 正在积极开发依据多个字段编号的功能,但如果你现阶段需要依据多个字段分别生成独立的流水号,还是可以经由一些小技巧办到:
首先,我们要整理所有的归类,将这些归类登记在选项字段,以便未来直接登记新纪录时直接从这些选项中选取,我们将使用大、小两层归类作为演示:
之后,我们要基于归类字段的值,列出所有可能的排列组合。我们有一份免费的 Excel 范本
(范本来源:indzara.com),可以简单地列出结果。
首先,要将归类依序从大到小,输入进第一栏至第六栏,归类不一定需要填满六栏,但是必须依序填入,不能跳栏填写(例如只填第一跟第三栏,不填写第二栏):
接下来,如果有需要的话可以调整分隔符号,默认为 “-”,如果不需要可以直接移除:
就可以在下方的所有组合当中,将全部的排列组合一次拷贝了:
将 Excel 回传的值全部拷贝后,在 Ragic 新增另一个选项字段并贴上:
并在这个新的字段上套用字符串公式,让系统可以藉由选择的 A1 大归类、A2 小归类,自动产出对应的编码元素:
最后,新增一个自动生成字段,将其指定为根据 A3 的值进行跳号,系统就会基于不同的归类跳号了: