All posts
Integrator8 min read

Odoo manufacturing work orders: routing, workcenter capacity, and quality check gates

Odoo Manufacturing work orders route production across workcenters with defined capacity, efficiency, and cost. Quality check gates on operations block work order progression until checks pass. Here is the full configuration path.

Odoo's work order feature splits a manufacturing order into sequential operations across defined workcenters. Without work orders, a manufacturing order is a single step: consume components, produce finished goods. With work orders enabled, production follows a routing that specifies which machines or teams perform each step, in what sequence, and for how long.

Enabling work orders#

Manufacturing → Configuration → Settings → Work Orders: enable.

This activates:

  • Routing configuration on bills of materials.
  • Workcenter definitions.
  • Work order progression in the manufacturing tablet view.
  • Quality check integration on specific operations.

Workcenter configuration#

Manufacturing → Configuration → Workcenters → New.

FieldDescription
NameAssembly Line 1, Welding Station, QC Bench
CapacityUnits that can run simultaneously (default 1)
Efficiency FactorActual output ratio (80% means plan 100, expect 80 effective)
OEE TargetOverall Equipment Effectiveness benchmark
Time Before ProductionSetup time (minutes) per order
Time After ProductionCleanup time (minutes) per order
Cost per hourLabor/machine cost for valuation
Working TimeCalendar (8-hour shifts, 24/7, etc.)

Capacity matters for scheduling: A workcenter with capacity 3 can handle three parallel work orders. Setting capacity correctly prevents the scheduler from double-booking.

Routing and operations#

A routing (Bill of Materials → Operations tab) defines the sequence of operations for a product:

  1. Cutting (Cutting Machine, 30 min)
  2. Welding (Welding Station, 45 min)
  3. Quality Check (QC Bench, 15 min)
  4. Packaging (Assembly Line, 20 min)

Each operation specifies:

  • Workcenter: where the operation runs.
  • Duration (minutes): planned time per manufacturing order.
  • Duration Computation: Based on component qty (scales with order size) or fixed.
  • Quality Point: triggers a quality check on this operation.

Work order progression#

When a manufacturing order is confirmed with a routing, Odoo creates one work order per operation. Work orders form a chain: each must complete before the next starts (unless the routing allows overlap - set "Parallel" on operations that can run simultaneously).

The tablet view (Manufacturing → Operations → Work Orders → Tablet View) presents work orders to floor workers:

  1. Select a work order.
  2. Record produced quantities.
  3. Log time (manual entry or timer).
  4. Pass quality checks (if configured).
  5. Mark as done.

Work order status: Waiting → Ready → In Progress → Done.

Work order blocking: A work order in "Waiting" status means its predecessor is not yet done. The tablet view shows this as greyed-out.

Quality check integration#

With the Quality module (Manufacturing → Configuration → Settings → Quality → Quality Checks), attach quality control points to specific operations.

Quality → Configuration → Control Points → New:

FieldValue
TitleWeld Integrity Check
Product CategoryFabricated Metal
OperationWelding (from the routing)
Control FrequencyEvery time / Sample (1 in N)
TypePass/Fail, Measure, Photo, Instruction
TeamQC Department
Failure MessageRe-weld required

When the Welding work order runs, the tablet view prompts the operator to complete the quality check before marking the operation done. A "Fail" result blocks work order completion and creates a quality alert.

Check types#

TypeUse case
Pass/FailBinary checks: is the label applied? is the connector seated?
MeasureNumeric measurement with tolerance band (e.g., 5.0 ± 0.2 mm)
PhotoOperator uploads a photo; QC team reviews asynchronously
InstructionDisplays a checklist; operator confirms completion

For measure checks, set Min and Max tolerance. Odoo records the measured value and automatically fails the check if outside tolerance.

Workcenter scheduling and OEE#

Enable the production scheduling view: Manufacturing → Configuration → Settings → Planning → Workcenter Scheduling.

The schedule view shows each workcenter's work order queue on a Gantt timeline. Drag and drop to reorder. Odoo calculates expected end times based on workcenter capacity and work order durations.

OEE (Overall Equipment Effectiveness) tracks actual vs. planned output:

  • Manufacturing → Reporting → OEE Analysis.
  • Each time a work order starts and stops on the tablet, Odoo records the timing.
  • Downtime causes can be logged: machine breakdown, material shortage, changeover.

OEE = Availability × Performance × Quality. Odoo calculates each factor from work order timing data.

Backflush and real-time component consumption#

By default, components are consumed (backflushed) when the manufacturing order is validated. With work orders, you can consume components at the specific operation level:

On the BOM component line: set the Operation field to the operation that consumes this component. Odoo then backflushes this component when that operation's work order completes, not at final MO validation.

This is important for multi-day assemblies where components are physically staged by operation area and real-time inventory accuracy is required.

Reporting#

Manufacturing → Reporting:

  • Work Order Analysis: Duration planned vs. actual, by workcenter.
  • Quality Analysis: Pass/fail rate by control point, product, workcenter.
  • OEE: Availability, performance, quality by workcenter.

The most actionable report is work order duration variance. Operations consistently running 2× planned duration indicate either bad planning standards or genuine capacity problems. Investigate before adjusting the standard times - the root cause determines the fix.

Try ERPeek on your own Odoo module - ask questions, scaffold tests, and explore your codebase in plain language.

Get started free