Odoo Manufacturing Module: BoMs, Work Orders and Subcontracting in One Flow

The Odoo manufacturing module connects production to sales, purchasing, and accounting on one database. This guide walks through how bills of materials, work orders, routings, subcontracting, and production costing work together, and where standard configuration reaches its limits.

📋 Key Takeaways

  • The Odoo manufacturing module handles single level BOMs, multi level BOMs, and kits. Multi level BOMs automatically trigger sub assembly production when parent stock is insufficient.
  • Work centres define where operations happen. Routings define the sequence. Work orders track floor execution with time and quantity per step.
  • Subcontracting is a formal inventory flow. Components leave your warehouse, finished goods return, and vendor cost adds to valuation.
  • Every production completion posts accounting entries automatically when perpetual valuation is enabled.
  • A shared database with Inventory, Purchase, Sales, and Accounting means production drives stock moves and financial entries without manual handoffs.

What the Odoo Manufacturing Module Does

  • Defines what to produce. Bills of Materials specify which raw materials and sub assemblies make up a finished product, with quantities per unit and optional variant rules.
  • Defines how to produce. Work centres are physical production locations. Routings define the operation sequence across those centres.
  • Tracks production execution. Manufacturing orders plan the production run. Work orders track execution with time, quantity, and quality results per step.
  • Manages subcontracting. Components sent to vendors for processing, finished goods returned, and stock visibility maintained throughout the external production cycle.
  • Calculates production cost. Raw material cost plus labour plus overhead equals finished goods valuation, posted automatically on production completion.
  • Connects to everything else. Manufacturers choosing Odoo get Inventory, Purchase, Sales, and Accounting sharing the same database, so no data exports or synchronisation delays between modules.

Bills of Materials: Single Level, Multi Level, and Kits

The bill of materials is the foundation of the Odoo manufacturing module. Every production run starts with a BOM that defines exactly what goes into a finished product. Three BOM types cover different production models.

  • Single level BOM. One finished product made from raw materials. Most common for straightforward manufacturing.
  • Multi level BOM. A finished product that contains sub assemblies, each with their own BOM. When a manufacturing order is created for the parent, Odoo checks sub assembly stock and creates manufacturing orders for them automatically if stock is insufficient.
  • Kit BOM. Not manufactured. A kit groups multiple items for sale or delivery without a production order. Components are picked directly from stock at delivery.

Work Centres, Routings, and Operations

The Odoo manufacturing module separates where production happens from how it is sequenced. Work centres are locations. Operations are steps. Routings combine operations into an ordered sequence for a specific BOM.

  • Work centres. Physical locations where operations happen. Each has a capacity and an hourly cost rate, for example a CNC machine, welding station, or packing area.
  • Operations. Individual production steps with a name, a default work centre, and an expected duration.
  • Routings. The ordered sequence of operations for a specific BOM. The sequence is enforced. An operation cannot start until the previous step is marked complete.

Manufacturing Orders and Work Orders

  • Manufacturing order. The plan to produce a set quantity of a product using a specific BOM. Shows required components, expected dates, and planned quantities. Created manually or triggered automatically by a sales order or reordering rule.
  • Work orders. Each operation in the routing becomes a work order. The shop floor operator sees what to do, at which work centre, with which components, and for how long. They start the timer, record quantities, and mark the step complete before moving on.
  • Tablet view. A shop floor interface designed for tablets lets operators manage their queue, start timers, record output, and mark steps complete without accessing the back office.
  • Barcode integration. Scanning components confirms consumption and scanning finished goods confirms production, reducing manual entry errors on the floor.

Subcontracting in the Odoo Manufacturing Module

Unlike platforms that record subcontracting as a simple expense, the Odoo manufacturing module tracks it as a formal inventory flow. This is a key reason why manufacturers doing the Tally vs Odoo for manufacturing comparison find subcontracting visibility to be the biggest operational difference.

  • Define a subcontracting BOM. Same structure as a regular BOM but with the manufacturing type set to Subcontracting and the vendor specified on the BOM.
  • Create a purchase order to the subcontractor. Odoo automatically creates a delivery order to send components from your warehouse to the subcontractor location.
  • Track components at the subcontractor. Stock moves to a virtual subcontractor location so you can see how many components are at which vendor at any point in time.
  • Receive finished goods. When the subcontractor completes processing, a receipt brings finished goods into your warehouse and simultaneously consumes components from the subcontractor location.
  • Cost flows automatically. The vendor processing cost from the purchase order adds to finished good valuation alongside raw material cost. No manual cost allocation required.

Backflushing and Material Consumption

The Odoo manufacturing module gives you control over how raw materials are consumed, with options from explicit confirmation to automatic backflushing.

  • Manual consumption. The operator confirms exactly which raw materials and quantities were used. Best for high value components or when actual consumption varies from BOM quantities.
  • Backflushing. When the manufacturing order is marked complete, Odoo automatically consumes raw materials based on BOM quantities. Best for standard production where actual consumption consistently matches the BOM.
  • Scrap tracking. Materials scrapped during production are recorded separately. Scrap moves inventory to a scrap location and posts a loss entry.

