Most Odoo demos furniture manufacturers sit through are built around a generic product, a bolt, a chair frame reduced to three components, or a sample kit that has nothing to do with a wardrobe carrying twelve finish options and a fabric-covered seat. Furniture production has a specific shape: multi-level assemblies, a large number of variants driven by wood species, finish, and fabric, mixed make-to-order and make-to-stock runs, and material waste that has to be tracked as carefully as the finished product. This article lays out what an Odoo demo should actually walk through for furniture manufacturing, works through a realistic production example, and lists what standard Odoo handles well versus where you will need additional configuration or a third-party tool.
Why a Generic ERP Demo Falls Short for Furniture Production
A typical manufacturing demo builds a bill of materials with two or three raw materials and one work order, then calls it done. That structure does not resemble how furniture is actually built. A wardrobe is usually a frame sub-assembly, a set of door panels with their own hardware, drawer units, and a finishing pass, each with its own components and labor. A dining chair set might look simple on the surface but still involves a frame, a cushioned seat, and separate finishing and upholstery steps.
On top of that structural depth, furniture carries far more product variation than most demo scripts account for: wood species, stain or laminate finish, fabric choice, and dimensions can each multiply the number of sellable configurations from a single base design. A demo that never touches nested bills of materials, variant-specific components, or multiple work centers is not really showing you how the system will behave once your actual products are loaded into it.
What an Odoo Demo Should Actually Walk You Through
A demo that is useful for a furniture manufacturer should cover five things: multi-level bills of materials with real sub-assemblies, work center routing that reflects your actual shop floor, variant-driven BOMs, scrap and by-product handling, and quality checkpoints tied to specific operations. Ask to see each of these against a product you actually make, not a sample item the demo team picked.
Multi-Level Bills of Materials for Sub-Assemblies
In Odoo, a bill of materials lists the components and quantities needed to produce one unit of a finished or semi-finished item, and it supports multiple levels: a finished product’s BOM can call a semi-finished product that has its own separate BOM. For a wardrobe, that means the frame can be its own sub-assembly with its own components and labor, and the door panels can be another, with the finished wardrobe’s top-level BOM simply referencing both along with the hardware kit.
When you sit through a demo, ask the team to build a BOM with at least one nested sub-assembly using a product close to what you actually manufacture. A flat, single-level BOM tells you very little about how the system will hold up once real product structures are loaded in.
Work Centers and Routing for the Actual Production Path
A work center in Odoo represents a physical or logical production resource, a cutting saw, a CNC router, an edge-banding machine, an assembly bench, a spray booth, or an upholstery station, and each one can be configured with its own capacity, working hours, and cost. Routing defines the sequence of operations a product moves through, with each operation tied to a specific work center and a standard duration.
For furniture, this usually means at least four or five distinct stations: cutting, machining or shaping, assembly, finishing, and packing, with upholstery as an additional step for seating. If a demo shows a single generic “Assembly” operation and stops there, it is not reflecting how routing will actually behave once your shop floor is modeled in the system.
Product Variants and Configurable BOMs
Furniture is rarely sold as one fixed specification. The same dining chair design might be available in three wood species, four finishes, and six fabric options, and building a separate bill of materials for every combination is not practical. Odoo’s BOM structure supports product variants and configurations from a single parent BOM, meaning individual BOM lines can be marked to apply only to specific variants rather than duplicating the whole structure.
During the demo, ask specifically how a single parent BOM handles a component swap, say, changing the seat fabric, without creating a new BOM for every fabric option. This is one of the areas where a rushed demo tends to gloss over the actual mechanics.
Scrap, Offcuts, and By-Products
Cutting wood panels and boards to size generates offcuts, and in a material-intensive process like furniture manufacturing, that waste has a real cost impact. Odoo’s manufacturing orders can record by-products, a secondary output from the same production run, and scrap, material lost or rejected during production, both tied back to the work order where they occurred.
Ask the demo team to show scrap being entered from an actual work order screen and explain how that entry affects component consumption and product costing. A system that only shows a “mark as done” button without a scrap or waste entry point is going to leave a gap in your material cost reporting.
Quality Checkpoints Tied to Work Orders
Furniture quality checks typically cover surface finish, joint fit, dimensional tolerance, and stitching quality on upholstered pieces. Odoo’s Quality app can trigger checks automatically as part of the manufacturing workflow and organizes flagged issues through a kanban view of quality alerts, so a failed check does not just disappear into a form nobody looks at again.
Ask to see what happens when a quality check fails partway through a routing, whether the system raises an alert, blocks the next operation, or simply logs the failure for someone to notice later. That behavior matters more than the existence of a quality checklist screen.
A Worked Example: Demoing Production of a Wood-Frame Dining Chair
Consider a manufacturer producing a batch of 50 wood-frame dining chairs in a specific finish and fabric combination. The top-level bill of materials for the chair references two sub-assemblies, a wood frame (legs, stretchers, and backrest slats, held together with wood glue and dowels) and a cushioned seat (foam, a plywood base, and the selected upholstery fabric), along with a hardware kit and the chosen finish material.
Once a sales order or a stock replenishment rule triggers a manufacturing order for this quantity and variant, Odoo reserves the required components from inventory and generates work orders following the routing: cutting on the panel saw, shaping on the CNC router, frame assembly at the bench, finishing in the spray booth, upholstery at the sewing and fitting station, and finally packing. Offcuts from the cutting stage are logged as scrap against that work order. A quality check after the finishing stage confirms the surface meets the required standard before the chairs move to upholstery. Once packing is complete, the finished chairs enter stock and the manufacturing order closes out against the original sales order.
This is a hypothetical example built to illustrate how the pieces connect, not a documented customer implementation. Walking a demo team through a scenario like this, using your own product structure instead, is a far better test than watching a scripted, single-component demo.
Make-to-Order and Make-to-Stock in the Same System
Most furniture manufacturers run both models at once: standard chairs or tables held in stock for quick fulfillment, and custom wardrobes or dining sets built to order against specific customer dimensions and finishes. In Odoo, manufacturing orders can be created manually, triggered automatically by a confirmed sales order, or generated through reorder rules for stocked items, and the Master Production Schedule gives a combined view of both demand streams so you can see when a custom order is competing with standard replenishment for the same work centers.
If your production mixes these two models, ask the demo to show a custom, sales-order-triggered manufacturing order and a stock replenishment order scheduled against the same work center in the same view. That is where capacity conflicts actually show up, not in two separate, unrelated demo screens.
Questions to Ask During Your Odoo Demo
- Can you build a nested bill of materials with at least two sub-assembly levels using our actual product structure, not a sample item?
- How does a single parent BOM handle five finish or fabric variants without duplicating the entire BOM for each one?
- Where exactly does scrap or offcut get recorded, and how does that entry affect component cost and reporting?
- Can a quality check be configured to trigger automatically after a specific work center, and what happens when it fails?
- How does the system handle a rush, made-to-order piece alongside standard stock replenishment on the same work centers?
- What does the planning or Gantt view look like when a work center is overbooked?
- Is BOM version history available if we change a finish, fabric supplier, or hardware mid-year, and does that require the separate PLM app?
Where Standard Odoo Needs Extra Configuration
A fair demo should also be honest about what is not included out of the box. Panel-cutting or nesting optimization, arranging cut patterns on a sheet to minimize waste, is not part of core Odoo Manufacturing and typically needs a specialized third-party tool or integration if that level of optimization matters to your cost structure. Setting up tablets at individual work centers so operators can register production, scan lots, and log quality checks directly on the shop floor is supported, but it takes deliberate configuration rather than working automatically after installation.
Structured BOM version control, tracking exactly what changed when a finish or hardware supplier changes, is visible once the separate PLM app is installed alongside Manufacturing; it is not a default feature of the base Manufacturing app. None of this rules Odoo out for furniture production, but it does mean the implementation scope should account for these pieces rather than assuming they come free with the core system.
Common Mistakes When Evaluating an ERP Demo for Furniture
- Judging the system based on a demo built around a single-component product, like a bolt or a bracket, instead of a furniture item with real sub-assemblies.
- Not asking how variant-driven BOMs work, then discovering after go-live that every finish or fabric option needs its own duplicated BOM.
- Overlooking scrap and offcut tracking, which has a direct and often underestimated effect on material costing in panel-based production.
- Skipping the work center capacity and planning view during the demo, which leads to unrealistic production schedules once the system goes live.
Conclusion
An Odoo demo is only useful to a furniture manufacturer if it reflects how furniture is actually built: nested bills of materials, routing across several distinct work centers, variant-heavy product structures, and material waste that gets tracked rather than ignored. If a demo skips any of these and stays at the level of a single generic sample product, it has not really shown you how the system will handle your production. The most practical next step is to request a demo built around one of your own product structures, a chair, a cabinet, or a made-to-order piece, and walk through the exact bill of materials, routing, and variant setup you would actually use.
Frequently Asked Questions
Does Odoo support multi-level bills of materials for furniture with sub-assemblies?
Yes. A finished product’s bill of materials can reference a semi-finished product that has its own separate bill of materials, so a wardrobe’s frame and door panels can each be modeled as their own sub-assembly under the top-level product.
Can Odoo manage products with wood, finish, and fabric variants without duplicating the entire BOM?
Yes. BOM lines can be set to apply only to specific product variants, so a single parent BOM can account for finish or fabric differences instead of requiring a separate BOM for every combination.
How does Odoo track wood scrap or offcuts generated during panel cutting?
Scrap and by-products can be recorded against the manufacturing order and the specific work order where they occurred, which keeps material waste tied to the operation that produced it rather than lumped into a single end-of-run figure.
Does Odoo include panel-cutting or nesting optimization software?
No. Arranging cut patterns on a sheet to minimize waste is not part of core Odoo Manufacturing. Manufacturers who need that level of optimization typically pair Odoo with a specialized cutting or nesting tool through integration.
Can Odoo handle both custom, made-to-order furniture and standard, make-to-stock items in one system?
Yes. Manufacturing orders can be triggered manually, from a confirmed sales order for custom pieces, or through reorder rules for stocked items, with the Master Production Schedule giving a combined view of both demand types.
What is the difference between a work center and a routing in Odoo?
A work center is a specific production resource, a machine, workstation, or department. A routing is the sequence of operations a product travels through, with each operation assigned to a work center and a standard duration.
Do we need a separate app for BOM version control?
Structured BOM version tracking becomes visible once the separate PLM app is installed alongside Manufacturing. It is not a default part of the base Manufacturing app, so this should be scoped into the implementation if version history matters to your process.
