直接回答
归一化供应商库存时,要把身份、来源、地区、数量语义、交期、价格和新鲜度分开。可以把不同供应商的值映射为少量共同状态,但必须保留原始响应和证据。只有当来源与含义仍然可追溯时,“有库存”这个统一标签才有用。
为什么归一化并不简单
不同供应商通常用不同字段表达相近概念。有的接口分别返回可用数量和预计数量;有的接口使用库存代码、交付估计或文本标签。地区站点还可能同时改变币种和库存范围。
如果系统只保留一个数量和一个状态,就丢掉了采购人员需要的上下文:在哪个地区有货、对哪个数量有货、在什么时间观测到、依据哪一个来源?
可用 MPNRadar组织观测,参考证据优先的库存监控保存来源和时间。目标是建立共同的决策层,不是制造一个不存在的供应商通用词典。
定义标准化观测
可以使用如下字段模型:
| 字段 | 作用 |
|---|---|
manufacturer | 制造商身份 |
mpn | 精确制造商料号 |
source | 供应商或分销商系统 |
sourcePartNumber | 供应商 SKU 或编号 |
region | 站点、发货地区或仓库范围 |
currency | 价格使用的币种 |
requestedQuantity | 查询时请求的数量 |
availableQuantity | 来源报告的当前可用数量 |
expectedQuantity | 未来或待补货数量 |
leadTime | 来源提供的交期或制造商估计 |
rawStatus | 供应商原始状态 |
normalizedStatus | 共同运营状态 |
observedAt | UTC 观测时间 |
实现中的字段名可以不同,关键是保留这些维度的分离关系。
把身份和商业编号分开
供应商 SKU 不一定是 MPN。同一个 MPN 可能因包装、地区或订购渠道拥有多个供应商 SKU。供应商也可能列出套件、卷装、散装或与原料号有关系但并非同一个可订购身份的结果。
DigiKey 的 Product Information V4 API说明它支持制造商料号和 DigiKey 料号的查询。Element14 的产品搜索 API 文档也描述了关键词、产品编号和制造商料号搜索。正因为如此,归一化记录应同时保存请求的身份和返回的供应商身份。
归一化状态,但不要归一化歧义
可以建立少量共同状态,并且必须保留未知状态:
``text AVAILABLE 当前可用 LIMITED 数量有限 BACKORDERED 待补货或预订 OUT_OF_STOCK 明确无可用库存 NOT_STOCKED 非常备库存 DISCONTINUED 已停产或不再制造 UNKNOWN 不能得出结论 STALE 观测过期 ERROR 请求或解析失败 ``
再按来源保存映射表:
| 来源值 | 归一化状态 | 映射说明 |
|---|---|---|
| 明确的可用代码 | AVAILABLE | 先确认数量的含义 |
| 只有预计库存 | BACKORDERED | 不加到当前可用数量 |
| 非常备库存 | NOT_STOCKED | 可能需要询价或直发 |
| 无效响应 | ERROR | 不得得出市场结论 |
| 在窗口内无响应 | STALE 或 ERROR | 保留旧观测并显示时间 |
除非供应商明确规定空值等于零,否则不要把空字段映射为 OUT_OF_STOCK。
保留数量的语义
供应商的数量可能表示:
- 某个仓库的可用量;
- 一个地区网络的总量;
- 未来某日预计到货量;
- 面向公共访客的最大展示数量;
- 特定客户账户可获得的数量;
- 应用请求数量后剩余的可用量。
在连接器说明中保存供应商对字段的定义。如果同时返回当前库存和预计库存,应分别保存。Element14 文档中描述了可用库存、预计库存和地区分解字段,这些差异在归一化后仍应保留。
把地区和币种作为一等字段
没有地区的库存数量很难采购。要记录查询使用的站点或地区,以及发货地假设。一个仓库有货,不代表另一个仓库也有货。价格还可能受到币种、客户账户、合同、税费或数量的影响。
合并结果前检查:
| 问题 | 必须记录 |
|---|---|
| 可以发到哪里? | 站点、仓库或地区 |
| 这个数量表示什么? | 当前可用和预计库存的语义 |
| 价格如何计算? | 币种、数量档位和账户上下文 |
| 什么时候检查的? | observedAt 和时区转换 |
| 结果能否比较? | 同一 MPN、封装、数量和地区基础 |
如果比较基础不同,应展示多条来源观测,而不是生成一个排名数字。
把交期作为独立字段
交期可能是制造商估计、供应商交付估计、补货日期或文本范围。比较前先保存类型:
``text leadTimeType: supplier_estimate | manufacturer_estimate | expected_stock_date | unknown leadTimeValue: leadTimeUnit: leadTimeObservedAt: ``
不能把“现货可发”和“制造商交期 15 周”直接换成同一个数字。区分供应商信号与交付承诺对此有更详细的处理方式。
保存原始证据指针
归一化记录是决策视图。应按公司保留规则保存原始响应、页面截图、供应商文件或请求元数据的引用。这样当供应商修改响应结构、解析器映射错误或采购人员质疑旧告警时,可以回溯原因。
不要把连接器凭据写入证据记录,凭据应由批准的密钥系统管理。
测试归一化映射
为一个来源启用告警前,至少测试:
- 精确的现货产品;
- 只有预计库存、没有当前数量的产品;
- 明确缺货的结果;
- 停产或非常备库存结果;
- 无效 MPN 或空结果;
- 超时或限流响应。
不但要断言归一化状态,还要断言原始原因。只通过正常路径的映射还不能投入使用。
采购团队常问的问题
可以把多个供应商库存相加吗?
只有在确认它们对应相同 MPN、封装、地区和库存定义后才可以。很多时候,按来源分开展示比求和更安全。
预计库存要算进 BOM 需求吗?
不要把它当作当前可用库存。企业政策可以考虑预计库存,但必须保留预计日期和不确定性。
供应商改了字段名怎么办?
把连接器标记为需要复核,保留最后一条有效观测及其时间戳,不要用未经验证的新解析器发布当前状态。
最后检查
归一化后的库存记录应让采购人员把每个共同标签追溯到来源值、地区、数量基础和观测时间。歧义不能隐藏。MPNRadar 可以组织观测,但实时下单仍应以供应商页面、API 和制造商记录为准。
相关内容:减少 BOM 监控误报、未知库存不等于缺货、采购前核验供应商结果。
Audience and limitations / 适用范围与限制
本文适用于需要监控电子元器件供应、采购和工程风险的团队。This article does not promise supplier accuracy, stock, price, delivery, lifecycle status, eligibility, approval, savings, or any specific business outcome. 具体决定仍应以当前来源、制造商资料、供应商条款和公司审批为准。