原因码(Reason Codes)
最后更新 2026-10-16
各业务环节统一的标准原因清单:10 个分类(缺货、取消、调整、退货、货损、冻结、盘点、拣选、上架、处置),一键导入默认,业务单据的原因下拉全部从这里读。
原因码是共享主数据:给每个业务环节准备好的标准"原因"选项清单。做单时不用手填文本,直接从下拉里选,报表口径永远统一。每个租户维护自己的一套,每个原因码都有六语言名称(en / zh / es / pt / fr / ja),系统按当前语言自动显示。
为什么用原因码而不是手填#
- 报表口径统一:"Out of stock"、"out of stock"、"缺货"、"没货"不再是四个统计口径——一个码、一个口径。
- 不用 hardcode:业务页面的原因下拉全部从这份主数据读——这里加一条,各页面自动出现,六语言自动带。
- 历史可查:停用某个码只是新单据选不到,老单据照常显示原名。
10 个分类#
每个分类是管理页面的一个 Tab。每个分类一句话:用来干什么、在哪用:
- shortage · 缺货原因:WMS 发货缺货、移动端短拣时用——如"缺货""超卖(账面虚库存)""已被其他订单预留"。
- order_cancel · 取消原因:OMS 订单取消、WMS 预约取消时必填——如"客户要求取消""付款失败/未收到""疑似欺诈"。
- adjustment · 调整原因:WMS 库存手工调增/调减时记录原因——如"盘点差异""发现未入账库存""报废核销"。
- return · 退货原因:RMS 退货登记用——如"产品缺陷/故障""运输途中破损""发错商品"。
- damage · 货损原因:货损登记用,说明货损发生在哪个环节——如"仓库作业破损""叉车/设备碰损""水渍/受潮破损"。
- hold · 冻结原因:库存冻结时说明缘由——如"质量冻结(待检验)""产品召回""检验不合格"。
- cycle_count · 盘点原因:盘点差异登记/过账用——如"发现盘点差异""在错库位发现库存""盘盈/盘亏"。
- picking · 拣选异常:拣选任务异常/短拣时记录——如"拣选缺货(库位库存不足)""预期库位无货""条码/标签无法识别"。
- putaway · 上架异常:上架任务异常时记录——如"目标库位已满""库位被占用/货架损坏""上架时发现破损"。
- disposition · 处置方式:RMS 退货的处置决策——如"回可售库存""翻新/维修""报废处置""退回供应商""捐赠"。
如何管理#
- 打开 Master Data → 原因码。每个分类一个 Tab(共 10 个)。
- 点"一键导入默认",一次载入标准清单。导入是幂等的:只补缺失的条目,您改过名/停用过的条目不会被覆盖。
- 新租户开户时自动导入默认清单,不用手动点。
- 点"新建"加自己的码;改名直接编辑;不用的码停用,别删除。
截图位置:Master Data → 原因码 页面,能看到 10 个分类 Tab 和"一键导入默认"按钮;以及新建/编辑弹窗(六语言名称输入框)。
业务联动#
OMS、WMS、RMS 和移动端的原因下拉全部从这份主数据读,没有 hardcode。在这里维护好清单,各页面自动生效:
- 改名一处,各处显示一起变——历史单据也一样(历史行存的是码,不是名字的快照)。
- 停用只影响新单据——老单据不受影响、照常可查。
- 3PL 场景下原因码是租户级共享主数据——所有客户共用同一套。如需按客户区分,在名称里加前缀,如"客户A — …"。
常见问题#
- 默认清单不贴合我的业务,能改吗?能。改名、停用、新增都随意。之后再点"一键导入",也只会补缺失的条目,不会覆盖您改过的内容。
- 停用某个码会把老单据弄坏吗?不会。老单据存的是码,照常显示;只是新单据的下拉里选不到了。
- 原因码会显示成我的语言吗?会。每个码都有六语言名称,业务页面按您当前的界面语言自动显示。