The evolution of modern enterprise resource planning has shifted from simple record-keeping to dynamic, real-time execution environments where the boundaries between the shop floor, project sites, and the general ledger are increasingly blurred. In Odoo, particularly within the 2025-26 manufacturing ecosystem and the refined service management modules, the concept of Work-in-Progress (WIP) serves as the primary mechanism for financial and operational synchronization.
Effective management of execution and WIP is not merely an accounting requirement for asset capitalization; it is a strategic tool that allows manufacturers and service providers to minimize waste, identify bottlenecks, and maintain accurate margin visibility in a volatile global market. The integration of manufacturing execution systems (MES), project management, and automated accounting creates a single source of truth that mitigates the risks associated with data silos and manual reconciliation.
Foundations of Manufacturing Execution Systems in Odoo
The Odoo Manufacturing (MRP) module is a centralized platform that integrates material requirements planning, product lifecycle management (PLM), quality control, and maintenance into a unified production environment. This integration ensures that the manufacturing process is not an isolated silo but a continuous flow from sales order to final delivery. The system utilizes multi-level Bills of Materials (BoM) to manage complex assemblies and sub-assemblies, providing planners with the granular control needed for finite-capacity scheduling and automated replenishment.
Strategic Integration of the Supply Chain Trifecta
Odoo's architecture relies on the "trifecta" of Manufacturing, Inventory, and Purchase applications to achieve full-trace material tracking. This inter-connectedness allows the system to generate manufacturing orders (MOs) automatically based on real-time demand signals, stock levels, and procurement lead times. For Small and Medium Enterprises (SMEs), this level of integration facilitates a "punching above their weight" capability, where resource allocation is optimized without the overhead of traditional enterprise systems.
| Feature Category | Functional Capabilities in Odoo Manufacturing | Business Benefit |
| Planning & Scheduling | Master Production Schedule (MPS), Gantt views, and finite capacity planning. | Reduction in idle time and optimized resource utilization. |
| Shop Floor Control | Tablet-based operator panel, IoT integration, and real-time feedback loops. | Elimination of paper-based processes and faster reaction to disruptions. |
| Traceability | Full lot and serial number genealogy from supplier to customer. | Regulatory compliance and simplified recall management. |
| Quality Management | Automated Quality Control Points (QCP) and CAPA workflows. | Consistent product standards and reduced scrap rates. |
| Asset Reliability | Preventive/Corrective maintenance integrated with Work Centers. | Higher machine availability and tracking of MTBF/MTTR. |
The capability to simulate production plans against actual resource loads and material costs before execution is a hallmark of the latest versions, allowing for proactive adjustments to shifts and work center assignments. This simulation capability extends to material availability, where replenishment proposals show exactly what needs to be manufactured, purchased, or subcontracted, eliminating the guesswork that often leads to stockouts or excessive WIP inventory.
Master Production Schedule and Planning Logic
The Master Production Schedule (MPS) serves as the engine for demand-driven production planning. It allows manufacturers to forecast demand over various time buckets—days, weeks, or months—and compare these forecasts against actual sales orders and current stock levels. The system then suggests manufacturing orders or purchase orders to maintain safety stock levels. This "Plan to Profit" approach is essential for identifying bottlenecks in the production line before they manifest as delayed deliveries.
Within the planning phase, Odoo utilizes a sophisticated lead-time calculation mechanism. This includes:
- Manufacturing Lead Time: The time required to produce the item.
- Purchase Lead Time: The time required for vendors to deliver raw materials.
- Security Lead Time: A buffer added to account for unexpected delays in the supply chain or production floor.
The synchronization of these lead times ensures that components arrive "Just-In-Time" (JIT), minimizing the value of raw materials sitting in the warehouse and reducing the overall WIP footprint.
Execution on the Shop Floor: The Functional Interface
The Shop Floor module, introduced in Odoo version 16.4 and refined in subsequent versions as a companion to the Manufacturing app, provides a visual interface optimized for tablets and touchscreens. It replaces the legacy "tablet view" with a more robust, Progressive Web App (PWA) architecture that allows operators to record production quantities, labor time, and material consumption with high precision.
Navigation and Operator Management
The Shop Floor interface is designed for high-intensity production environments. On the left side of the module, the operator panel displays all signed-in employees, allowing for rapid switching between workers and accurate tracking of who is performing which operation. This identification is critical for calculating the "Real Cost" of a manufacturing order, as the system can differentiate between the standard work center hourly rate and the specific labor rate of the assigned employee.
| Interface View | Primary Function | Data Priority |
| All Page | High-level dashboard showing all MOs ready to start or in progress. | Prioritized by Scheduled Date to ensure on-time delivery. |
| Work Center Pages | Specific queues for individual machines or stations (e.g., Assembly, Packaging). | Focus on operation sequence and work instructions. |
| My Page | Personalized view for the active operator showing their assigned tasks. | Maximizes individual throughput and accountability. |
When an operator selects a manufacturing order from the "All" page or a specific work center, the interface presents them with a clear set of instructions or "Work Order Information Cards". These cards contain the necessary steps, such as barcode scanning, quality checks, or taking photos for documentation, ensuring that standard work procedures are followed.
Real-Time Data Capture and IoT Integration
The execution phase is enhanced through the IoT app, which connects scales, printers, sensors, and barcode scanners directly to the Shop Floor interface. This allows for automated data capture, such as recording the exact weight of a component or automatically printing labels once a production step is marked as done. For example, in an electronics manufacturing scenario, unit-level traceability is achieved by scanning serial numbers at each work center, creating an audit trail that is invaluable for RMAs and service histories.
Furthermore, workers can initiate maintenance requests or flag quality issues directly from their tablets. This feedback system supports "Kaizen" or continuous improvement by allowing shop-floor teams to flag inefficiencies or suggest improvements. When a quality alert is raised, it can trigger a corrective and preventive action (CAPA) workflow, ensuring that the root cause of the issue is addressed and preventing future scrap or rework.
Accounting for Progress: The WIP Framework
Work-in-Progress (WIP) accounting in Odoo represents the capitalization of costs—materials, labor, and overhead—that have been committed to a production process but have not yet resulted in a finished good. Without a robust WIP framework, these costs would be recognized as immediate expenses, leading to skewed profit and loss (P&L) statements during long production cycles.
Automated Inventory Valuation and Costing Methods
The foundation of accurate WIP tracking is the configuration of Product Categories and the selection of appropriate costing methods. Odoo supports three primary costing methods, each interacting differently with the WIP accounts:
- Standard Price: The default costing method where the cost of the product is manually defined. Even if the actual purchase price of raw materials varies, the valuation uses the standard price, with the difference recorded as a variance.
- Average Cost (AVCO): A dynamic calculation that adjusts the product cost based on the weighted average of incoming purchase orders and completed manufacturing orders.
- First-In-First-Out (FIFO): Widely considered the most accurate method for many industries, it tracks the cost of specific lots. The oldest purchase price is used for the next consumption, which is critical for businesses sensitive to price fluctuations.
Automated inventory valuation is highly recommended for manufacturing as it creates journal entries in real-time whenever stock moves between locations. For instance, when raw materials are consumed for an MO, their value is transferred from the "Stock Valuation" account (Raw Materials) to the "WIP Account".
The Odoo 18/19 "Post WIP" Mechanism
In Odoo 18, a specific feature was introduced to simplify the posting of WIP accounting entries, particularly addressing the "blind spots" managers face when trying to determine the value of unfinished work mid-month. This allows accountants to recognize the value of work on the balance sheet at any point in time. By selecting one or more in-progress MOs and using the "Post WIP Accounting Entry" action, the system generates journal entries that reflect the current state of production.
| Account Involved | Entry Type | Logic |
| Work-in-Progress (WIP) Account | Debit | Captures the accumulation of material and labor as an asset. |
| Stock Valuation Account (Components) | Credit | Reflects the consumption of raw materials from inventory. |
| WIP Overhead Account | Credit | Accounts for work center expenses and indirect production costs. |
| Cost of Production / Wages Payable | Credit | Captures the labor cost based on actual time spent by employees. |
The total production cost is calculated based on real-world inputs:
TotalCost=CostofComponents+(RealDuration×(WorkCenterHourlyRate+EmployeeHourlyRate)).
This mechanism ensures that the balance sheet reflects the true value of the company's assets at each production stage, providing real-time financial statements without the need for manual year-end or month-end inventory counts.
Project WIP and Percentage of Completion in Service Industries
For service-based, construction, and custom engineering firms, execution is tracked through the Project app, where tasks and milestones represent the stages of production. Project WIP is managed by linking timesheets, expenses, and material consumption to specific analytic accounts.
Invoicing and Revenue Recognition Policies
Project-based WIP relies heavily on the "Invoicing Policy" configured for service products. Odoo differentiates between prepaid and post-paid services, which significantly impacts how WIP is reported on the financial dashboard:
- Prepaid / Fixed Price: Revenue is recognized upon the initial invoice, often before the work is completed. WIP in this context is the "Deferred Revenue" or the obligation to perform work already paid for.
- Based on Timesheets: Hours spent are tracked, and the value remains in the "To Invoice" state (representing WIP) until a customer invoice is generated.
- Based on Milestones: Revenue is recognized only when specific project deliverables are achieved.
In Odoo 19, the Project Profitability dashboard provides a granular breakdown of these states, categorizing amounts into "Expected," "To Invoice/To Bill," and "Invoiced/Billed" columns. For a record to appear on this dashboard, it must be linked both to the project and its corresponding analytic account.
The Percentage of Completion (POC) Method
In construction and engineering industries, the Percentage of Completion (POC) method is the standard for recognizing revenue over the life of a long-term contract. Odoo facilitates this through the integration of the Project and Accounting modules, where the progress is calculated based on costs incurred relative to the total estimated budget.
The mathematical foundation for POC revenue recognition is typically expressed as:
POC=TotalEstimatedCostsActualCostsIncurredtoDate×100.
EarnedRevenue=POC×TotalContractValue.
Using these metrics, Odoo helps project managers identify:
- Overbilling (Liability): The client has been billed more than the work earned.
- Underbilling (Asset): Unbilled WIP representing work completed but not yet invoiced.
- Gross Profit to Date: Earned revenue minus actual costs.
This level of detail ensures that financial planning and project management are aligned, preventing "budget surprises" where a project appears profitable in terms of cash flow but is actually losing money when costs are reconciled.
Advanced Configuration: Routing, Work Centers, and Overheads
The accuracy of WIP data depends heavily on the granular configuration of the production environment, specifically the Work Centers and Routings.
Work Center Parameters and Efficiency
A Work Center in Odoo is any location where an operation takes place. To ensure accurate costing, each work center must be defined with:
- Hourly Cost Rate: This should include both labor and machine overhead (e.g., electricity, depreciation, rent).
- Capacity: How many units can be processed simultaneously.
- OEE (Overall Equipment Effectiveness) Target: Used to adjust costing based on real-world performance metrics.
If a work center's cost is set to zero or an unrealistic rate, the resulting profitability reports will be misleading. For instance, if the wood shop's electricity and machine depreciation costs $60 per hour, failing to include this in the work center configuration results in an underestimation of the "Real Cost" of every table produced.
Overhead Allocation Strategies
Overheads are the indirect expenses not tied to a specific product but necessary for production, such as insurance, software subscriptions, and managerial salaries. Odoo 18 allows for the creation of "Smart Cost Centres"—virtual pockets within the business where these expenses can be assigned and managed.
Allocation can be automated via rules, for example:
- Assign 40% of monthly rent to the Production department.
- Distribute utility bills across departments based on headcount or square footage.
At the end of an accounting period, it is a best practice to adjust these estimated overheads to match actual expenditures. If the actual electricity bill is $1,500 but the system only estimated $800 based on work center hours, a $700 discrepancy exists. The accountant must settle this by crediting the undistributed overhead accounts and debiting the "WIP Overhead" or "COGS" account to reflect the economic reality.
Analytic Accounting and Distribution Models
Analytic accounting provides a multi-dimensional view of costs and revenues that transcends the traditional Chart of Accounts. By utilizing Analytic Plans, organizations can analyze performance by project, product range, or department. In Odoo 19, these plans can be hierarchical (parent-child relationships) and have specific "Applicability Rules".
For example, a "Marketing" analytic plan could be mandatory for any entry into the "Promotional Expenses" account. Analytic Distribution Models further automate this by splitting costs across accounts automatically—such as assigning 60% of a raw material bill to "Project A" and 40% to "Project B" based on the vendor or product category.
Management of Variances and Production Analysis
Manufacturing rarely goes exactly as planned. Material usage varies, labor hours fluctuate, and machines break down. Odoo provides a robust system for tracking these cost variances, which are the differences between the "MO Cost" (expected) and the "Real Cost" (actual).
Types of Production Variances
- Material Variances: Occurs when the quantity of components consumed differs from the BoM. If a worker uses 6kg of steel instead of the planned 5kg, the extra cost is captured as a material variance.
- Labor / Machine Variances: Arises when a work order takes longer or shorter than the "Default Duration" set in the routing.
- Overhead Variances: If the hourly cost of the specific employee performing the work is higher than the rate set on the work center, Odoo records this difference.
| Variance Category | Calculation Logic | Managerial Action |
| Usage Variance | (ActualQty−PlannedQty)×StandardCost. | Investigate scrap rates and material quality. |
| Time Variance | (ActualTime−PlannedTime)×HourlyRate. | Review work center efficiency and operator training. |
| Rate Variance | (ActualRate−StandardRate)×ActualTime. | Adjust work center costs or labor allocation strategies. |
The "Production Analysis" report allows supervisors to compare these statistics across different time periods or products. For example, a manager can use a pie chart to see the "Total Cost" of production for Q2 2024 compared to Q1 2024, identifying if rising material costs or labor inefficiencies are eroding margins.
Real-Life Implementation Cases and Functional Scenarios
The practical application of execution and WIP management is best illustrated through diverse industry cases where Odoo replaced fragmented legacy systems.
Case 1: Burr Oak Tool – Engineering to Order (ETO)
Burr Oak Tool, a 75-year-old manufacturer of high-value heat exchange machinery, migrated from Microsoft Dynamics AX to Odoo Enterprise. Their core challenge was tracking WIP for machines costing in excess of $1 million, built from numerous intermediate manufacturing orders.
- Functional Solution: The implementation team developed a WIP tracking enhancement that reported on the "actuals" for every specific component of the build.
- Accounting Impact: Management could see in real-time if operations were taking more time than forecasted or if material usage deviated from the expected quantities, allowing for proactive margin protection.
Case 2: Global PackTech – Standardizing the Supply Chain
Global PackTech, a packaging machinery manufacturer, transitioned from a "patchwork" of Pastel Accounting and Excel spreadsheets to Odoo.
- Functional Solution: Standardized end-to-end workflows from RFQ to invoice and from MPS to manufacturing execution.
- Measurable Gains: Real-time stock control eliminated stockouts and reduced emergency purchases by 40%. Digital routings and inline quality checks cut manufacturing lead times by 25%.
Case 3: Construction Project Management – Procurement Optimization
A construction project management firm struggled with fragmented procurement and manual PO tracking across spreadsheets.
- Functional Solution: Implementation of Odoo 18 Enterprise, integrating procurement, project costs, and payroll into a centralized platform.
- Measurable Gains: The firm saw a 30% reduction in administrative workload and 23% faster project delivery due to transparent supplier performance tracking and optimized resource allocation.
Case 4: Histotech Engineering – High-Volume Precision Execution
Histotech, a leading metal parts producer, faced data inconsistencies and inefficient workflows due to isolated department silos.
- Functional Solution: Transitioned to a cloud-based Odoo ERP, centralizing all operations and integrating accounting with production tracking.
- Measurable Gains: Enhanced decision-making capabilities meant that strategic planning, which previously took weeks, could be accomplished in just a few hours.
Advanced Manufacturing Workflows: Subcontracting and Unbuilds
In complex manufacturing environments, execution often extends beyond the company's own walls or requires the reversal of production steps.
Subcontracting and Resupply Logic
Odoo handles subcontracting by allowing businesses to send raw materials to a third party to produce a finished or semi-finished good. The system tracks:
- Resupply Subcontractor: Moving components from the main warehouse to the subcontractor's location.
- Subcontracting Valuation: The cost of the final product includes the value of the materials sent plus the service fee paid to the subcontractor.
- Dropshipping: Materials can be sent directly from a supplier to a subcontractor, minimizing internal handling costs.
Unbuild Orders and Scrapping
Sometimes it is necessary to dismantle manufactured products back into their components, perhaps because of overproduction or a need to reclaim rare parts.
- Functional Flow: Creating an "Unbuild Order" automatically decreases the on-hand quantity of the finished product and increases the quantities of the components.
- WIP Impact: Unbuilding reverts the valuation of the finished good back to its constituent parts.
- Scrap Management: Components that are unusable after dismantling should be moved to a scrap location using a "Scrap Order" to ensure inventory and WIP values remain accurate.
Troubleshooting, Reconciliation, and Financial Integrity
Maintaining the integrity of WIP and execution data requires a disciplined approach to system maintenance and periodic reconciliation.
Addressing the Backdating Problem
A persistent challenge in real-time ERP systems like Odoo is that accounting entries for stock moves are typically generated at the moment of validation. This creates difficulties when physical inventory counts or shipments are finalized days after they actually occurred.
- Best Practice: While Odoo 19 allows for changing the "Scheduled Date," the journal entry often follows the validation date. For late-entry adjustments, accountants should book a reversing journal entry as of the actual count date to accrue the P&L impact correctly.
- Automation: Third-party modules (e.g., Softhealer's backdate module) can allow authorized users to force the transaction date, ensuring that stock moves and journal entries reflect the actual physical event.
Inventory and WIP Reconciliation Pitfalls
Inventory must be reconciled monthly to ensure the balance sheet reflects economic reality. Discrepancies often arise from "phantom cash" or "phantom inventory," where the system data does not match the physical reality.
| Common Error | Root Cause | Preventive Action |
| Double Cost Booking | Including labor in both BoM and Work Center hourly rates. | Choose one method; never use both simultaneously. |
| Inaccurate COGS | Failing to account for Landed Costs (freight/customs). | Enable Landed Costs to allocate fees directly to stock items. |
| Backlog of Unpaid Bills | Misalignment between AP and cash planning. | Match all transactions to journal entries weekly via the reconciliation widget. |
| Stale MOs | Manufacturing Orders left "Open" indefinitely. | Regularly review and close MOs to prevent WIP distortion. |
For service projects, the reconciliation of "AP details" is crucial. If materials have been received but not yet invoiced by the supplier, failing to account for this liability in the WIP report creates a false sense of financial security.
Strategic Synthesis of Execution and WIP Best Practices
The transition to a sophisticated execution and WIP framework in Odoo represents a shift toward a "Kaizen" culture of continuous improvement. To maximize return on investment (ROI), organizations should adhere to the following best practices:
- Define Accurate Foundations Early: Before processing a single order, ensure that Work Centers have realistic hourly rates, BoMs are cleaned of redundant components, and Analytic Plans are structured to match the business model.
- Enable Automated Valuation: Manual inventory counts are prone to error and provide only a periodic view of the business. Automated valuation ensures that every production step updates financials instantly.
- Integrate Timesheets with Production: Labor is often the largest variable cost. Using the Shop Floor module or Project Timesheets to capture actual labor hours ensures that WIP assets and final product costs are accurate.
- Conduct Periodic Audits: Weekly bank reconciliations and monthly WIP audits (comparing system data to physical progress) prevent small errors from snowballing into significant financial discrepancies.
- Utilize Lean Principles: Adopt Just-In-Time replenishment and Takt time alignment to minimize the volume of WIP. High WIP levels tie up cash and hide inefficiencies like bottlenecks or high scrap rates.
- Invest in Training: The Shop Floor module and Analytic Distribution are powerful but require user discipline. Ensuring operators and accountants understand the "why" behind data entry is critical for long-term system health.
By leveraging the real-time cost recording and automated reporting of Odoo 18 and 19, manufacturers and service providers can move from "reactive firefighting" to "proactive growth". The ability to see exactly where every dollar is tied up in unfinished work allows for smarter pricing, better resource allocation, and a significantly stronger bottom line.
Want to know more?
Share your details and we'll be in touch.
Work in Progress (WIP) in Odoo