Home / Odoo Problems / Manufacturing
Odoo Manufacturing

Odoo BOM & Manufacturing Order Problems: Causes & Solutions

By Odoobots ERP TeamUpdated September 20267 min readApplies to Odoo 14–19, Community & Enterprise
TL;DR

Most Odoo manufacturing pain traces to two settings: the BoM Type (Kit vs Manufacture — they behave completely differently) and component availability (orders sit in Waiting because raw material stock is zero on paper). Fix the type, fix the component stock records, and half your "MRP problems" disappear.

First, confirm the symptom

  • Manufacturing orders stuck in Waiting / Confirmed and never Ready
  • Finished product stock never increases after production
  • Components not deducted — or deducted in absurd quantities
  • Product cost stays at zero (or an old number) no matter what you produce
  • You cannot create an MO for a product at all

1. Kit vs Manufacture — the BoM Type trap

A BoM set to Kit never creates stock of the parent product — components are deducted at delivery time, and you cannot run a manufacturing order for it. A BoM set to Manufacture this product requires MOs. Choose wrong and either "production does nothing" or "we can't make an MO".

Fix
  1. Open the BoM: Manufacturing → Products → Bills of Materials and check BoM Type.
  2. Rule of thumb: physically assembled in your factory and stocked as a finished product → Manufacture. Bundled only at dispatch (sell a set, stock the parts) → Kit.
Odoo Bill of Materials form showing BoM Type options Manufacture this product versus Kit, with a component list
The BoM form: that one radio button — Manufacture this product vs Kit — changes the entire stock behaviour of the product. It is the first thing we check in every MRP rescue.

2. MOs stuck in Waiting — component availability

An MO turns Ready only when component stock can be reserved. If raw material receipts are not validated (the classic inventory-not-updating problem), on-paper stock is zero and production queues forever — while the physical material sits in your store.

Fix
  1. On the stuck MO, click Check Availability and open the component lines to see what is short.
  2. Fix the record, not the symptom: validate pending purchase receipts, correct component stock with an adjustment, then re-check.
  3. Set Reordering Rules on critical raw materials so shortages trigger RFQs automatically.
Odoo Manufacturing Orders list showing Component Status column with Available in green and expected dates in red, and order states
Manufacturing → Operations: the Component Status column says it all — green "Available" orders can start; red "Exp ..." orders are waiting on material that is missing on paper (or in reality).
CarefulDo not train operators to force-consume or edit "Done" quantities to push orders through — it silently corrupts both stock and costing, and the mess compounds monthly.

3. Component UoM mismatch

Steel bought in kg, consumed in the BoM in units (or grams vs kg) multiplies consumption by absurd factors. One decimal in the wrong UoM category and a chair consumes 1,000 kg of steel on paper.

Fix
  1. Audit BoM lines against how each component is stocked: purchase UoM and BoM UoM must be in the same UoM category with sane ratios.
  2. Enable Units of Measure in Inventory Settings and define real conversions (kg ↔ g, m ↔ mm) once, centrally.

4. Variant BOM confusion

With product variants, a BoM on the template applies to every variant unless "Apply on Variants" narrows it. Result: the 3-seater sofa consumes the 1-seater's parts, or one variant simply cannot be produced.

Fix
  1. On each BoM, set Product Variant (or per-line "Apply on Variants") so lines match the actual build.
  2. Verify with BoM Overview per variant before releasing to production.

5. Costing never rolls up from the BOM

Product cost does not update itself from components in every setup — especially with Standard costing. Management then quotes from a cost that is months stale.

Fix
  1. Decide the costing method per product category (Inventory → Configuration → Product Categories): Standard, AVCO or FIFO — with your accountant.
  2. For Standard costing, use Compute Price from BoM on the product to roll component + operation costs up — and schedule it after every rate revision.
  3. Add work center cost per hour to operations so labour is inside the roll-up, not in someone's head.

6. Operations and work centers missing

BOMs with components but no operations make planning fiction: no durations, no work center load, no labour cost. Everything shows "on time" because nothing is being measured.

Fix
  1. Define work centers with real capacity and cost/hour, then add operations to each BoM with honest durations.
  2. Start simple — three or four operations per BoM. Refine after a month of real data.
Shop floor and system telling different stories?

We rebuild BOMs, routing and costing against how your factory actually works — Dhanalakshmi Industries runs sales-to-dispatch on our setup. Same-day diagnosis, written fix plan, no re-implementation unless truly needed.

Get an MRP diagnosis or WhatsApp +91 98414 81435

Frequently asked questions

Why can't I create a manufacturing order for my product?

Either the product has no active BoM, or its BoM is type Kit (cause #1). Kits are assembled at delivery, not manufactured.

Finished goods don't appear in stock after production — why?

The MO must be marked Done (not just work orders finished), and the finished product must be Storable. Check both, then check the destination location.

Does Odoo Community support manufacturing?

Yes — MRP with BOMs, MOs and work orders is in Community. Enterprise adds PLM, quality, maintenance and shop-floor tablets. We implement both.