🏭 制造管理
BOM、制造订单、委外与成本核算
- 模块概述
- 制造业务流程
- 制造订单状态流转
- 物料预留状态
- 第一章:系统配置
- 1.1 制造功能设置
- 1.2 创建工作中心
- 1.3 创建物料清单(BOM)
- 第二章:创建制造订单
- 2.1 手动创建制造订单
- 2.2 从销售订单触发(MTO路由)
- 第三章:执行生产
- 3.1 领料出库
- 3.2 执行工单(需开启工序路线)
- 3.3 质量检查(需开启质量控制模块)
- 第四章:完工与入库
- 4.1 记录产出数量
- 4.2 记录实际消耗(与BOM对比)
- 4.3 产品入库
- 第五章:委外加工(分包)
- 5.1 设置委外BOM
- 5.2 委外加工流程
- 第六章:报废与拆解
- 6.1 生产过程中报废
- 6.2 拆解订单(成品返回组件)
- 第七章:制造报告
- 7.1 生产分析
- 7.2 工作中心效能(OEE)
- 第八章:生产成本核算
- 8.1 MO 成本 vs 实际成本
- 8.2 成本配置
- 8.3 BOM 成本计算
- 8.4 MO 成本概览
- 8.5 平均制造成本
- 8.6 完工时的会计分录
- 8.7 成本偏差分析
- 附录:关键字段速查
- 第九章:主生产计划(MPS — Master Production Schedule)
- 9.1 MPS 概念与适用场景
- 9.2 启用和配置 MPS
- 9.3 将产品添加到 MPS
- 9.4 MPS 仪表板操作
- 9.5 执行补货
- 9.6 MPS 与实际需求结合
- 9.7 组件 MPS 管理
- 附录:关键字段速查
Odoo 19 企业版 制造管理操作手册
适用版本:Odoo 19 Enterprise
涉及模块:mrp(制造)+mrp_workcenter(工作中心)+mrp_subcontracting(委外加工)+quality_control(质量)
主角:生产主管老张、工人小李、质检员小陈
贯穿场景:产品BOM创建 → 生产计划 → 创建制造订单 → 领料生产 → 质检 → 完工入库
模块概述
制造业务流程
销售订单(MTO)或 手动创建
↓
制造订单(MO)
↓
┌──────────────────┐
│ 物料领料(出库) │
│ 质量检查(可选) │
│ 工序执行(工单) │
└──────────────────┘
↓
完工入库(产品→库存)
↓
制造成本核算
制造订单状态流转
| 状态值 | 显示名称 | 说明 |
|---|---|---|
draft |
草稿 | 未确认,可任意编辑 |
confirmed |
已确认 | 触发物料预留和补货 |
progress |
进行中 | 已开始生产(WO已启动) |
to_close |
待关闭 | 生产完成,等待最终核算 |
done |
完成 | 已关闭,库存变动已过账 |
cancel |
已取消 | 已作废 |
物料预留状态
| 状态值 | 说明 |
|---|---|
confirmed |
等待中(物料不足) |
assigned |
就绪(物料已预留) |
waiting |
等待其他操作 |
第一章:系统配置
1.1 制造功能设置
操作路径:设置 → 制造
| 配置项 | 代码字段 | 建议 |
|---|---|---|
| 工单(工序路线) | group_mrp_routings |
有多道工序时开启 |
| 副产品 | group_mrp_byproducts |
生产有副产品时开启 |
| 委外加工 | module_mrp_subcontracting |
有委外业务时开启 |
| 质量控制 | module_quality_control |
推荐开启 |
| 产品生命周期管理(PLM) | module_mrp_plm |
需要ECO工程变更时开启 |
| 主生产计划(MPS) | module_mrp_mps |
大规模生产计划需开启 |
| 工单依赖 | group_mrp_workorder_dependencies |
有工序前后依赖时开启 |
1.2 创建工作中心
操作路径:制造 → 配置 → 工作中心 → 新建
工作中心名称:装配线1
代码:ASM-01
工作时间:正常工作时间(8:00-17:00,周一至周五)
时间效率:100%(正常产能)
产能:2(同时可处理2个工单)
成本(用于制造成本核算):
每小时成本:¥100
一般费用分配:每小时¥50
1.3 创建物料清单(BOM)
操作路径:制造 → 产品 → 物料清单 → 新建
BOM类型说明:
| 类型 | 代码值 | 说明 |
|---|---|---|
| 制造(普通BOM) | normal |
触发制造订单,生产此产品 |
| 套件(Kit) | phantom |
不生产,销售时自动展开为组件发货 |
示例:MS-2000-A传感器BOM
产品:MS-2000-A 工业传感器
参考编号:BOM-MS2000-A-001
BOM类型:制造(normal)
产量:1件
组件清单:
序号 组件 数量 单位 消耗类型
1 精密传感元件A型 1 件 按BOM用量
2 主控芯片M10 1 片 按BOM用量
3 外壳(铝合金) 1 个 按BOM用量
4 螺丝 M3×8 4 颗 按BOM用量
5 导线(20cm,10根/批) 1 批 按BOM用量
6 焊接锡膏 0.5 克 按BOM用量(耗材)
工序(需开启工单功能):
序号 工序名称 工作中心 时间 描述
10 焊接元器件 焊接站01 15分 焊接传感元件和芯片
20 装壳固定 装配线1 10分 安装到外壳并固定
30 功能测试 测试台 20分 上电测试,记录测试数据
40 质量检查 QC台 10分 外观检查,贴合格标签
制造提前期:2天
BOM版本有效期:2025-01-01起
第二章:创建制造订单
2.1 手动创建制造订单
操作路径:制造 → 作业 → 制造订单 → 新建
产品:MS-2000-A 工业传感器
物料清单:BOM-MS2000-A-001(系统自动关联)
数量:100件
计划开始日期:2025-03-20 08:00
计划完成日期:2025-03-22 17:00
位置:上海总仓 - 成品区
组件自动展开(来自BOM):
| 组件 | 需求数量 | 来源库位 | 可用量 | 状态 |
|---|---|---|---|---|
| 精密传感元件A型 | 100件 | 原材料区 | 480件 | 就绪 ✓ |
| 主控芯片M10 | 100片 | 原材料区 | 100片 | 就绪 ✓ |
| 外壳(铝合金) | 100个 | 原材料区 | 80个 | 不足 ⚠️ |
注意:外壳库存不足(80个<100个),系统会提示"组件不可用"。
处理方案:
1. 等待采购补货(已生成采购申请,预计3月19日到货)
2. 调整计划日期至 2025-03-21
3. 先生产80件,剩余20件等到货后补充
确认制造订单:点击"确认"按钮:
- 状态变为 confirmed
- 系统自动为所有组件创建物料出库任务
- 如组件不足,系统创建补货任务
2.2 从销售订单触发(MTO路由)
当产品路由设置为"按需制造"时:
- 销售订单确认 → 自动创建制造订单(源文档 = 销售订单编号)
- 制造数量 = 销售订单数量
- 系统在MO上显示关联销售订单号
第三章:执行生产
3.1 领料出库
制造订单确认后,生成物料出库任务:
操作路径:制造订单 → "转移"按钮(或直接在库存 → 作业中找到)
物料出库:WH/MO-OUT/00089
产品:MS-2000-A制造 - 物料领用
领料明细:
精密传感元件A型 100件 从 SH/A-01-01 领出
主控芯片M10 100片 从 SH/A-02-01 领出
外壳(铝合金) 80个 从 SH/A-03-01 领出
螺丝 M3×8 400颗 从 SH/A-04-01 领出
...
老张安排工人到对应货架取料,验证数量后点击"验证"完成领料。
3.2 执行工单(需开启工序路线)
每道工序生成独立工单(mrp.workorder):
工单列表:
WO-001 焊接元器件 焊接站01 计划15分 状态:就绪
WO-002 装壳固定 装配线1 计划10分 状态:等待WO-001
WO-003 功能测试 测试台 计划20分 状态:等待WO-002
WO-004 质量检查 QC台 计划10分 状态:等待WO-003
工人小李操作WO-001(焊接):
操作路径:制造 → 车间(Shop Floor)→ 点击"焊接站01"
1. 点击"开始"→ 系统记录开始时间
2. 焊接操作...(实际耗时18分钟)
3. 记录实际用料(如焊锡膏实际用了0.6克,超过BOM的0.5克)
4. 点击"完成"→ 记录完成时间
5. 如有质量问题,点击"报告问题"创建质量警报
Odoo 19 车间视图(Shop Floor):
工人使用专用的生产看板界面,无需训练即可使用:
- 大字体显示当前工序指导
- 支持触摸屏操作
- 可扫描序列号/批次号
- 实时更新工单状态
3.3 质量检查(需开启质量控制模块)
在"功能测试"工序节点设置质量控制点:
质量控制点:
检查类型:测量(测试传感器输出电压)
触发条件:工序 WO-003 完成时
检查项目:
1. 输出电压:目标值 5V,允许偏差 ±0.1V
2. 响应时间:<100ms
3. 工作温度范围测试:-20℃到85℃
质检员小陈操作:
扫描制造批次/序列号 → 系统显示检查表单:
1. 输出电压测量:5.02V ✓(在允许范围内)
2. 响应时间:85ms ✓
3. 温度测试:通过 ✓
质量结论:合格 ✓
签名:陈XX 日期:2025-03-21
如果质检不合格:
- 点击"失败"→ 弹出质量警报创建向导
- 选择处置方式:返工 / 报废 / 特采
第四章:完工与入库
4.1 记录产出数量
所有工序完成后,回到制造订单主界面:
计划生产:100件
实际产出:
合格品:98件(记录序列号 SN20250001-SN20250098)
不合格品(待返工):2件
4.2 记录实际消耗(与BOM对比)
系统自动对比实际消耗与BOM用量:
| 组件 | BOM用量 | 实际消耗 | 差异 | 状态 |
|---|---|---|---|---|
| 精密传感元件A型 | 100件 | 100件 | 0 | 正常 |
| 主控芯片M10 | 100片 | 101片 | +1片 | 超用(损耗) |
| 外壳 | 100个 | 98个 | -2个(返工占用) | 正常 |
| 焊锡膏 | 50克 | 63克 | +13克 | 超用(记录备注) |
组件消耗偏差处理(根据BOM的 consumption 字段):
- flexible:直接允许,不提示
- warning:显示警告,但可继续
- strict:阻止完工,必须修改
4.3 产品入库
点击"生产"按钮(或"验证"):
- 98件合格传感器入库至"成品区/B-01-01"
- 系统为每件产品创建序列号记录(如开启序列号追踪)
- 制造成本自动核算
制造成本核算:
直接材料成本:
精密传感元件A型×100 = ¥28,000
主控芯片M10×101 = ¥45,955
外壳×98 = ¥14,700
其他材料 = ¥ 2,000
小计 = ¥90,655
直接人工成本:
焊接(18分×¥100/小时)= ¥ 30
装壳(12分×¥100/小时)= ¥ 20
测试(22分×¥100/小时)= ¥ 37
质检(11分×¥100/小时)= ¥ 18
×98件 = ¥10,290
制造费用:
设备折旧分摊 = ¥ 5,000
水电等 = ¥ 2,000
总制造成本: ¥107,945
单件成本: ¥1,102
第五章:委外加工(分包)
5.1 设置委外BOM
前提:安装 mrp_subcontracting 模块
操作路径:制造 → 产品 → 物料清单 → 新建
产品:精密加工件X
BOM类型:分包
分包商:杭州精工机械有限公司
组件(发给分包商的原料):
铝棒料 1.5公斤
完工品:精密加工件X 1件
5.2 委外加工流程
采购订单触发:
创建采购订单(向分包商采购精密加工件X)→ 确认后:
1. 系统自动生成"发料给分包商"的出库任务:铝棒料发给杭州精工
2. 系统等待分包商完成加工并返回成品
收货即完工:
当收到分包商返回的精密加工件X时,在收货单中验证:
- 系统自动完成制造订单(分包类型的MO在收货时自动关闭)
- 原材料(铝棒料)的库存减少
- 成品(精密加工件X)库存增加
第六章:报废与拆解
6.1 生产过程中报废
在制造订单中,对无法修复的不合格品:
操作路径:制造订单 → 报废按钮
报废产品:MS-2000-A传感器
数量:2件
报废原因:焊接短路,无法修复
序列号:SN20250099, SN20250100
报废后:
- 成品库存减少2件
- 财务生成报废损失凭证
6.2 拆解订单(成品返回组件)
场景:将一批旧版本传感器拆解,回收可用组件
操作路径:制造 → 作业 → 拆解订单 → 新建
产品:MS-2000-A传感器(旧版本)
数量:10件
依据BOM:旧版BOM(BOM-MS2000-A-002)
拆解产出(预期):
精密传感元件A型 10件(状态:可再用)
外壳 10个(状态:可再用)
主控芯片 10片(损坏,报废)
第七章:制造报告
7.1 生产分析
操作路径:制造 → 报告 → 生产分析
本月制造分析:
计划产量:500件
实际产量:487件
完成率:97.4%
平均制造成本:¥1,102/件(vs 标准成本 ¥1,050)
成本偏差:+5%(主要原因:芯片用量超标)
一次合格率:98.5%(12件返工,2件报废)
7.2 工作中心效能(OEE)
操作路径:制造 → 报告 → OEE
分析工作中心的整体设备效能:
- 可用率(Available Time / Total Time)
- 性能(Actual Speed / Planned Speed)
- 质量率(Good Units / Total Units)
- OEE = 可用率 × 性能 × 质量率
第八章:生产成本核算
核心概念:Odoo 区分 MO 成本(预估)和 实际成本(完工后实际发生)
8.1 MO 成本 vs 实际成本
MO 成本(估算):
根据 BOM 组件 + 工序工时 + 工作中心费率 计算
生产开始前 MO 成本和实际成本相同(均为预估)
实际成本:
根据实际领料数量、实际工时、实际执行人工时费率 计算
生产开始后,实际成本会偏离 MO 成本
完工后:
点击"生产全部"完成 MO → MO 成本列更新为与实际成本一致
产品平均制造成本 = 历史已完成 MO 的加权平均
8.2 成本配置
8.2.1 组件成本
来源:采购订单的平均采购成本自动计算
操作路径:库存 → 产品 → 产品 → 选择组件(如主控芯片M10)
成本字段:¥455/片
↑ 来自最近采购订单的加权平均
手动修改:可输入,但后续 PO 收货会覆盖为自动计算值
8.2.2 工作中心成本
操作路径:制造 → 配置 → 工作中心 → 选择工作中心
工作中心:装配线1
每小时成本:
每个工作中心:¥80(设备折旧、水电等固定运营成本)
每名员工: ¥50(用于 MO 成本估算的默认人工费率)
计算逻辑:
MO 成本 = 工序时长 × (每工作中心 + 每员工)
实际成本 = 工序实际时长 × 每工作中心 + 实际执行员工的时薪
8.2.3 员工成本(实际成本用)
操作路径:员工 → 选择员工 → 设置选项卡 → 每小时成本
员工:小李(焊接工人)
每小时成本:¥60
实际成本计算:
小李在焊接站完成工单,实际耗时 18 分钟
→ 人工成本 = 18/60 × ¥60 = ¥18
(MO 成本估算用工作中心"每员工"¥50,则 18/60×50=¥15)
8.3 BOM 成本计算
操作路径:制造 → 产品 → 物料清单 → 选择 BOM
BOM-MS2000-A-001 成本构成:
组件成本:
精密传感元件A型 ×1 ¥58 ×1 = ¥58
主控芯片M10 ×1 ¥455×1 = ¥455
外壳(铝合金) ×1 ¥150×1 = ¥150
螺丝 M3×8 ×4 ¥0.5×4 = ¥2
焊锡膏 0.5g ¥40/50g = ¥0.4
组件小计: ¥665.4
工序成本(工作中心费率 × 工时):
焊接元器件 15分 (¥80+¥50)/60×15 = ¥32.5
装壳固定 10分 (¥80+¥50)/60×10 = ¥21.7
功能测试 20分 (¥80+¥50)/60×20 = ¥43.3
质量检查 10分 (¥80+¥50)/60×10 = ¥21.7
工序小计: ¥119.2
BOM 单件成本:¥665.4 + ¥119.2 = ¥784.6
产品"从 BOM 计算价格":产品表单 → 成本字段旁 → 点击此按钮可将成本重置为 BOM 计算值(不永久,后续 MO 会继续更新平均成本)
8.4 MO 成本概览
操作路径:制造订单 → 概述智能按钮
MO-00089 成本概览(生产前):
MO 成本列(预估):
组件:精密传感元件×100 ¥5,800
组件:主控芯片×100 ¥45,500
组件:外壳×100 ¥15,000
...
工序:焊接 ¥3,250
工序:装壳 ¥2,170
...
MO 成本合计: ¥78,460
实际成本列(生产前):与 MO 成本相同
生产完成后:
实际成本列(实际发生):
组件:主控芯片×101(多耗1片) ¥45,955
工序:焊接 18分(超3分) ¥39(按小李¥60/时)
...
实际成本合计: ¥80,120
MO 成本列:完工后自动更新为与实际成本一致
8.5 平均制造成本
操作路径:库存 → 产品 → 产品 → MS-2000-A → 成本字段
成本字段:¥1,102/件
计算逻辑:
已完成 MO 1:98件 ¥107,945(单件 ¥1,102)
已完成 MO 2:100件 ¥108,500(单件 ¥1,085)
平均成本 = (107,945 + 108,500) / (98 + 100) ≈ ¥1,093
每次新 MO 完工,成本字段自动更新为新的加权平均
8.6 完工时的会计分录
制造订单完工 98件 MS-2000-A,实际成本 ¥107,945
系统自动生成:
借:库存资产(成品-MS-2000-A) ¥107,945
贷:原材料消耗(各组件出库) ¥90,655
贷:制造费用-人工 ¥10,290
贷:制造费用-间接 ¥ 7,000
(具体科目名以公司会计科目表为准)
8.7 成本偏差分析
操作路径:制造 → 报告 → 生产分析
本月成本偏差分析:
计划成本(BOM 标准):¥1,050/件
实际平均成本: ¥1,102/件
偏差:+5.0%
偏差原因:
材料超耗:+2.1%(芯片、焊锡膏超用)
工时超耗:+1.8%(焊接、测试工序超时)
人工费率差异:+1.1%(实际员工时薪高于工作中心默认)
附录:关键字段速查
| 字段 | 模型 | 说明 |
|---|---|---|
state |
mrp.production | draft/confirmed/progress/to_close/done/cancel |
reservation_state |
mrp.production | confirmed/assigned/waiting |
product_id |
mrp.production | 生产产品 |
product_qty |
mrp.production | 计划生产数量 |
qty_produced |
mrp.production | 已完工数量 |
bom_id |
mrp.production | 使用的BOM |
date_start |
mrp.production | 计划开始时间 |
date_finished |
mrp.production | 计划完成时间 |
type |
mrp.bom | normal(制造)/ phantom(套件) |
consumption |
mrp.bom | flexible/warning/strict |
produce_delay |
mrp.bom | 制造提前期(天) |
state |
mrp.workorder | pending/ready/progress/done/cancel |
第九章:主生产计划(MPS — Master Production Schedule)
前提:制造 → 配置 → 设置 → 计划 → 主生产计划 ☑
9.1 MPS 概念与适用场景
MPS(主生产计划)是一个半自动化的中长期生产规划工具。
MPS vs 补货规则:
补货规则(自动):库存低于最小量 → 系统自动创建MO/PO
MPS(手动):结合历史+预测需求 → 人工确认后创建MO/PO
MPS 适合场景:
✅ 季节性需求(如节日礼品、农业设备)
✅ 大批量+长提前期产品(提前6-12个月规划)
✅ 原材料短缺,需要控制采购节奏
✅ 新品导入,历史数据不够,需要人工预测
不适合场景:
❌ 简单补货产品(直接用再订货规则更高效)
⚠️ 同一产品不要同时使用 MPS 和补货规则(会冲突)
9.2 启用和配置 MPS
操作路径:制造 → 配置 → 设置 → 计划
主生产计划:☑ 启用
时间范围:每月(也可选每周/每天)
列数:12(显示未来12个月)
→ 保存
9.3 将产品添加到 MPS
操作路径:制造 → 计划 → 主生产计划 → 添加产品
产品:MS-2000-A 工业传感器
物料清单:BOM-MS2000-A-001
↑ 选择BOM后,组件(精密传感元件、主控芯片等)
也会自动添加到MPS,可一并管理组件补货
安全库存目标:50件(始终保持至少50件成品库存)
最少补货数量:100件(每次最少生产100件)
最大补货数量:500件(每次最多生产500件)
→ 保存
9.4 MPS 仪表板操作
操作路径:制造 → 计划 → 主生产计划
MPS 视图矩阵(横轴=月份,纵轴=产品行):
4月 5月 6月 7月 ...
MS-2000-A传感器 100件预测库存
├─ 实际/预测需求 [180] [200] [180] [220]
├─ 建议补货 [200] [200] [200] [200] ← 可手动调整
└─ 预测库存 [120] [120] [140] [120]
行颜色说明:
绿色:需要补货,库存低于安全库存目标
灰色:已创建补货订单,库存达标
橙色:已创建订单但数量不够
红色:订单过多,预测库存超标
手动调整预测需求:
点击"4月"列的"实际/预测需求"格子
→ 输入:300件(根据销售预测手动填写)
→ 建议补货自动更新:250件(保证维持50件安全库存)
→ 预测库存更新:50件(正好等于安全库存)
9.5 执行补货
方式一:补货单个产品
点击 MS-2000-A 行的"补货"按钮(建议补货列右侧)
→ 系统自动创建 MO(因为路由=制造)
→ 制造订单来源文档显示:MPS
方式二:一键补货全部需要补货的产品
MPS页面顶部 → "补货"按钮
→ 对当前月份所有低于安全库存的产品创建订单
→ 制造类产品创建MO,采购类产品创建RfQ
9.6 MPS 与实际需求结合
启用"实际需求"显示(搜索栏 → 行 → 实际需求)
4月
├─ 实际/预测需求 180件预测 + 已确认SO需求:120件 = 300件
↑ 灰色显示:来自已确认销售订单的真实需求
├─ 建议补货 [250]
└─ 预测库存 [50]
优势:预测+实际双重保险,避免既缺货又过剩
9.7 组件 MPS 管理
添加了含BOM的成品到MPS后,组件也出现在MPS中:
4月 5月
精密传感元件A型
├─ 间接需求预测 200件(来自传感器成品的MO需求)
├─ 实际需求 0
├─ 建议补货 [230] ← 200件+30件(安全库存)
└─ 预测库存 [30]
→ 点击"补货"→ 创建采购订单(因为元件路由=购买)
附录:关键字段速查
| 字段 | 模型 | 说明 |
|---|---|---|
state |
mrp.production | draft/confirmed/progress/to_close/done/cancel |
reservation_state |
mrp.production | confirmed/assigned/waiting |
product_id |
mrp.production | 生产产品 |
product_qty |
mrp.production | 计划生产数量 |
qty_produced |
mrp.production | 已完工数量 |
bom_id |
mrp.production | 使用的BOM |
date_start |
mrp.production | 计划开始时间 |
date_finished |
mrp.production | 计划完成时间 |
type |
mrp.bom | normal(制造)/ phantom(套件) |
consumption |
mrp.bom | flexible/warning/strict |
produce_delay |
mrp.bom | 制造提前期(天) |
state |
mrp.workorder | pending/ready/progress/done/cancel |
safety_stock_qty |
mrp.mps | MPS安全库存目标 |
min_to_replenish_qty |
mrp.mps | 最少补货数量 |
max_to_replenish_qty |
mrp.mps | 最大补货数量 |
文档版本:Odoo 19 Enterprise | 更新日期:2026-03-04