All Insights
Manufacturing4 min read

Prove an Odoo BOM with one manufacturing trial

Test an Odoo BOM against known starting stock, units, component use and finished output. Includes a worked trial and a controlled consumption exception.

A fictional three-assembly trial consumes six of ten plates and twelve of twenty bolts, leaving four plates, eight bolts and three assemblies.
Original DATUM acceptance calculation. Assumes exact consumption, no scrap and complete production. Open full-size diagram

Validate an Odoo BOM by completing a manufacturing order with known starting stock, explicit units and an expected material result. Reviewing the component list is useful preparation. The trial establishes whether the configured order consumes and produces what the business intends.

Use a disposable test environment and fictional stock. This guide defines an acceptance exercise for Odoo 19.0; it does not report that your database has passed it.

Write the expected movement first

Consider an invented bracket assembly. One finished assembly requires two plates and four bolts. The test order is for three assemblies, so planned use is six plates and 12 bolts. Start with ten plates, 20 bolts and no finished assemblies.

Assuming exact consumption, no scrap and complete production, the expected ending quantities are four plates, eight bolts and three assemblies. The arithmetic is 10 − (3 × 2) = 4 plates and 20 − (3 × 4) = 8 bolts.

ItemStarting quantityExpected changeExpected ending quantity
Plate10 eachConsume 64 each
Bolt20 eachConsume 128 each
Assembly0 eachProduce 33 each

Keep the output basis explicit. A BOM defined for a batch of ten is different from a BOM defined for one. If purchasing uses packs while consumption uses individual units, include that conversion in the expected records. Use the BOM preparation worksheet to resolve those definitions before running the trial.

Test the configured order, not just the template

Odoo 19.0 BOM documentation describes component lines, operations and optional variant-specific application. It also documents Flexible Consumption choices: blocked, allowed and allowed with a warning. Confirm which behavior the business requires and record that setting with the test. Odoo 19.0 bill of materials.

Create the order for the intended product and variant. Record the BOM reference, output quantity and the component quantities proposed on the order. If operations are in scope, confirm the instructions and work centers that the operator receives before completing them.

Odoo's one-step manufacturing guide describes creating an order, selecting its BOM and processing the order or work orders through completion. Use the process appropriate to your configured operation; the presence of a draft order is not evidence that production was recorded. Odoo 19.0 one-step manufacturing.

After completion, compare the actual consumption, output and stock records with the expected table. Investigate a difference at the record where it arose rather than adjusting ending stock until the totals happen to agree.

Introduce one controlled exception

Repeat the trial with a proposed consumption of 13 bolts instead of 12. The expected response depends on the approved Flexible Consumption policy. If the policy requires a block, a warning alone does not meet that requirement. If variation is allowed, the team still needs an explanation of the recorded extra bolt.

Run a variant case if the BOM serves multiple variants. Check that a component intended for one variant is not silently used on another. For tracked material, add lot or serial evidence to the test so the quantity result remains connected to the actual recorded input.

Do not use the illustrative quantities as a production specification. The production owner must supply the real component needs, acceptable variance and completion conditions.

Save the BOM version or reference, starting stock, order, actual movements, output and exceptions together. Have a second person reconstruct the trial from those records. The BOM is ready for the tested use when that person can explain both the ordinary result and the approved exception behavior without relying on the demonstrator's memory.

How we research and review these articles