A dealer sends a request for a custom sectional: a non-standard width, a performance fabric from the customer’s own supplier, and a walnut base in a finish you offer on only two frames. Your rep needs a price by tomorrow.

Estimating needs two days. Production has questions nobody can answer yet.

If you make furniture to order, that is a normal week.

Made-to-order furniture is harder to quote than stock furniture for one reason: every order is partly unique. Custom options, custom sizes, shifting material costs, and build rules that live in a few people’s heads all land on the same quote.

Below are the seven challenges that make furniture quoting slow and risky, and a clear answer to each.

None of these is unique to furniture on its own. What makes them hard is facing all seven at once, on almost every order.

The 7 quoting challenges you deal with

1. Too many option combinations

One upholstered chair might come in five frame styles, forty fabrics across several grades, six leg finishes, and three seat depths. That is 3,600 versions of a single chair before you add arm styles, trim, or custom sizes.

You cannot pre-build every version as a fixed SKU, and even if you did, keeping them all current would be a second job.

2. Invalid combinations reaching the quote

Not every option works with every other one. A heavy stone top needs a reinforced base. A performance fabric may not suit a tight-back frame. Some stains only exist on certain woods.

These rules usually live in the heads of your most experienced staff. When a bad combination slips into a signed quote, it surfaces in production, and then comes the re-quote, the delay, and the awkward call to the dealer.

3. Custom dimensions that break the price list

Price lists assume standard sizes. When a designer asks for a dining table 14 inches longer, or a banquette built to a specific wall, there is no line to look up.

Someone prices it from material, labor, and waste, usually in a spreadsheet only one or two people fully understand. That makes those people a bottleneck, and it means two reps can quote the same piece at different numbers.

4. Material and fabric prices that keep moving

Hardwood, foam, steel, and textiles all move in cost, and fabric is priced in grades that shift when suppliers refresh their collections. COM and COL orders (customer’s own material or leather) add another layer, since yardage, handling, and approvals vary by material.

If your price list updates once or twice a year but costs move more often, margin erodes quietly on every quote built with old numbers.

5. Different prices for different channels

You likely sell through several channels at once: independent dealers, designers on trade pricing, direct retail, and contract or hospitality projects with negotiated rates.

The same product can carry four or five valid prices depending on who is buying. On a large project with dozens of lines, one wrong discount level can wipe out the margin on the whole order, and you often do not catch it until invoicing.

6. Turning the quote into a production spec

A quote is a commercial document. Production needs a technical one: the right components, cut sizes, fabric yardage, finish codes, and routing. In most shops, someone re-keys the quote into a work order or bill of materials by hand, interpreting notes like “extend 6 in, match sample.” Every re-keyed line is a chance for error, and the error usually shows up after the material is already cut.

7. Promising lead times on one-off work

Stock products have predictable lead times. A custom order depends on whether the specific wood, fabric, and hardware are available, how deep the finishing and upholstery queues are, and what else is on the floor.

Under pressure to close, reps quote a standard lead time and hope. When the date slips, dealers and designers remember it the next time they pick a manufacturer.

How to fix Custom Furniture Quoting Challenges with Odoo?

Standard Odoo handles made-to-order quoting, up to a point

Odoo connects Sales, Manufacturing, Inventory, and Purchasing on one database, so a quote, a manufacturing order, and a purchase order all reference the same product data.

It includes product variants, a product configurator, pricelists, make-to-order routes, and cost tracking. For a furniture maker with a moderate range of options, that already removes a lot of manual work.

The limits show up at scale.

Variants and exclusions get hard to maintain as option counts grow, and standard Odoo does not offer conditional rule logic or formula-based pricing for products priced by their dimensions.

Those gaps sit exactly where challenges 1 to 4 live. That is where a CPQ (configure, price, quote) layer inside Odoo earns its place.

Rule-based configuration stops invalid combinations at the quote

Define the product as components governed by compatibility rules, instead of thousands of pre-built variants.

In Odoo CPQ, a rep configuring a sofa only sees combinations the factory can actually build, so an unsupported fabric-and-frame pairing never reaches the customer.

One approach solves both the combination problem (challenge 1) and the invalid-quote problem (challenge 2).

Trearc Brands, a US commercial furniture manufacturer, cut quoting time by around 50% after moving to configured quoting on Odoo CPQ.

Read Full Success Story>>

Formula-based pricing handles custom dimensions

With parametric configuration. The rep or customer enters values like width, depth, or length, and pricing formulas calculate the price from those inputs.

The estimator spreadsheet goes away, and every rep produces the same price for the same spec (challenge 3).

Because the pricing logic lives in one place rather than across fixed variant prices, it is easier to review and update when material costs move (challenge 4).

Pricelists keep dealer, designer, and contract pricing straight

Use Odoo pricelists for channel-specific pricing (dealer discounts, designer trade rates, contract pricing), and let them work with the configured price from CPQ.

Each channel gets a consistent, correctly discounted quote without manual price overrides, so one wrong discount no longer sinks a project’s margin (challenge 5).

A confirmed quote generates the production BOM

When the quote is confirmed, Odoo CPQ generates the bill of materials for that exact configuration, including the dimension-driven inputs that flow through to components and operations.

Nobody re-keys the quote, and production builds what was sold (challenge 6).

Configuration-specific BOMs feed realistic lead times

Standard Odoo already supports make-to-order routes, manufacturing and customer lead times, and forecasted component availability.

When the configuration-specific BOM feeds that data, sales can quote a delivery date based on real material availability and planned lead times rather than a hopeful guess (challenge 7).

Custom Furniture Quoting with Standard Odoo vs Odoo CPQ

Quoting challengeStandard Odoo Quote CalculatorOdoo CPQ
Option combinationsVariants, product configuratorComponent-based configuration
Invalid combinationsBasic attribute exclusionsCross-component compatibility rules
Custom dimensionsFixed variant pricesParametric, formula-based pricing
Material pricingCost tracking, pricelistsPricing logic managed in one place
Channel pricingPricelistsConsistent configured prices per channel
Quote to productionBOMs, manufacturing ordersBOM generated per order
Lead timesMTO routes, lead times, availabilityConfiguration-specific BOM feeding planning

Frequently asked questions

Can standard Odoo handle made-to-order furniture quoting?

Standard Odoo works well for furniture makers with a moderate number of options, using product variants, the product configurator, and pricelists. It gets harder to manage as option counts grow, when products are priced by custom dimensions, or when complex compatibility rules are needed. That is where Odoo CPQ is typically added.

What is CPQ for furniture manufacturers?

CPQ (configure, price, quote) is software that lets a rep configure a furniture product from its components and options, price it automatically, and generate an accurate quote. For furniture, the value is handling large option sets, custom sizes, and build rules, then carrying the configuration through to the bill of materials.

How does formula-based pricing work for custom furniture?

The rep or customer enters values such as width, depth, or length, and a pricing formula calculates the price from those inputs. You maintain the pricing logic once, instead of a separate price for every size.

Does Odoo CPQ create the bill of materials automatically?

 Yes. When a configured quote is confirmed, Odoo CPQ generates a bill of materials for that specific configuration, so production receives the correct components without anyone re-keying the quote.

Want to see Made to Order Furniture Workflow in Odoo?