先说结论
Odoo 采购目录里看到的价格、最小起订量和包装单位提示,不是随便展示的。
它们来自一条很明确的取数链:
- 先按供应商和日期选 seller
- 再看 seller 的
min_qty - 再判断是否要做 UoM 转换
- 最后把包装单位、价格和显示单位一起返回给前端
所以目录不是“商品列表美化版”,而是采购报价规则的前台入口。
为什么最小起订量会出现在目录里
采购目录要帮采购员快速选货,所以它会直接告诉你:
- 这个供应商给你的参考价格是多少
- 这个价格对应什么数量级
- 是否存在最小起订量
源码里会根据 ordered_by='min_qty' 去选 seller,这样返回的结果更符合采购实际,而不是一个死板的标准价。
为什么 UoM 显示会影响价格理解
如果供应商价目表的单位和产品默认单位不同,系统还要再做一次换算。
也就是说:
- 价格数字本身可能一样
- 但它对应的单位不一定一样
- 如果不把 UoM 一起显示出来,就很容易误读价格
这就是为什么目录里总会伴随 uomDisplayName、uomFactor 之类的信息。
包装单位为什么会被强调
包装单位不是纯展示信息,它会影响:
- 采购下单数量
- 供应商报价理解
- 采购员对最小采购量的判断
如果你只看“每个多少钱”,不看包装单位,很容易下出看似便宜、其实数量不对的单。
调试时该怎么看
如果目录里显示不对,先查:
- seller 是不是选对了
min_qty是否被考虑进去- 供应商单位和产品单位是否一致
- 是否发生了价格换算
- 目录前端看到的是不是已经换算后的展示值
很多“价格错了”的问题,其实是单位错了。
实战建议
- 不要把采购目录当成简单商品清单
min_qty、UoM 和价格应该一起看- 如果供应商单位不同,先确认换算逻辑
- 目录展示的是采购语义,不是产品主数据原样
- 给业务同学解释时,记得强调“一个价格对应一个单位”
一句好记的话
采购目录不是在报一个孤立价格,而是在告诉你“这个供应商、这个日期、这个单位下,最少能怎么买”。
这就是最小起订量和包装单位提示的真正意义。
DISCUSSION
评论区