Odoo销售订单无法确认及订单按产品归属重定向问题咨询
让我分两部分帮你解决这两个Odoo问题:
问题1:无法确认销售订单,提示缺少采购规则
这个报错的核心是Odoo在处理销售订单时,找不到产品A补货并送到「Partner Locations/Customers」位置的逻辑,大概率和产品路线、仓库配置或采购规则有关,你可以按以下步骤排查:
- 检查产品A的路线配置:打开产品A的表单,切换到「Inventory」标签,确认「Routes」字段勾选了正确的补货路线(比如「Buy」「Make to Order」这类需要触发采购的路线)。要是没选,Odoo根本不知道该怎么补货,自然会报错。
- 核对仓库的路线设置:进入「Inventory > Configuration > Warehouses」,找到你正在使用的仓库,确认关联的补货路线处于启用状态。比如用采购补货的话,得确保仓库的路线包含采购相关规则。
- 手动检查采购规则:进入「Inventory > Configuration > Procurement Rules」,搜索产品A和「Partner Locations/Customers」相关的规则。如果没有,就手动创建一条:把「Location Destination」设为「Partner Locations/Customers」,「Product」选A,「Action」选「Buy」(如果是采购补货),再关联对应的供应商和仓库。
- 最后确认产品A的「Procurement Method」:要是设置成「Make to Stock」但库存不足,又没开自动补货,也会触发这个报错。
问题2:多公司下销售订单重定向单一公司,如何按产品所属公司自动匹配
Odoo默认是按当前用户的默认公司,或者手动选择的公司来创建销售订单的,不会自动跟着产品所属公司切换。要实现自动匹配,你可以试试这些方法:
- 先给产品绑定对应公司:打开产品表单,在「General Information」标签的「Company」字段,给专属公司的产品设置对应公司(共享产品可以留空)。这是自动匹配的基础。
- 启用多公司专属路线:进入「Inventory > Configuration > Routes」,创建或启用关联特定公司的路线。这样当订单里的产品属于某公司时,Odoo会自动匹配对应的路线和仓库。
- 自定义逻辑补全(默认功能不够时):如果企业版的默认模块满足不了需求,可以写个简单的自定义模块,在销售订单添加产品时触发逻辑:检查产品所属公司,自动把订单公司切换成产品的公司(如果订单里所有产品同属一家公司;要是有跨公司产品,还可以加个提示让用户拆分订单)。
- 调整用户权限和默认设置:确保用户有权限访问多个公司,并且不要在用户设置里固定默认公司,这样配合上面的配置,就能实现更灵活的公司切换。
- 企业版可以用官方模块:Odoo企业版的「Multi-Company Routes」模块专门处理多公司库存和订单流转,能自动根据产品所属公司分配订单到对应公司。
内容的提问来源于stack exchange,提问作者vinodh p




