How Odoo MRP connects the bill of materials to shop floor work

A planner can have a full production calendar and still be unable to answer a simple question: which drawing will the operator use for the next batch? The materials may have arrived on time, but if an old revision is on the bench, the schedule is not the real problem. The connection between the product definition and the instructions reaching the shop floor is.

Odoo’s Manufacturing application provides a way to make that connection. A bill of materials, or BoM, defines the components and quantities needed for a product. With Work Orders enabled, the BoM can also carry operations assigned to work centers. A manufacturing order concerns a quantity of the product; work orders represent the operations needed to carry it out. Keeping those records distinct matters when one order passes through several stations.

Start with what the product actually requires

It is tempting to treat a BoM as a shopping list. For production, it has a broader job. A component’s quantity, unit and applicability to a product variant can affect whether the right material is available at the right step. Odoo’s BoM configuration allows components to be associated with variants and, where appropriate, with the operation that consumes them.

Imagine two versions of the same enclosure. They share a sheet metal body but have different mounting hardware. If both versions inherit one undifferentiated component list, the stock requirement may look plausible while the assembly bench receives the wrong fasteners. The more similar the versions look, the easier this is to miss.

Software does not settle the question of when a revised definition takes effect. Someone has to decide whether open orders remain on the old drawing, move to the new one or require a review. A revision identifier, effective point and approval responsibility should be clear before editing the live product definition. The suggested controls here are implementation choices, not a claim that Odoo resolves every engineering change automatically.

What changes when work orders are enabled?

The manufacturing order describes the output to be made. Its operations describe the route through the workshop. According to Odoo’s documentation, the Work Orders setting enables operations on the BoM; an operation names a work center and can include instructions and a planned duration. Work centers can then be used for scheduling, capacity and cost information.

For a single step process, one overall manufacturing status might be enough. In a cut, bend and assemble process, it hides the handoffs. If cutting is complete and bending is waiting, the entire order being marked “in progress” says little about the next decision. An operation record answers a narrower question: what is happening at this station, and what must happen before the next one can begin?

More detailed records are not inherently better. If no one records the start and finish of an operation, an apparently precise plan will drift away from the workshop. Begin with the few transitions that change decisions. Define who records a completion, whether partial quantities can move onward and what “done” means when inspection is still pending.

A drawing revision crosses several boundaries

Consider a hypothetical order for metal cabinet doors. The engineering team moves a hinge hole and changes a fastener. Some units are scheduled for cutting today; others were cut yesterday and are waiting for assembly. They share a product name on the board, but they may no longer be interchangeable.

First establish which orders the change applies to. Then check the revised BoM and operation instructions against the approved drawing. Are already cut parts compatible with the new assembly operation? If not, automatically pushing them to the next work center would turn a documentation issue into scrap or rework. A person needs to decide what to do with those units.

This is where the relationship between product definition and shop floor execution becomes visible. A BoM can express what new production should consume, while the open manufacturing orders still need explicit review. Publishing a revised BoM should not be mistaken for safely converting work already underway. The boring work of identifying affected orders protects the ability to explain later which version was actually built.

Scheduling is a model, not a promise

Once operations have durations and work centers have working hours, Odoo can show planned work by work center. That is useful for discussing load and sequencing. It does not prove that a particular job is ready to run. Material may be late, a drawing may lack approval, or a machine may be unavailable despite an open slot in the calendar.

A practical scheduling review reads three things together: component availability, the applicable product revision and the work center’s actual situation. Compare the scheduled operation with the most recent shop floor entry. If an operation has not started, ask why before simply pushing its planned time forward. Waiting for a measurement decision is different from waiting for capacity, even if both appear as a delay.

Planned operation duration deserves the same scrutiny. It can be a useful first approximation, but a short run with a long setup and a large repeat batch may behave differently. Record the estimate, compare it with actual work, and investigate the gap. Making every operator fit an arbitrary number only makes the dataset look tidier.

The earlier post on Odoo’s modular structure discussed which applications to install. This question comes after installation: how to make the product, operation and work center definitions mean the same thing to planning and to production. Enabling a module is not the same as agreeing on a process.

A manageable first implementation

Choose one product family with a stable route. Check its BoM against an approved drawing, including quantities and variant specific components. If the process needs work orders, enable them and define operations in the order they happen on the floor. Assign work centers with realistic working hours. Then follow a small number of manufacturing orders through the route and compare planned and actual consumption, operation completion and elapsed time.

Pay particular attention to exceptions. What happens to a partly completed order if the drawing changes? Who corrects a wrongly recorded completion? Does a replacement part require engineering approval? These answers should exist before the team relies on a dashboard to make delivery commitments.

MRP can connect materials, orders and operations in one system. Its useful result is not a perfect looking plan. It is a traceable explanation of what was intended, what the workshop did and where the two diverged.

Sources: Odoo 19 BoM documentation, Odoo 19 work center documentation, and Luke van Enkhuizen’s overview of open source software for metal fabricators. The workshop scenario is illustrative.