Odoo 采购收货完成时,库存、收货数量和采购单状态是怎么回写的?
很多人以为采购单收货“点一下 Validate 就结束了”,其实背后是一整条从采购单、收货单、stock move 到 qty_received 回写的联动链。本文把这条链拆开讲清。
TOPIC PICKS
很多人以为采购单收货“点一下 Validate 就结束了”,其实背后是一整条从采购单、收货单、stock move 到 qty_received 回写的联动链。本文把这条链拆开讲清。
可以顺着继续读的相邻方向
很多人把 Call for Tenders 和 Blanket Order 的区别理解成“一个比价、一个长期采购”。这当然没错,但还不够。真正决定两者完全不是一套玩法的,是替代 PO 分组、比较行、确认时的授标提醒,以及 Blanket Order 把协议条件注入 supplierinfo 的方式。
很多人以为取消采购单只是把 PO 设为 cancel,但 purchase_stock 源码里,它还会处理收货单、下游 move、是否继续补货,以及何时改成 make_to_stock。本文把这条回退链讲透。
很多人以为 Odoo 采购重复检查会比对整张单的明细,但源码里它主要盯的是公司、供应商、partner_ref 和 origin/name 的关系,而且只对草稿单起作用。本文把这条去重边界讲透。
很多人以为 Vendor Bill 自动带出采购单只是“识别 PO 编号”,但 Odoo 实际上还会按 partner_ref、总额容差,甚至子集求和去猜测匹配关系。本文把这条自动匹配链讲透。
很多人把采购单上的 Expected Arrival 当成“整单统一到货时间”,但源码里它其实是所有采购行 date_planned 的最早值,而且订单与行之间还存在双向影响。本文把这个边界讲透。
很多人把 Odoo 的采购警告当成一个温和提示框,但源码里它其实是一套会按用户权限、伙伴层级与产品维度聚合的提示机制。本文把它真正的触发与展示边界讲透。