Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Manufacturing
  3. Block Manufacturing Order v 18.0
  4. Sales Conditions FAQ

Block Manufacturing Order

by Odoo DevHouse https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse
Odoo

$ 30.01

v 18.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Manufacturing (mrp)
• Inventory (stock)
• Discuss (mail)
Lines of code 27
Technical Name dh_block_mrp
LicenseOPL-1
Websitehttps://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse
Versions 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Manufacturing (mrp)
• Inventory (stock)
• Discuss (mail)
Lines of code 27
Technical Name dh_block_mrp
LicenseOPL-1
Websitehttps://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse
Versions 18.0 19.0
  • Description
  • License

Block Manufacturing Order

Prevent manufacturing order confirmation when components are not fully available. Get a precise error listing every missing component with required and available quantities.


Problem: Odoo Allows Confirming Manufacturing Orders with Missing Components

In standard Odoo, nothing stops a production manager from confirming a manufacturing order even when the required raw materials are not available in stock. The order moves to Confirmed or In Progress, the work centre is scheduled, and workers begin setup - only to discover mid-production that a key ingredient or component is missing.

  • Manufacturing orders confirmed with zero or partial component stock
  • Production halted mid-run when workers discover missing materials
  • Machine downtime and labour costs wasted on setup for orders that cannot proceed
  • No visibility into which components are short and by how much before confirmation
  • Inventory planners unaware of the shortfall until it is too late to reorder in time

Solution: Real-Time Component Availability Gate at Confirmation

This module intercepts the Confirm button on every manufacturing order and checks each component's on-hand quantity against the required quantity before allowing the order to proceed. If any component falls short, the system raises a clear User Error that lists every insufficient component by name alongside its required quantity and available quantity - so planners can act immediately. No components missing? Confirmation proceeds normally with zero friction.


Key Features
  • Confirmation Gate: Blocks the Confirm action if any component is below the required quantity
  • Full Component Report: All insufficient components listed in one error - not just the first one found
  • Required vs Available: Each blocked component shows its required quantity and its current on-hand quantity
  • UoM-Aware: Quantities are compared and displayed in the component's move unit of measure
  • Zero Configuration: Works out of the box on install - no settings, rules, or mapping required
  • Non-Intrusive: If all components are available, confirmation proceeds exactly as in standard Odoo
  • Multi-Order Safe: Works correctly when confirming multiple manufacturing orders at once
  • Lightweight: Pure Python override - no new database tables, menus, or views added

How It Works - Step by Step
1

Create a Manufacturing Order

Go to Manufacturing → Manufacturing Orders → New. Select the finished product, the Bill of Materials, and the quantity to produce. The Components tab is automatically populated from the BoM with the required quantities per component.

2

Click Confirm

Click the Confirm button. The module instantly checks every component line against the current on-hand quantity in stock, converting quantities to the correct unit of measure for an accurate comparison.

3

Blocked - Component Shortage Detected

If one or more components are insufficient, a User Error dialog is raised listing every short component with its Required Quantity and Available Quantity. The manufacturing order stays in Draft - no move is confirmed, no stock reserved.

4

Resolve the Shortage

Use the error details to take corrective action: receive a purchase order, trigger an internal transfer, adjust the manufactured quantity to match available stock, or wait for replenishment - the exact shortfall figures are in the error message.

5

Confirm Succeeds - Production Starts

Once all components are available, clicking Confirm passes the check and the order moves to Confirmed state exactly as in standard Odoo - stock moves are confirmed, the work centre is scheduled, and production can begin.


Screenshots

Manufacturing Order - Components Tab

The standard MRP form shows the components and quantities to consume. The module checks every line when Confirm is clicked.

Manufacturing order form with components listed before confirmation

User Error - Component Shortage Report

When components are insufficient the system raises a clear error listing every short component with its Required Quantity and Available Quantity.

User Error dialog showing component shortages with required and available quantities

Error Message Format

When one or more components are insufficient, the error dialog shows:

Cannot confirm manufacturing order. The following components are not available:

Component: Raw Material A
Required Quantity: 60.76
Available Quantity: 12.00

Component: Raw Material B
Required Quantity: 759.50
Available Quantity: 0.0

All short components appear in a single dialog - no need to click through multiple warnings to discover the full picture.


Use Cases

Discrete Manufacturing

Prevent assembly lines from starting when mechanical or electronic components are out of stock - avoid costly machine setup with no parts to process.

Food & Beverage

Block batch production orders when ingredients are short - critical for recipes where partial-batch production creates waste or compliance issues.

Pharmaceuticals

Ensure that every active ingredient and excipient is available before a production batch is confirmed - supporting GMP compliance and batch traceability.

Cosmetics & Chemicals

Prevent mixing orders from being confirmed when raw chemicals or packaging materials are below the minimum required batch quantity.

Print & Packaging

Block print runs when paper stock, ink, or packaging material quantities fall below what the job requires - avoiding partial or aborted print jobs.

Restaurants & Catering

Use manufacturing orders for recipe-based production and prevent production start when any ingredient is below the required amount for the batch.


Installation & Configuration

  1. Prerequisites: Requires Odoo 18 with the mrp module installed
  2. Install: Copy dh_block_mrp to your addons path and install via Apps → Update App List → Search "Block Manufacturing Order"
  3. No configuration needed: The component check is active immediately after installation - no settings to configure
  4. Test: Create a manufacturing order for a product whose components have insufficient on-hand stock, then click Confirm to see the error

Note: The check uses the product's current on-hand quantity (qty_available) at the time the Confirm button is clicked. It does not consider incoming purchase orders or scheduled receipts - only stock that is physically in the warehouse counts.


Frequently Asked Questions
Does the check use forecasted quantity or on-hand quantity?

On-hand quantity only. The check compares the component's qty_available (physical stock currently in the warehouse) against what the manufacturing order needs. Forecasted incoming quantities (from purchase orders or transfers) are not counted - only what is actually on the shelf right now.

What if a component is a consumable (service type product)?

Consumable (service-type) products in Odoo always have qty_available = 0 but are never really "out of stock" in the stockable sense. If your BoM uses such components, they will always appear as available = 0 and could trigger a false block. In that case, remove service-type components from BoMs or use storable products instead.

Can I still confirm if I want to override the check?

Not by default - that is by design. The module is intentionally strict to prevent incomplete production runs. If your workflow sometimes requires confirming with partial stock (e.g. for planning purposes), the check can be removed or made optional by a developer with a one-line change in the module.

Does it work when confirming multiple manufacturing orders at once?

Yes. When multiple orders are confirmed in batch (e.g. from the list view), each order is checked independently. If any order in the batch has a shortage, that specific order's error is raised. Note: because checks are per-order, two orders competing for the same component stock may each pass individually even though together they exceed available stock.

Does this module affect any other manufacturing workflow steps?

No. Only the Confirm action is intercepted. Drafting, scheduling, producing, backorders, scrap, and all other MRP actions behave exactly as in standard Odoo 18.


Business Benefits

Prevent Production Stoppages

Stop mid-production halts caused by missing components - the shortage is surfaced before any machine is set up or worker assigned.

Reduce Labour & Machine Waste

Avoid costly setup time spent preparing for a production run that cannot be completed - resources are only committed when all materials are confirmed in stock.

Instant Shortfall Visibility

The error message quantifies every gap precisely - planners know exactly how much more stock to source before retrying the order.

Protect Inventory Integrity

Only manufacturing orders that can actually be fulfilled reach the Confirmed state - keeping your production schedule realistic and your inventory data accurate.


Need Help or Have a Feature Request?

Contact Support


Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with