销售单确认后,Odoo 是怎样一路生成发货与补货动作的
从 sale.order._action_confirm 到 sale.order.line._action_launch_stock_rule,再到 stock.rule.run、_run_pull、_run_buy,讲清楚销售如何触发库存、采购与补货链。
TOPIC PICKS
从 sale.order._action_confirm 到 sale.order.line._action_launch_stock_rule,再到 stock.rule.run、_run_pull、_run_buy,讲清楚销售如何触发库存、采购与补货链。
可以顺着继续读的相邻方向
sale_subscription_timesheet 把“本期开了多少工时”映射成订阅交付数量,project_sale_subscription 再把订阅收入回投到项目盈利视图;于是 timesheet、开票周期和项目看板不再各说各话。
sale_purchase_stock_inter_company_rules 解决的不是“SO 自动长出 PO”这么简单;它还要决定跨公司用哪个仓、最终货该进中转还是直送、另一家公司收货如何镜像,以及 account_inter_company_rules 何时跟着生成对向发票。
sale_subscription 的续费不是只生成一张 renewal quotation;旧合同的 next_invoice_date、child renewal、portal 交易、token 绑定和付款成功后的 reopen / in-progress 状态,都必须落在同一条合同语义线上。
sale_subscription_timesheet 最关键的不是“工时能开发票”,而是 delivered qty 必须严格落在当期窗口里;否则老工时、冲红工时和本期工时会混在一起,账期边界立刻失真。
很多人把销售驱动制造理解成“销售单确认以后就建 manufacturing order”;但标准 Odoo 真正重视的是把 sale_line_id、截止日期、仓库、路线和变体上下文沿着 procurement 一路传下去,直到 MO 和 stock move 都还能回指销售行,kit 场景还会额外补 bom_line_id。本文把这条可追踪链讲透。
sale_purchase_stock_inter_company_rules 真正补齐的是跨公司库存语义:收货仓从哪来、直送何时改走 transit、另一家公司收货 move_line 又怎样镜像 lot 与已拣数量。