Flectic
Odoo Manufacturing — Routing

Odoo Manufacturing Routing: The Operations Sequence Through Work Centers Work Centers

In Odoo, a 'routing' is the ordered list of operations on a Bill of Materials — each tied to a work center that tracks duration, cost, and capacity. Here is how to configure it, what it costs, and how the Dynamics 365 equivalent differs.

What a Manufacturing Routing Actually Is

A manufacturing routing is the sequence of operations a product flows through during production, and the work centers those operations run on. It answers two questions that a Bill of Materials (BoM) alone cannot: in what order is this made, and where does each step happen?

In Odoo, the routing is not a standalone object. It is the ordered list of operation lines on the Operations tab of a Bill of Materials. Each line names an operation (for example, Cut felt, Attach pad, Assemble housing) and assigns it to a work center. When a Manufacturing Order is confirmed from that BoM, Odoo spawns one Work Order per operation and schedules each across its work center.

This is what separates a routing from a flat parts list. A BoM says what components go into a product; a routing says how, where, and in what order those components are transformed into the finished good. The two are linked — Odoo's 'Consumed in Operation' field on each component line ties a raw material to the specific operation that uses it, so the system knows whether the parts needed for the first step are actually available before work begins.

Enabling Work Orders and Work Centers

Odoo's routing feature sits behind a single setting. Open the Manufacturing app, then Configuration, then Settings, and tick the Work Orders checkbox. This unlocks two things: the Work Centers menu under Configuration, and the Operations tab on every Bill of Materials. Without this setting enabled, BoMs are flat component lists with no operation sequence and no work-order tracking.

Work centers are where Manufacturing work orders are processed, and they double as the system's unit for tracking costs, building schedules, planning capacity, organizing equipment, and measuring efficiency. A work center can represent a physical station (Assembly Station 1, CNC Mill 3), a team, or any unit of productive capacity. Each one carries its own working hours, cost per hour, time efficiency, capacity, and OEE target.

Once Work Orders is on, the Operations tab becomes the heart of the routing. Each line added there is one step in the production sequence — and the ordered set of lines is the routing itself.

