Technical Lab · 0038

Odoo Manufacturing Routing — work centers, operations, time tracking.

A BOM tells you what you need to build a product, but a Routing tells you how. For Bangladesh factories, correctly mapping the sequence of operations and tracking the actual time taken at each work center is the key to accurate production costing and realistic scheduling.

In many basic ERP implementations, consultants map the Bill of Materials (BOM) perfectly but ignore the Routing. They simply configure a "consume materials and produce finished good" button. This is a missed opportunity. To understand your true manufacturing costs—and to schedule production accurately—you need to map the journey of the product across your factory floor.

This builds on the foundations laid out in the Odoo Manufacturing Module Setup guide. For specific industry examples like textile, refer to the Odoo Spinning Mill Configuration.

Routing isn't just about telling workers what to do next. It's the engine that allocates overhead costs to your products based on actual machine time.

Defining Work Centers

A Work Center in Odoo represents a physical location where production takes place. This could be a single machine (e.g., "CNC Lathe #3"), a group of identical machines (e.g., "Sewing Line A"), or a manual assembly station.

When setting up a Work Center, you must define:

Operations & Sequences

A Routing is simply a sequence of Operations. Each Operation is tied to a Work Center and has an expected duration.

Op 1: Cutting
Raw material is cut to size. The operation defines the exact Work Center to use and standard setup time.
WC: Cutting Room
Duration: 15 mins
Op 2: Assembly
Parts are joined together. You can attach PDF instructions or images to this operation for workers to view on their tablets.
WC: Assembly Line B
Duration: 45 mins
Op 3: Quality Check
Final inspection before moving to finished goods. Quality points can be enforced here.
WC: QC Station
Duration: 10 mins

Machine Capacity & OEE

Capacity planning in Odoo relies heavily on accurate Work Center configurations. If you receive a large order, Odoo's Master Production Schedule (MPS) will look at the routings to determine if you have the machine hours available to meet the deadline.

Odoo also tracks Overall Equipment Effectiveness (OEE). If a machine is stopped due to material shortage or breakdown, operators can log this. OEE metrics help management identify bottlenecks—are we losing time to machine maintenance or supply chain delays?

Time Tracking on Shop Floor

The Odoo Shop Floor app allows operators to scan a barcode, see their next operation, and click "Start". When they finish, they click "Done".

This real-time tracking gives you actual durations vs expected durations. If your routing estimated 45 minutes for assembly but it consistently takes 60 minutes, your costs are wrong and your schedules will always be delayed. The Shop Floor app forces reality into the ERP.

Overhead Cost Allocation

Why go through the trouble of routings? Accurate Costing.

Without routings, all you have is material cost. By assigning a BDT/hour rate to each Work Center and tracking the time spent, Odoo automatically adds the overhead cost to the inventory value of the finished good. This ensures your margins are calculated accurately, factoring in the actual machine time and labor used to produce that specific batch.

Note · Light-engineering factory, GazipurCosting review
A workshop went live with routings, but the operation durations were copied straight from the demo data and never re-measured against the floor. Every routing said an assembly step took 30 minutes; the Shop Floor app showed it consistently running 50–55. Because the standard durations were too low, the MPS kept promising delivery dates the factory could not hit, and every finished good was carrying roughly 40% too little machine overhead in its valuation — margins looked healthy on paper while the workshop was barely breaking even. We spent one shift logging real durations through the Shop Floor app, then updated each operation's expected time. A routing is only as honest as the durations behind it — set them once from demo data and your costs and your schedule are both fiction.
Bottom line

Start simple. Map your Work Centers broadly (e.g., "Cutting", "Sewing", "Finishing") rather than mapping 50 individual machines. Get the supervisors used to tracking time at a macro level, refine your BDT/hour rates, and then drill down into specific machine scheduling once the culture of real-time data entry is established. Want a ballpark on what the whole implementation costs before you start? Try the Odoo cost estimator. Need help mapping your factory floor? Get in touch →

Frequently asked questions

How do you configure Work Centers in Odoo?

Navigate to Manufacturing → Configuration → Work Centers. Define the name, working schedule, capacity, and most importantly, the Cost per Hour. This cost rate is used to calculate the overhead absorbed by products passing through the center.

What is the difference between a BOM and a Routing in Odoo?

A Bill of Materials (BOM) lists the components needed. A Routing defines the operational steps (Work Orders) across various Work Centers, dictating how those components are transformed into the finished product.

How does Odoo calculate production cost from a routing?

For each operation, Odoo multiplies the time spent at a Work Center by that center's Cost per Hour, then adds the result to the finished product's valuation alongside raw-material cost. If you have not enabled Work Order time tracking, Odoo uses the expected duration on the routing; with the Shop Floor app, it uses the real logged duration. This is why an inaccurate cost-per-hour rate or an unrealistic expected duration quietly distorts every margin report.

What happens if the real duration differs from the expected duration in Odoo?

Odoo records both. The expected duration drives capacity planning and delivery-date promises in the Master Production Schedule; the real duration (captured when an operator clicks Start and Done in the Shop Floor app) drives actual costing. A persistent gap between the two is a signal to re-measure that operation — if you ignore it, your schedules slip and your product costs stay wrong.