Skip to main content

Welcome to Ahex Technologies

Odoo Manufacturing · CTO · ETO

Dynamic BOM from Sales Order

Build fully custom Bills of Materials directly from a Sales Order line, with variant support, pre-filled components from your standard BOM, and a customer-ready quotation PDF, without ever leaving the sales flow.

Manufacturing

Bill of Materials

Configure to Order

Engineer to Order

Trusted Partners

Trusted by Fortune 500 companies & innovative startups

More Than 150+ Brands

years in the industry
16 +
Certified Developers
125 +
Awards
100 +
Success Rate
99 %
What Is a Dynamic BOM Generator in Odoo?

In standard Odoo, every Sales Order line must reference an existing product with an existing Bill of Materials. For businesses that manufacture standard, off-the-shelf products, that works fine. But for custom manufacturers, window fabricators, sheet metal shops, structural steel businesses, precision engineering firms, every order is different. The customer specifies dimensions, materials, finishes, and tolerances that rarely match anything already in the system.

The result is a workflow where every custom quote triggers an engineering interrupt: the salesperson stops, sends specs to the engineering or production team, and waits hours (sometimes days) for a new product and BOM to appear in the system before they can confirm the order. Competitors who respond faster win the business.

The Dynamic BOM from Sales Order module by Ahex Technologies solves this at the source. A Configure BOM button sits directly on the Sales Order line. The salesperson clicks it, a wizard opens with standard BOM components pre-filled, they adjust only what the customer changed, and when the order is confirmed a real mrp.bom record is automatically created in Odoo, immediately visible to manufacturing. The salesperson then prints a professional Custom BOM Quotation PDF and sends it to the customer. Total time: under 5 minutes.

The Problem in Numbers: Custom BOM Bottleneck

The time difference between the old workflow and this module is not marginal. For businesses handling 10–50 custom orders per week, this gap represents hours of lost productivity every single day.

Without This Plugin

2–5 hrs

Per custom order: stop sales, email engineering, wait for new product & BOM, return to SO, confirm.
 

With Dynamic BOM

< 5 min

Salesperson stays in SO, opens wizard, pre-filled components load, saves spec & prints quote. BOM auto-generates on confirmation.
StepOld Workflow (Without Plugin)New Workflow (With Plugin)
1Stop sales process, email engineering with specsAdd product to SO line. 30 seconds
2Engineer creates new product in Odoo (30–60 min)Click Configure BOM, wizard opens instantly
3Engineer builds BOM with correct components (1–3 hrs)Standard components pre-filled; modify only what changed, 1–2 min
4Salesperson notified, returns to SO, links product manuallySave the spec, real mrp.bom is created automatically upon order confirmation
5No standard custom quotation format, customer still waitingPrint Custom BOM Quotation PDF, share with customer in minutes
Total2–5 hours minimum per orderUnder 5 minutes per order
Key Features at a Glance

Pre-filled BOM Components

Wizard auto-loads your standard BOM lines when it opens. Salesperson only edits what the customer wants changed.

Component Variant Support

Select existing product variants or create new ones on the fly for your components inside the wizard.

Automatic BOM Generation

Confirming the sales order automatically creates a real mrp.bom record linked to the SO line. Manufacturing sees it immediately, no manual entry required.

Custom BOM Quotation PDF

A dedicated print template shows product name, any special requirements or notes, and the full component table.

Revise & Reprint in Minutes

Customer asks for changes? Click Configure BOM again, edit, save, reprint the updated quotation. Done in under 2 minutes.

Full SO Traceability

Every generated BOM is linked back to its origin Sales Order and line. Track any custom BOM straight back to the customer who requested it.

Manufacturing & MRP Ready

Generated BOMs are standard Odoo mrp.bom records, fully compatible with manufacturing orders, MRP scheduler, and procurement.

Zero Learning Curve

No new menus to navigate. The Configure BOM button lives on the SO line. Salespeople are productive from day one.

Who Needs a Dynamic BOM Generator in Odoo?

This module is built specifically for Configure-to-order (CTO) and Engineer-to-order (ETO) manufacturers where every customer order arrives with custom specifications. Here are the most common industries where the bottleneck this module solves shows up every single day