Configuring Operations on a Bill of Materials

  1. 01
    Enable Work Orders

    Go to Manufacturing > Configuration > Settings and enable Work Orders. This exposes the Operations tab on BoMs and the Work Centers menu.

  2. 02
    Create your work centers

    Under Configuration > Work Centers, define each station with its Working Hours, Time Efficiency, Capacity, OEE Target, Setup Time, Cleanup Time, and Cost per hour (split into a per-workcenter figure for the machine and a per-employee figure for labor).

  3. 03
    Add operation lines to the BoM

    On the BoM's Operations tab, click Add a line for each step. Name the operation, pick its Work Center, and choose a Duration Computation mode. The ordered operation lines are the routing.

  4. 04
    Set duration and computation

    For each operation, choose Set duration manually and enter a Default Duration in minutes, or choose Compute based on tracked time so Odoo auto-averages duration from the last N completed work orders at that center.

  5. 05
    Link components to operations (optional)

    On the Components tab, use the Consumed in Operation column to tie each raw material to the step that uses it. This drives Manufacturing Readiness checks before an order starts.

  6. 06
    Add dependencies (optional)

    If Operation Dependencies is enabled in Settings (and ticked on the BoM's Miscellaneous tab), use the Blocked By field on each operation to flag a downstream step that should wait for its predecessor to complete.

Odoo Manufacturing Routing: Duration and Default Duration

Each operation line has a Duration Computation field with two modes. Set duration manually lets you type a Default Duration in minutes — Odoo's estimated time to complete the operation, used for planning manufacturing orders and for determining work center availability. Compute based on tracked time replaces the manual figure with a rolling average drawn from the last N work orders actually completed at that work center, which is useful when real-world cycle times drift from the original estimate.

The Default Duration feeds directly into scheduling. When a Manufacturing Order is confirmed, Odoo uses each operation's Default Duration, the work center's Working Hours, and its Time Efficiency multiplier to plot work orders on the planning board. Time Efficiency is expressed as a percentage: a work center at 50% efficiency makes every operation take twice as long; at 100% it runs at the duration you typed.

Capacity — the number of products a work center can process simultaneously — works alongside duration. A work center with Capacity 4 and a 10-minute operation can clear 4 units every 10 minutes, and Odoo's Planning by Workcenter and Planning by Production Gantt views reflect that throughput when they schedule the routing.

How Routing Drives Cost

Routing is where manufacturing cost actually accumulates. Odoo computes an operation's cost from two inputs: the hourly cost of operating the work center, and the duration of the operation. A work center's Cost per hour is set on its General Information tab and has two parts — a per-workcenter figure covering the machine and operating expense, and a per-employee figure representing the average hourly labor cost.

The arithmetic is straightforward: cost equals the work center's hourly rate multiplied by the operation's duration. The official Odoo documentation walks through the example of Assembly Station 1 at $30.00 per hour: a Cut felt operation with a 7-minute Default Duration costs $3.50, and an Attach pad to felt operation at 15 minutes costs $7.50. Sum those operation costs across the routing and add component costs, and you have the BoM's estimated Manufacturing Order cost.

Odoo draws a deliberate line between this MO cost — the planned cost built from the BoM configuration — and the real cost recorded after production. Real cost uses each employee's actual hourly rate and the durations actually logged on the shop floor. The two diverge whenever operations run longer than the Default Duration, more components are consumed than planned, or component purchase prices shift. The routing is the structure that makes both numbers calculable.

The Naming Trap: 'Routing' vs. Operations

There is a documented source of confusion worth flagging directly. The field literally labelled 'Routing' on a BoM's Miscellaneous tab in Odoo is not the production routing. It is a warehouse stock-routing concept — it selects which warehouse manufacturing operation type (pull rule) applies when a product is produced across multiple warehouses, defaulting to that warehouse's Manufacturing operation type.

The production routing — the sequence of operations through work centers that this article covers — lives on the Operations tab. Mixing these up leads to misconfigured production flows and stock rules that never fire. If you are configuring how a product is made, you work on the Operations tab. If you are configuring how stock moves between warehouse locations, you work on the Miscellaneous tab Routing field. They share a label and almost nothing else.

The Dynamics 365 Equivalent for SMEs

Dynamics 365 offers two routing models depending on the edition, and both model the same concept as Odoo's Operations tab — a sequence of operations through work centers — but with one structural difference.

In Dynamics 365 Business Central, the SMB edition, a Routing is explicit master data assigned to a produced item via the Routing No. field. It has a Status (New, Under Development, or Certified), a Type (Serial, ordered by Operation No., or Parallel, ordered by Next Operation No.), and routing lines carrying Operation No., resource Type (Work Center or Machine Center), Routing Link Code, Run Time, Setup Time, and Concurrent Capacities. Setup time is calculated per production order, while run time is calculated per produced item. Duration follows the formula Run Time divided by Efficiency divided by Capacity — so 2 hours of run time at 80% efficiency takes 2.5 hours, and at 200% efficiency it takes 1 hour. BC defaults to infinite capacity scheduling, with optional finite-capacity scheduling on resources flagged as constrained.

In Dynamics 365 Supply Chain Management, the enterprise edition, Microsoft defines a route as the process for producing a product: it describes each step (operation) and the order they must be performed in, along with required resources, setup and run time, and how cost is calculated. A route definition has four elements — Route (order of operations), Operation (a reusable named step), Operation relation (setup/run time, cost categories, and resource requirements that vary by route, product, and site), and Route version (which route applies for a given product, by site, quantity, and date). F&O supports both simple sequential routes and route networks with parallel branches, primary and secondary parallel operations, resource-requirement-based scheduling where operations resolve to any capable resource rather than a fixed machine, and routes shared across sites.

The mapping is clean: an Odoo Work Center maps to a BC Work Center or an F&O Operations Resource; an Odoo operation line maps to a BC Routing Line or an F&O Operation plus Operation Relation; Odoo's Default Duration maps to BC Run Time or F&O Run Time; Odoo's Consumed in Operation maps to BC's Routing Link Code. The key structural difference is that D365 separates the routing from the BoM as its own reusable master-data entity — one routing can serve many items — whereas Odoo binds the operation list directly to the BoM. Neither approach is universally better; Odoo's is simpler to configure for a single product family, while D365's reusable routing scales better across sites and shared processes.

When It Makes Sense to Bring in Help

Configuring a routing sounds mechanical, but the decisions behind it — how granular your work centers should be, whether to use manual or tracked durations, how to split machine cost from labor cost, and whether to model parallel operations or keep the flow strictly serial — shape every cost number and every schedule the system produces afterwards. Getting the routing wrong at rollout means every Manufacturing Order cost, every lead time, and every capacity plan inherits the error.

That is where a dual-platform implementation partner earns its fee. Because Flectic implements both Odoo and Dynamics 365, the routing gets modelled against the right structural pattern for the platform you actually choose — not retrofitted from a template built for the other one. If you are weighing up an ERP move or reconfiguring an existing manufacturing setup, book an ERP Readiness Call and we will walk through your routing, work centers, and cost flow before any commitment.

Frequently asked questions

Is 'Routing' in Odoo the same as the Operations tab on a BoM?

No — and this is a common trap. The field literally labelled 'Routing' on a BoM's Miscellaneous tab is a warehouse stock-routing (pull-rule) concept that selects a warehouse's manufacturing operation type. The production routing — the sequence of operations through work centers — is configured on the Operations tab of the BoM. They share a name but control different things.

How is an operation's cost calculated in Odoo Manufacturing?

Odoo computes an operation's cost from the hourly cost of operating its work center multiplied by the operation's duration. The Cost per hour on a work center has two parts: a per-workcenter figure (machine and operating expense) and a per-employee figure (average labor cost). At a $30.00/hour work center, a 7-minute operation costs $3.50 and a 15-minute operation costs $7.50.

What is the difference between Default Duration and Compute based on tracked time?

Set duration manually lets you type a Default Duration in minutes — Odoo's estimate used for planning orders and work center availability. Compute based on tracked time replaces the manual value with a rolling average from the last N work orders actually completed at that work center, which keeps the routing accurate as real cycle times drift.

Does Dynamics 365 have the same routing feature as Odoo?

Yes, but structured differently. Dynamics 365 Business Central models a Routing as standalone master data with a Routing No., Serial or Parallel type, Setup Time per order and Run Time per item, and Duration = Run Time / Efficiency / Capacity. Dynamics 365 Supply Chain Management adds route versions, operation relations, and route networks with parallel branches. The key difference: D365 separates the routing from the BoM as reusable master data, while Odoo embeds the operation list directly in the BoM.

Do I need to enable anything before I can add operations to a BoM?

Yes. The Operations tab and the Work Centers menu only appear after you enable Manufacturing > Configuration > Settings > Work Orders. Without that checkbox ticked, BoMs are flat component lists with no operation sequence, no work orders, and no routing-driven cost or scheduling.

Get Your Routing Right the First Time

Flectic implements both Odoo and Dynamics 365 for manufacturers, so your work centers, operations, and cost-per-hour flow are modelled against the right pattern for the platform you actually choose. Our AI-Accelerated Delivery is designed to deliver up to 3x faster, with a routing structure that produces trustworthy costs and schedules from day one. Book an ERP Readiness Call and we will review your manufacturing setup before you commit.

Book an ERP Readiness Call
Response within one business day

Sources