采购三链

Odoo 采购确认后到底发生了什么:收货、库存估值与 Vendor Bill 为什么不是一回事

从 purchase.order 的确认、收货单、供应商账单与库存估值的不同职责出发,讲清“采购确认”之后到底有几条链在同时跑。

会计 库存 采购
进阶 开发者 1 分钟阅读
0 评论 0 点赞 0 收藏 21 阅读

先说结论

很多人以为“采购确认”之后,系统只是在做一件事:等收货、等开票。

但 Odoo 实际上是在同时维护三条链:

  • 收货链:货有没有进仓
  • 估值链:库存价值有没有被正确记录
  • 账单链:供应商账单什么时候进会计

这三条链相关,但不是同一件事。


收货不等于开票

采购单确认后,最先变化的通常是需求和收货相关对象。

但是“货到了”并不自动等于“账单到了”。

Odoo 把库存动作和会计动作拆开,是为了让业务状态更准确:

  • 你可以先收货,后开票
  • 也可以先收到部分,后续再补单
  • 账单是否进入会计,还要看采购控制和后续流程

所以不要把“采购单已确认”理解成“所有后续都已经自动完成”。


库存估值为什么单独存在

如果产品是可库存产品,收货不只是数量变化,还会牵涉价值变化。

但这并不意味着采购单本身就直接生成所有会计分录。

更准确地说:

  • 收货负责物理数量
  • 估值负责库存价值
  • 账单负责供应商应付

这三者之间有关联,但每一层都有自己的时点和规则。


为什么 Vendor Bill 不是收货单的附件

账单是会计凭证,不是库存动作的简单副本。

因此你会看到:

  • 收货完成了,不代表账单已经生成
  • 账单生成了,也不代表库存已经完成入账
  • 同一张采购单上,收货和账单的节奏可以不同

这也是采购实施里常见的误区:业务以为“收货=开票”,系统里其实不是。


调试时看什么

如果采购链看起来不对,建议按这个顺序查:

  1. 采购单确认后有没有真正进入后续流程
  2. 收货单有没有按预期生成和完成
  3. 采购行的数量和状态有没有同步
  4. 账单链是否走到了该走的阶段
  5. 是否存在需要手工补账或补收的异常路径

只看采购单头部状态,通常会漏掉中间那几层。


实战建议

  • 不要把采购确认等同于收货完成
  • 不要把收货完成等同于已开票
  • 采购、库存和会计是三条协作链,不是一个开关
  • 对业务解释时,最好画成三条平行链
  • 调试时优先看“动作在哪一层发生”,不要只看最终状态

一句好记的话

采购确认后,Odoo 同时在跑收货、估值和账单三条链;它们互相关联,但各自独立。

理解这一点,很多采购流程误解都会少一半。

DISCUSSION

评论区

想参与讨论?先 登录 再发表评论。
还没有评论,你可以成为第一个留言的人。