who need

1 of 10

Window & Door Manufacturers

Quoting custom dimensions, glass thickness, frame material, and finish to residential and commercial customers in real time.

who need

2 of 10

Steel Structure & Fabrication Shops

Where every frame, purlin, column, and gusset is sized to order and the component list changes with each project drawing

who need

3 of 10

RF Shielding & Enclosure Manufacturers

Building enclosures to specific frequency attenuation, material gauge, and dimensional specs per customer requirement.

who need

4 of 10

Precision Engineering Firms

Where every part is machined to drawing and the BOM lists specific raw material dimensions, heat treatment, and inspection requirements.

who need

5 of 10

Electrical Panel & Switchgear Assemblers

Who configure busbars, breakers, and enclosures to project-specific ratings and layouts.

who need

6 of 10

Custom Furniture Manufacturers

Building to room dimensions, wood species, finish, and hardware specifications with a wide raw material matrix.

who need

7 of 10

Automotive Component Suppliers

Producing parts to OEM drawings where material grade, tolerance, and surface treatment vary per customer and model.

who need

8 of 10

Architectural & Structural Product Companies

Manufacturing cladding, canopies, louvres, and façade elements to project specifications.

who need

9 of 10

Industrial Equipment & Machinery Builders

Who assemble machines to customer process requirements, with sub-assemblies that change based on output capacity or material type.

who need

10 of 10

Sheet Metal Fabrication Businesses

Cutting, bending, and assembling products to customer drawings where no two BOMs are identical.

In custom manufacturing, the biggest bottleneck isn’t the shop floor, it’s the gap between the customer’s request and a confirmed BOM in the system. Dynamic BOM from Sales Order closes that gap completely.

How to Use It: Step-by-Step

Create the Sales Order & Add Product

Create an SO as normal. In Order Lines, add the base product template (e.g. "Window Panel"). You don't need a specific variant, just the product family.

Click "Configure BOM"

The Configure BOM button (cog icon) appears on the SO line. Click it. A clean wizard opens as a popup with your standard BOM components already pre-filled.

Enter Customer Specifications

Add any special requirements or notes in the notes section. Modify only the components the customer wants changed. Add new lines or remove what doesn't apply.

Select or Create Component Variants

For your BOM components, select an existing variant or toggle "Create New Variant" to generate one on the fly, without navigating away from the wizard.

Save the BOM Specification

Click save to link the custom specification to the quote. When the Sales Order is confirmed, a real mrp.bom record is automatically created in Odoo.

Print the Custom BOM Quotation PDF

Go to Print → Custom BOM Quotation. A professional PDF downloads with the full spec block and component table. Share directly with the customer.

Customer Revises? Click Configure BOM Again

The wizard reopens with existing data loaded. Make the changes, save, reprint. The previous BOM is retained in Odoo for audit purposes; the SO line updates to the latest version.

What the Custom BOM Quotation PDF Contains

The printed quotation goes beyond a standard price list. It shows the customer exactly what will be built, giving them the confidence to approve faster and reducing back-and-forth revision cycles.

Header

Company logo, SO number, date, salesperson name, and full customer address, exactly as in the standard Odoo quote.

Specification Details

Per configured line: clearly displays any special requirements or free-text notes associated with the custom BOM.

BOM Component Table

Full component list showing component name, description, quantity, and unit of measure, exactly what goes into manufacturing.

Totals & Taxes

Subtotal, applicable taxes (GST, VAT etc.), and final total, fully integrated with Odoo's standard pricing and tax engine.

Standard SO lines without a custom BOM print exactly as they would in any normal Odoo quotation, the layout of existing lines is completely unchanged.


Pre-filled Components: The Intelligence Behind the Wizard

The most time-saving part of this plugin is the way the wizard populates itself. When the salesperson clicks Configure BOM, the system searches for a standard BOM where the product template matches the selected product and the BOM has not already been generated for a specific SO. All lines from that template BOM load automatically.

Generated BOM

=

Standard Template BOM

+

Customer Modifications

This means the salesperson is never starting from scratch. For a window panel with a standard set of 4–6 components, they may only need to change one quantity or swap one material grade. The rest stays exactly as-is. The wizard is designed around the principle that custom orders are mostly standard, with a few differences, and it reflects that reality.

