电子元件库实施决策:Odoo 内建主数据与国内供应商数据集成
决策日期:2026-08-24。
决策
不引入 InvenTree 作为独立部署的元件主数据系统。 改为在现有 Odoo
product.product、product.manufacturer.part 与 product.supplierinfo 模型上持续开发,
并通过已获授权的供应商 API 获取选型、可供库存、阶梯价、交期和采购下单信息。
这样避免新增数据库、服务升级、备份、SSO 和双系统权限的运维负担;新增供应商时只增加
适配器,不改变工程主数据与采购执行的系统边界。
数据归属
Odoo 是唯一的元件主数据与业务执行 Source of Truth:内部物料编码、制造商与 MPN、工程
参数、受控替代关系、BOM、AVL/AML、公司规则、成本、库存与采购订单都在 Odoo 维护。
供应商只提供“外部报价快照”:供应商 SKU、网页链接、库存、阶梯价、币种、MOQ、交期、
数据时间戳和原始响应摘要。外部数据不能自动覆盖已审核的 MPN、规格或 AVL;先匹配
制造商 + MPN,未匹配或冲突的记录进入人工确认队列。
集成架构
新增独立的供应商适配层,而不是把任一商城的字段散落在产品模型中:
component.provider保存供应商、认证方式、启用状态和频率限制。- 每个 provider adapter 实现搜索、料号详情、报价/库存(以及合同允许时的下单)三个
标准能力;凭据仅由密钥管理或部署环境注入。 component.provider.offer保存可追溯的报价快照及其fetched_at,价格不直接覆盖
standard_price;采购询价时按时效和优先级选择。product.manufacturer.part是跨供应商匹配锚点;每个外部 SKU 与该 MPN 建一条映射,支持
一个 MPN 多个来源、多个包装和多个阶梯价。- 同步采用拉取 + 限流 + 缓存 + 失败重试队列;原始 API 响应和字段映射版本须审计。
国内数据源调研与优先级
| 优先级 | 来源 | 已核验能力 | 接入结论 |
|---|---|---|---|
| P0 | 立创商城 | 官网明确标注开放平台支持商品、订单、物流查询;商城和立创 EDA 具备参数选型、实时库存和阶梯价展示。 | 首个适配器;向立创申请正式 API 文档、密钥、QPS 与数据使用许可后实现。 |
| P0 | 云汉芯城 / ICKey | 有公开的数据接口申请页与开发者门户;获批后可用密钥搜索电子元器件公开数据。 | 第二个适配器;先申请测试凭据,验证搜索、详情、库存、价格、替代料字段。 |
| P1 | 华秋商城 | 官网提供终端 API 申请入口;华秋开放平台说明覆盖查询、计价、下单、物流等服务。 | 商务确认元器件目录/库存接口范围后接入;不要把 PCB API 假定为元器件数据 API。 |
| P1 | 华强电子网 / 华强商城 | 平台提供元器件采购、BOM 配单、库存和数据服务;公开页面未提供可直接使用的采购方 API 文档。 | 作为询价、现货补充来源,先取得商业 API/数据授权和服务等级承诺。 |
| P2 | 硬之城 | 提供元器件商城和智能 BOM 配单服务;未发现面向采购方的公开 API 文档。 | 仅在获得官方接口或数据合作授权后纳入适配器。 |
所有接口均以供应商书面授权、数据许可、频率限制、可用性承诺与价格/库存时效为前置条件。
不使用未公开接口、浏览器逆向或网页爬取作为生产集成方式。
实施顺序
- 在现有
inair_electronics_bom中完成 provider、offer、MPN/SKU 映射和人工确认队列的
数据模型;先不碰库存和会计。 - 申请立创商城和云汉芯城测试凭据,分别以 20 个 MPN 验证字段覆盖、限流、错误码和数据
使用条款。 - 实现 P0 适配器与后台“搜索/刷新报价”入口,采购员审核后写入
product.supplierinfo。 - 建立价格/库存快照失效策略、审计日志和监控;验收通过后再评估华秋、华强和硬之城。
结论
选择“Odoo 内建元件库 + 多供应商适配器”。这保留了本项目现有电子 BOM、MPN 和 AVL
扩展的投资,避免 InvenTree 的独立部署复杂性,并以可插拔接口覆盖国内采购数据源。