Odoo多公司与仓库

wen PHP项目 3

本文目录导读:

Odoo多公司与仓库

  1. 核心概念与配置步骤
  2. 跨公司的业务场景与流转
  3. 常见问题与最佳实践
  4. 总结建议

在Odoo中,多公司(Multi-Company)仓库(Warehouse)的结合是一个常见的需求,尤其是在集团化管理或跨区域经营的企业中。

核心原则是:仓库必须属于某个公司,并且库存记录(Stock Quant)、调拨、盘点等都是严格按公司隔离的。

下面为你详细梳理其配置逻辑、运作机制及常见问题。

核心概念与配置步骤

启用多公司

  • 路径: 设置 -> 用户与公司 -> 公司。
  • 操作: 创建父公司和多个子公司,需要确保在 设置 -> 通用设置 -> 多公司 中勾选了“允许多公司”。

定义仓库与公司关系

  • 路径: 库存 -> 配置 -> 仓库。
  • 关键字段: 编辑仓库时,会有一个 “公司” 字段。
  • 规则: 一个仓库必须且只能属于一个公司。
    • 默认情况下,属于当前登录公司的仓库才会被看到。
    • 上海公司拥有“上海主仓”,北京公司拥有“北京主仓”。

用户权限与“当前公司”概念

  • 用户设置: 编辑用户(设置 -> 用户与公司 -> 用户)。
    • 允许的公司: 该用户可以访问哪些公司的数据。
    • 当前公司: 用户登录后默认操作的“主公司”,用户可以随时在右上角切换当前公司。

跨公司的业务场景与流转

这是多公司+仓库的难点和关键点,Odoo 通过以下几种方式处理:

场景 1:查看其他公司的仓库(纯粹查看)

  • 需求: 集团管理员想在一个视图里看到所有公司仓库的库存。
  • 解决方案:仓库库存 菜单中,点击 “筛选项” -> “添加自定义筛选器”,选择“公司”字段,设置为“包含”或“等于”来包含其他公司的数据。或者,直接在公司切换栏(右上角)设置为“所有公司”。

场景 2:跨公司调拨(最常见需求)

  • 需求: 从“上海公司”的仓库调拨物料到“北京公司”的仓库。
  • 实现方式: 使用 “跨公司仓库调拨”“跨公司采购/销售” 模型。
    • 库存调拨 (经典方式):
      1. 在调拨单中,“源位置”选择上海公司仓库,”目标位置“选择北京公司仓库。
      2. Odoo 会自动触发一个 “供应商发货单”(或内部调拨),系统会认为北京公司了上海公司的货。
      3. 系统会自动生成上海公司的 销售订单(卖给北京公司)和北京公司的 采购订单(买自上海公司)。
      4. 两边的库存、应收应付都会自动生成,确保账务清晰。
    • 内部调拨(简化版,通常不推荐用于正式账务): 如果启用了 “库存->配置->设置->多公司” 中的 “允许跨公司内部调拨”,Odoo 会尝试直接生成内部调拨单,但通常建议开启自动生成应付/应收单据以保持会计完整。

场景 3:多公司共用同一个仓库(物理意义上)

  • 需求: 多个公司(销售公司A和售后公司B)共用一套厂房/货架。
  • 解决方案(Odoo实现方式):
    • 每个公司拥有自己的逻辑仓库: 创建两个仓库(A仓,B仓),但它们的 物理位置(库存位置根节点) 可以属于同一个物理地点。
    • 严格隔离: 必须为每个公司分配独立的库存位置(A公司库位,B公司库位)。不允许让不同公司的库存混放在同一个库存位置。
    • 内部调拨: 当A公司的货要卖给B公司时,依然需要从A库位移到B库位,触发跨公司交易。

常见问题与最佳实践

错误:看不到属于其他公司的仓库

  • 原因: 用户权限中的“允许的公司”未包含该公司,或用户当前公司限制了数据。
  • 解决:
    • 检查用户设置 -> 允许的公司。
    • 在仓库视图中使用高级筛选器,或切换右上角的公司选择器为“所有公司”或目标公司。

错误:跨公司调拨时,单据没有自动生成

  • 原因: 未配置“关联公司关系”。
  • 解决:
    • 路径:库存 -> 配置 -> 设置 -> 库存操作。
    • 确保 “跨公司库存转移” 设置为“使用销售和采购订单”或“使用供应商发货单”。
    • 检查 公司之间是否需要设置“合作伙伴关系”(会计->配置->合作伙伴关系),在母子公司间设置“采购/销售”关系,可以避免手动为北京公司创建上海公司为供应商。

总结建议

  1. 架构设计先行: 在实施前,明确“每个公司有几个仓库”,以及“跨公司调拨的触发条件和价格规则”,通常是 每个公司拥有至少一个仓库
  2. 账务隔离是核心: 跨公司库存流动必须生成销售/采购单据,以形成合法的内部交易,否则审计时会出问题。不要直接改库位而不走单据。
  3. 用户培训: 让用户清楚知道“当前我选的是哪家公司”,否则很容易把货记错到其他公司名下。
  4. 安全组: 对于高级用户,可以赋予“全公司经理”权限,对于普通仓管员,通常只给其当前所在公司的权限即可。

如果你有具体的配置卡住的步骤,或者遇到了报错(例如无法调拨,提示“公司不符合”),欢迎提供更详细的信息,我可以帮你进一步分析。

抱歉,评论功能暂时关闭!