如何在单个xlsx单元格填写多供应商信息正确导入Odoo
Odoo Excel导入单单元格关联多供应商解决方案
问题背景
需求为通过供应商名称匹配,在产品模板导入时实现单Excel单元格填写多个供应商,让Odoo正确识别为多个独立供应商主体,无需逐行拆分单条供应商记录,也无需提前获取供应商的数据库ID/外部键。
- 不推荐的逐行单供应商填写格式参考:

- 目标实现的单单元格多供应商效果参考:

- 需要规避的整段内容识别为单个供应商的错误效果参考:

具体实现方法
Odoo原生导入逻辑已经内置了one2many关联字段(产品模板的供应商栏位即属于该字段类型)的多值分隔规则,不需要额外开发或写自定义分隔表达式,直接按照以下规则填写即可:
- 同个单元格内的不同供应商名称,使用英文半角逗号
,作为分隔符,禁止使用中文逗号、顿号、分号、斜杠等其他符号作为分隔 - 填写的供应商名称必须和Odoo系统内已存在的供应商档案名称完全一致,大小写、特殊字符不能有偏差,否则会出现匹配失败、自动创建冗余供应商的问题
- 逗号前后不建议加多余空格,若存在空格Odoo会自动做trim处理匹配,但为了降低匹配失败概率,建议直接拼接为
供应商A,供应商B,供应商C的格式 - 如果某一个供应商的名称本身就包含英文半角逗号,需要把这个供应商的名称整体用半角双引号
"包裹,避免Odoo误把名称内部的逗号当成分隔符,例:"XX供应商(华东区, 授权经销商)",YY供应商,ZZ供应商
校验&排错方法
- 正式导入前先做小批量测试,在导入预览界面即可查看识别结果:如果供应商字段显示为多个拆分后的标签块,代表分隔识别正确;如果显示为整段连续文本,说明分隔符使用错误
- 若出现整段内容被识别为单个供应商的问题,优先检查分隔符是否误用了中文全角符号,这是最高发的故障原因
- 若提示供应商不存在,先用Excel的
TRIM()、CLEAN()函数批量清理单元格内的首尾空格、不可见换行符,再核对名称和系统主数据是否完全一致 - 导入前必须确保所有需要关联的供应商都已经在Odoo供应商主数据中提前创建完成,不要依赖导入时自动创建供应商的逻辑,避免生成重复/错误的供应商档案
内容的提问来源于stack exchange,提问作者for-loop
相关产品推荐
相关产品推荐

