Odoo 采购收货完成时,库存、收货数量和采购单状态是怎么回写的?
很多人以为采购单收货“点一下 Validate 就结束了”,其实背后是一整条从采购单、收货单、stock move 到 qty_received 回写的联动链。本文把这条链拆开讲清。
TOPIC PICKS
很多人以为采购单收货“点一下 Validate 就结束了”,其实背后是一整条从采购单、收货单、stock move 到 qty_received 回写的联动链。本文把这条链拆开讲清。
可以顺着继续读的相邻方向
从采购目录的取数逻辑、seller min_qty、UoM 显示和包装单位转换讲清楚,为什么目录里看到的价格和数量提示不是拍脑袋给的。
从 action_bill_matching、匹配域和列表视图入口出发,解释采购对账工作台为什么能把采购订单行和账单行拉到同一个界面里处理。
从 purchase.order.line 的 _compute_analytic_distribution 和会计分布模型出发,解释采购分析维度怎样从订单行流向后续账单。
很多团队觉得 Odoo 的补货日期像在“随缘”,今天建议下单,明天又提前几天。真去看 stock_rule、stock_orderpoint 和相关日期字段后会发现,系统并不是乱算,而是在把需求日期沿着规则提前期、供应商提前期和 visibility days 一层层倒排。
很多人把 cross-dock 理解成“货不入库存,直接发走”。这句话方向没错,但太粗。Odoo 真正表达的是:货虽然不进入 Stock 储位,但仍然要经过一个明确的 Input→Output 中转链路,而且系统专门为此预留了 xdock picking type。本文把这层语义讲透。
很多人以为采购确认后,Odoo 会按采购行机械地一行生成一张收货单。但从 purchase_stock 的 _create_picking、_create_or_update_picking 与 _prepare_qty_received 看,系统真正维护的是“订单级收货容器 + 行级 stock.move + 已完成 move 反推收货数量”的模型。