Setting Up a Bill of Materials for a Make-to-Order Product

A make-to-order product is built when the order arrives. What that means for how its BOM is set up in Odoo.

A make-to-order product is one that is produced after a customer order is confirmed, rather than built ahead against a forecast. Setting up its bill of materials in Odoo is much like any BOM, with a few make-to-order considerations. This piece explains it.

What make-to-order changes

For a make-to-stock product, production runs to replenish stock against a forecast or a reordering rule. For a make-to-order product, the trigger is different: a confirmed sales order is what sets production going. The bill of materials itself, what the product is made of, is not fundamentally different. What matters is that the BOM is set up so that, when a sales order triggers production, the right manufacturing happens and the right components are required.

The BOM itself: build it accurately

The foundation is the same as for any product: the make-to-order product needs an accurate bill of materials listing the components it is made from, in the right quantities, and, if production is to be tracked by step, the operations. If the product is multi-level, the sub-assemblies and their BOMs are set up as for any multi-level product. A make-to-order product's BOM has to be accurate for the same reason any BOM does: it drives the production and the component requirements that the sales order will trigger.

The make-to-order configuration

The make-to-order behaviour itself is not in the BOM; it is in how the product is configured to be replenished. A make-to-order product is set up so that demand for it, in particular a sales order, triggers its replenishment, and for a manufactured product that replenishment is a manufacturing order. The BOM is what that triggered manufacturing order is built against. So the two pieces work together: the configuration makes the sales order trigger production, and the BOM defines what that production consists of.

Make-to-order down the BOM

A consideration specific to make-to-order is how far down the BOM the make-to-order trigger should reach. When a sales order triggers a manufacturing order for the finished product, Odoo explodes the BOM to find the components needed. For the components and sub-assemblies, the manufacturer decides how each should be supplied. A sub-assembly might itself be made to order, so the trigger cascades down and it is produced only when needed. Or components might be kept in stock against reordering rules, so they are on hand when a make-to-order finished product is built. Setting up a make-to-order product's BOM well includes deciding, for the items on it, which are themselves made or bought on demand and which are kept stocked. This decision shapes the lead time the customer experiences and the stock the manufacturer holds.

Make-to-order and per-order variation

Some make-to-order production is configured per order, the customer chooses options that affect what is built. If that is the case, the BOM setup connects to Odoo's variant and configurable-BOM capabilities, so the right components are produced for the chosen configuration. A make-to-order product that is the same every time needs only a standard BOM; one that varies per order needs the configurable approach.

The takeaway

Setting up a bill of materials for a make-to-order product in Odoo starts with an accurate BOM, the same foundation as any product. The make-to-order behaviour comes from configuring the product so a sales order triggers a manufacturing order built against that BOM. Set-up decisions specific to make-to-order are how far the on-demand trigger reaches down the BOM, and whether the product varies per order, which connects to configurable BOMs. For how we approach Odoo for manufacturers, see our manufacturing work.

All posts

Got a Topic Worth Posting?

Suggest a Topic

If a question keeps coming up in your operations, it might be worth its own post.