Quality Checks Tied to Production Steps

The Odoo manufacturing module integrates quality control directly into the production workflow. Quality checks are built into routing steps and can block progress until they pass.

  • Quality control points. Define inspection checks at specific routing steps such as weld strength after welding, surface finish after painting, or dimensional verification after assembly.
  • Production blocking. If a quality check fails, the work order is blocked from proceeding until the issue is resolved and the check is performed again.
  • Traceability. Quality results are linked to the manufacturing order, lot number, and operator for a full audit trail per batch.

Manufacturing Cost and Valuation

Cost flows automatically in the Odoo manufacturing module when perpetual valuation is active, updating stock value and the general ledger on every production completion.

  • Material cost. Sum of all consumed raw materials at their current valuation using standard cost, average cost, or FIFO depending on product category configuration.
  • Labour cost. Work centre time multiplied by the hourly rate. If a station costs 500 rupees per hour and a step takes 30 minutes, that step adds 250 rupees in labour.
  • Overhead. Set as a percentage of material cost, a fixed amount per order, or a rate per work centre hour.
  • Finished goods valuation. Material plus labour plus overhead equals the cost of the finished product, posted to the finished goods stock account on production completion.
💡 Completing the Odoo accounting configuration before go-live ensures production cost flows post to the right accounts from the first manufacturing order. Fixing account mappings after production begins requires corrective journal entries.

Connecting the Odoo Manufacturing Module to Inventory, Purchase, and Sales

The Odoo manufacturing module runs on the same database as all other Odoo applications, so there is no integration middleware and no synchronisation delay between modules.

  • Sales to manufacturing. A confirmed sales order for a make to order product automatically creates a manufacturing order. No manual handoff between the sales team and the production floor.
  • Manufacturing to inventory. When production is confirmed, raw materials are reserved from stock. When complete, finished goods are added with a full stock valuation history.
  • Manufacturing to purchase. If raw materials are insufficient for a manufacturing order, Odoo checks reordering rules and creates purchase orders automatically for the shortfall.
  • Manufacturing to accounting. Production completion posts material consumption, labour, overhead, and finished goods valuation entries to the general ledger in real time.

For manufacturers, the best ERP for inventory management is one where production and stock movements are a single system, not two systems talking to each other.


Where Standard Odoo Manufacturing Configuration Ends

The Odoo manufacturing module covers most discrete manufacturing scenarios. Some environments need additional work for scenarios outside standard MRP assumptions.

  • Advanced production scheduling. Odoo plans production but does not optimise schedules across work centres for minimum changeover time. Finite capacity planning requires third party tools or custom logic.
  • Batch process manufacturing. Standard MRP is designed for discrete manufacturing measured in units. Process manufacturing in batches measured by weight or volume with yield variance needs configuration adaptation.
  • Complex costing with variance analysis. Standard vs actual cost variance reporting beyond basic BOM cost comparison requires custom reports or BI integration for meaningful analysis.
  • Multi plant production planning. Coordinating production across multiple factories needs structured setup from an experienced Odoo consulting team.

Working through these requirements before launch prevents expensive rework. Engaging Odoo customization services at the design stage is more efficient than patching gaps after deployment.

Odoo Manufacturing

Need Odoo Manufacturing Configured for Your Production Floor?

Tatvamasi Labs configures the Odoo manufacturing module for textile, chemical, solar, and engineering manufacturers across India. BOMs, routings, subcontracting, and production costing set up end to end.

Talk to a Manufacturing ERP Expert

Frequently Asked Questions About the Odoo Manufacturing Module

The Odoo manufacturing module manages bills of materials, work orders, routings, subcontracting, quality checks, and production cost. It connects to Inventory, Purchase, Sales, and Accounting on the same database.
Yes. A finished product can include sub assemblies that each have their own bill of materials. When a manufacturing order is created for the parent, Odoo creates manufacturing orders for sub assemblies automatically if stock is insufficient.
Components are sent to the subcontractor via a delivery order. Finished goods are returned via a receipt. Component stock at the subcontractor location stays visible in Odoo throughout, and the vendor processing cost adds to finished good valuation automatically.
Yes. With perpetual valuation enabled, every production completion posts accounting entries automatically for material consumption, finished goods, and overhead.
A manufacturing order is the plan to produce a quantity of a product. Work orders are the individual execution steps within that plan, each assigned to a work centre and tracked by time and quantity.
Yes. Make to stock replenishes finished goods via reordering rules. Make to order triggers a manufacturing order automatically when a sales order is confirmed. Both modes use the same BOM and routing.
Create a multi level bill of materials and trigger production for the parent. Run a work order through routing steps. Execute a subcontracting cycle. Confirm accounting entries post on production completion. Verify a sales order triggers a manufacturing order automatically.