Technical Specifications

Compatibility

Dependencies

Dropbox

Inventory

Dropbox

Sales

Dropbox

Discuss

Dropbox

Invoicing

Dropbox

Manufacturing

Installation

The wizard will auto-load this BOM every time a salesperson configures that product. One-time setup, unlimited use.

Why Choose This Over Building It Custom?

Replicating this functionality from scratch in Odoo MRP requires building a transient model wizard with dynamic component loading from an existing BOM, a variant selection mechanism at both template and component level, a BOM generation function that writes to mrp.bom and mrp.bom.line, a QWeb report template with conditional spec blocks, and a traceability link back to the originating SO line. For an experienced Odoo developer, that is typically 5–10 days of work including testing.

At $ 12.02 for a proven, tested, 718-line module that installs in minutes and is maintained by Ahex Technologies, the ROI calculation is immediate, even if the time saved is just one engineering-interrupt avoided in the first month of use.

The module is maintained by Ahex Technologies, an Odoo Apps publisher with a track record of clean, focused modules that solve real manufacturing and sales workflow problems without unnecessary complexity.

Case Study
Manufacturing (Kitchen appliances)

Digital Transformation of Isler India Limited with Odoo ERP

Read Full Case Study
Manufacturing

Digital Transformation of Sodahub Industrial Engineering with Odoo ERP Implementation

Read Full Case Study
Manufacturing

Digital Transformation of a UK-Based Engine Manufacturing Company with Odoo ERP

Read Full Case Study
Stop Losing Deals to Engineering Delays

Give your sales team the ability to configure, generate, and quote custom BOMs in under 5 minutes, directly from the Sales Order, without waiting for engineering.

Testimonials

What Our Clients Say About Us

BLOGS

Explore Our Blogs on Odoo Integration

Odoo ERP Implementation ROI
Ahex Technologies Expands Odoo 18 ERP Implementation Services for Indian SMBs

Hyderabad-based IT services company strengthens its Odoo practice to help small and mid-sized businesses migrate from legacy accounting tools to

odoo & shopify
How to Integrate Odoo with Shopify for Seamless Business Operations

Are you a retailer or have a running e-commerce business that uses Shopify and Odoo to manage your online sales

Odoo 20
Planning Your Next ERP Upgrade? Why Odoo 20 Deserves Your Attention

Odoo is one of the most popular and user-friendly ERP solutions. It has over 28 million active users. It was

Frequently Asked Question

Related to Implementation

No. A new BOM record is always created with the SO reference attached. The template BOM is never modified — it remains intact as the default starting point for the next order. You can run Configure BOM on 100 orders and the template never changes.

Yes. Each SO line has its own independent Configure BOM button and generates a completely separate custom BOM. A single sales order for 3 different custom window sizes will produce 3 distinct BOM records in Manufacturing.

The wizard opens with empty component lines and displays a yellow warning. The salesperson can add all components manually from scratch. Once saved, the generated BOM is still a fully valid Odoo mrp.bom record.

Each generated BOM is linked to a specific SO. For a repeat specification, the salesperson runs Configure BOM again — the standard template pre-fills, and they make the same modifications. Since only changed fields need touching, this is still a 1–2 minute exercise.

Yes. The module is fully compatible with both Odoo Community and Enterprise editions running version 19. It depends only on core modules available in both editions.

Any user with standard Sales and Manufacturing access can use the wizard. No additional permission groups or developer access is required.

Generated BOMs are standard mrp.bom records. When you run Manufacturing → Planning → Run MRP, custom BOMs are included in demand calculation exactly like any other BOM in the system. No special configuration is needed.

Explore our other applications

Minimum Order Quantity

Forem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vulputate libero et velit interdum, ac aliquet odio mattis. Class aptent taciti sociosqu ad litora

Know more ➞

Minimum Order Quantity

Forem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vulputate libero et velit interdum, ac aliquet odio mattis. Class aptent taciti sociosqu ad litora

Know more ➞

Minimum Order Quantity

Forem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vulputate libero et velit interdum, ac aliquet odio mattis. Class aptent taciti sociosqu ad litora

Know more ➞